2009-02-19 5 views
2

Je perds tous les tampons précédents quand, par erreur, j'essaie de passer derrière le dernier tampon [n:].vi, tampons vim débordés

Si par exemple j'ouvre deux fichiers dans l'éditeur

:ls 
    1 # "/etc/moduli"     line 1 
    2 %a "/etc/motd"     line 1 

:n 
E163: There is only one file to edit 

:p 
E163: There is only one file to edit 

now i can navigate between tabs just using :b [number] 

S'il vous plaît conseiller comment corriger ce comportement. Comment puis-je empêcher la fermeture des tampons dans ce cas?

Répondre

4

Je pense que vous confondez quelque chose là-bas. Un tampon est quelque chose comme un fichier ouvert. Lorsque vous passez au fichier suivant dans la liste d'arguments en utilisant : n vous fermez le tampon actuel et ouvrez le suivant, les modifications doivent donc être enregistrées ou supprimées à ce stade. De plus, le comportement par défaut de vim est d'afficher un message d'erreur si vous essayez d'aller au-delà du dernier fichier de votre liste d'arguments, donc perdre quelque chose n'est pas très facile dans vim.

Peut-être décrivez vos actions (touches enfoncées) pourrait aider ici, si cela ne répond pas à votre question.

[modifier]

Ok, maintenant je sais ce que le problème est le suivant: Il y a une différence entre un tampon et la liste des fichiers à modifier que vous fournissez lors du démarrage vim. Si vous démarrez vim avec

vim a.txt b.txt 

il y a 2 fichiers à modifier. Cela ne veut pas dire qu'il y a plusieurs tampons. Vous pouvez naviguer en utilisant: n et: p (ce qui signifie n (ext) fichier et p (revious) fichier). Si vous avez le drapeau global: ensemble caché, cela signifie que chaque tampon que vous fermez deviendra un tampon caché. Le fichier est toujours en cours de modification, mais il n'apparaît dans aucune fenêtre. Cette valeur est éventuellement définie au démarrage de vim dans votre système. Essayez d'ajouter : se nohidden à votre .vimrc et effectuez les opérations suivantes:

:help buffer-hidden 

[/ modifier]

2

: n et: p ne passe pas entre les tampons :)

essayer: bufnext et: bufprev

peut-être vous aimerez:

nmap <LEADER>k :bnext<CR>:redraw<CR> 
nmap <LEADER>j :bprevious<CR>:redraw<CR> 
nmap <LEADER>d :bd<CR> 
nnoremap <LEADER>b :buffers<CR>:buffer<space> 

Appuyez sur, j pour le tampon précédent, k pour le tampon suivant, d pour fermer le tampon courant et b pour lister vos tampons et en sélectionner un avec des touches numériques.

2
:bn 

affichera le n fichier ext dans votre tampon (dans votre cas "/ etc/moduli")

:bp 

affichera le p fichier récédent dans votre mémoire tampon (aussi "/etc/moduli » parce qu'il fait une permutation)

une chose que vous remarquerez est que le fichier que vous éditez est marqué par

%a 

alors que

# 

signifie qu'il est le dernier fichier affiché. J'espère que cela vous aide.

Questions connexes