reemplazar - vim tutorial
¿Cómo regresas de ''gf'' en Vim? (11)
Estoy usando Vim para Windows instalado en modo Unix. Gracias a este sitio ahora uso el comando gf
para ir a un archivo bajo el cursor.
Estoy buscando un comando para:
- regresar al archivo anterior (similar a Ctrl + T para ctags), o
- reasignar
gf
para iniciar automáticamente el nuevo archivo en una nueva ventana.
Ctrl-Shift-6 es uno.
:e#↲
es otro.
Cuando abre un archivo nuevo (con gf o : n u otro comando), el archivo anterior permanece en una lista de almacenamiento intermedio. Puede listar archivos abiertos con : ls
Si desea navegar fácilmente entre buffers en vim, puede crear una asignación como esta:
nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>
Ahora puede cambiar entre búferes con Alt + flecha izquierda o Alt + flecha derecha.
La documentación completa sobre asignaciones está aquí:
:help map.txt
Es posible que desee utilizar CTRL-W gf
para abrir el archivo en una nueva pestaña.
Puede cerrar el archivo recién abierto como siempre con :bd
, o usar CTRL-6
y otras formas habituales de cambiar los búferes.
Frecuentemente uso Ctrl - 6 para esto.
Es útil porque me permite saltar rápidamente entre los dos archivos.
No he visto tu comando gf, pero me imagino que usa el comando : eo : find .
Asumiendo que esto es correcto, simplemente reemplace el : e o : find con : new (o : vnew para una división vertical) y el archivo se abrirá en una nueva ventana en lugar de la misma.
p.ej
"Switch between header and cpp nmap ,s :find %:t:r.cpp<CR> nmap ,S :new %:t:r.cpp<CR> nmap ,h :find %:t:r.h<CR> nmap ,H :new %:t:r.h<CR> nmap ,F :new =expand("<cfile>:t")<CR><CR> nmap ,d :new =expand("<cfile>")<CR><CR>
No sé la respuesta a la parte 2 de su pregunta, pero puedo ayudar con la parte 1. Uso
:e#
Vim mantiene una lista de archivos (búferes) que está editando. Si escribe
:buffers
enumerará todos los archivos que está editando actualmente. El archivo en esa lista con un% al lado es el archivo actual. El que tiene el # al lado es el archivo alternativo. : e # cambiará entre el archivo actual y el alternativo. En lugar de escribir tanto, asigno F2 a: e # para poder pasar fácilmente de un archivo actual a uno alternativo. Asigné el comando a F2 agregando esto a .vimrc
nmap `<F2> :e#<CR>`
Simplemente use :e#
seguido de Enter , que básicamente dice editar el último archivo (el más reciente).
Tengo CTRL-W f para trabajar.
Es bastante deprimente que haya pasado tanto tiempo perfeccionando mapas para estos comandos solo para descubrir que hay versiones incorporadas.
Usa gf para bajar a un archivo y usa: bf para volver
Yo uso Ctrl - O