Je suis nouveau à VIM. J'utilise les commandes :e
Et :w
Pour éditer et écrire un fichier très pratique. Je ne sais pas s'il existe une commande "close" pour fermer le fichier actuel sans quitter VIM?
Je sais que la commande :q
Peut être utilisée pour fermer un fichier, mais s'il s'agit du dernier fichier, VIM est également fermé; En fait, sous Mac OS, MacVIM s’arrête. Seule la fenêtre VIM est fermée et je pouvais utiliser Control-N pour ouvrir à nouveau un VIM vierge. Je voudrais que VIM reste ouvert avec un écran vide.
Cela supprime le tampon (qui se traduit par la fermeture du fichier)
:bd
Comme déjà mentionné, vous recherchez : bd, cependant cela ne supprime pas complètement le tampon, il est toujours accessible:
:e foo
:e bar
:buffers
1 #h "foo" line 1
2 %a "bar" line 1
Press ENTER or type command to continue
:bd 2
:buffers
1 %a "foo" line 1
Press ENTER or type command to continue
:b 2
2 bar
Vous voudrez peut-être plutôt : bw qui l’enlève complètement.
:bw 2
:b 2
E86: Buffer 2 does not exist
Ne sachant pas à propos de : bw m'a buggé pendant un bon moment.
Si vous avez plusieurs fenêtres scindées dans votre fenêtre vim, alors: bd ferme la fenêtre scindée du fichier en cours ... j'aime donc utiliser quelque chose d'un peu plus avancé:
map fc <Esc>:call CleanClose(1)
map fq <Esc>:call CleanClose(0)
function! CleanClose(tosave)
if (a:tosave == 1)
w!
endif
let todelbufNr = bufnr("%")
let newbufNr = bufnr("#")
if ((newbufNr != -1) && (newbufNr != todelbufNr) && buflisted(newbufNr))
exe "b".newbufNr
else
bnext
endif
if (bufnr("%") == todelbufNr)
new
endif
exe "bd".todelbufNr
endfunction
: [N] bd [elete] [!] *: Bd * *: bdel * *: bdelete * * E516 * : Bd [elete] [!] [N] Vider le tampon [ N] (par défaut: tampon actuel) et supprimez-le de la liste . Si la mémoire tampon a été modifiée, cela échoue, Sauf si [!] Est spécifié, auquel cas les modifications sont perdues. Le fichier n'est pas affecté. Toutes les fenêtres de ce tampon sont Fermées. Si le tampon [N] est le tampon actuel, un autre tampon Sera affiché à la place. Il s'agit de l'entrée la plus récente dans La liste de sauts qui pointe vers un tampon chargé. En fait, le tampon n'est pas complètement supprimé, il est supprimé De la liste des tampons | unlisted-buffer | et les valeurs d’option, les variables et les mappages/abréviations de la mémoire tampon sont effacés .
Si vous avez déjà enregistré le dernier fichier, alors: enew est votre ami (: enew! Si vous ne voulez pas enregistrer le dernier fichier). Notez que le fichier original sera toujours dans votre liste de tampons (celui accessible via: ls).
Si vous modifiez un fichier et souhaitez le fermer sans quitter VIM et sans enregistrer, vous devez taper :bd!
: bd peut être mappé. Je mappe à F4, shift-F4 si j'ai besoin de forcer la fermeture à cause d'un changement que je ne veux plus.
Il existe un plugin pour cela: bufkill (voir http://www.vim.org/scripts/script.php?script_id=1147 )
Ceci ajoute BD
etc pour supprimer le tampon sans fermer aucun des groupes (comme le ferait bd
).
J'ai mappé bd à F4 avec insérer ce qui suit dans votre fichier .vimrc et en appuyant sur F4, le fichier en cours sera fermé.
:map <F4> :bd<CR>
Regardez le plugin Butane pour conserver la disposition de la fenêtre lors de la fermeture d'un tampon.