tutorial mac help comandos vim

mac - vim pdf



Cerrar el archivo sin salir de la aplicaciĆ³n VIM? (11)

: bd se puede mapear. Lo mapeo a F4, shift-F4 si necesito un cierre forzado debido a algún cambio que ya no quiero.

Soy nuevo en VIM. Utilizo los comandos :e y :w para editar y escribir un archivo que son muy convenientes. ¿No estoy seguro de si hay un comando "cerrar" para cerrar el archivo actual sin dejar VIM?

Sé que el comando :q se puede usar para cerrar un archivo, pero si es el último archivo, VIM también se cierra; En realidad, en Mac OS, MacVIM se cierra. Solo la ventana de VIM está cerrada y podría usar Control-N para abrir un VIM en blanco nuevamente. Me gustaría que VIM permanezca abierto con una pantalla en blanco.


Como ya se mencionó, está buscando : bd , sin embargo, esto no elimina completamente el búfer, todavía está accesible:

: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

En su lugar, puede desear : bw que lo elimina por completo.

:bw 2 :b 2 E86: Buffer 2 does not exist

Sin saber acerca de : bw me molestó durante bastante tiempo.


Esto elimina el búfer (que se traduce para cerrar el archivo)

:bd



He asignado bd a F4 con insertar lo siguiente en su archivo .vimrc y al presionar F4, se cerrará el archivo actual.

:map <F4> :bd<CR>



Si modifica un archivo y desea cerrarlo sin salir de VIM y sin guardar, debe escribir :bd!


Si tiene varias ventanas divididas en su ventana vim, entonces: bd cierra la ventana dividida del archivo actual ... así que me gusta usar algo un poco más avanzado:

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


Si ya ha guardado el último archivo, entonces: enew es su amigo (: ¡enew! Si no quiere guardar el último archivo). Tenga en cuenta que el archivo original todavía estará en su lista de búferes (el que se puede acceder a través de: ls).


Tengo el mismo problema, así que hice el plugin. Este complemento reemplaza: qy otros comandos y luego evita que la ventana se cierre.

Si todavía tiene algún problema, intente utilizar el siguiente complemento. https://github.com/taka-vagyok/prevent-win-closed.vim


:[N]bd[elete][!] *:bd* *:bdel* *:bdelete* *E516* :bd[elete][!] [N] Unload buffer [N] (default: current buffer) and delete it from the buffer list. If the buffer was changed, this fails, unless when [!] is specified, in which case changes are lost. The file remains unaffected. Any windows for this buffer are closed. If buffer [N] is the current buffer, another buffer will be displayed instead. This is the most recent entry in the jump list that points into a loaded buffer. Actually, the buffer isn''t completely deleted, it is removed from the buffer list |unlisted-buffer| and option values, variables and mappings/abbreviations for the buffer are cleared.