Pregunta

Estoy usando Vim para Windows instalado en modo Unix. Gracias a este sitio, ahora uso el comando gf para ir a un archivo debajo del cursor.

Estoy buscando un comando para:

  1. volver al archivo anterior (similar a Ctrl + T para ctags), o
  2. reasignar gf para iniciar automáticamente el nuevo archivo en una nueva ventana.
¿Fue útil?

Solución

Yo uso Ctrl-O

Otros consejos

Con frecuencia uso Ctrl - 6 para esto.

Es útil porque me permite saltar rápidamente entre los dos archivos.

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 buffers.

Use gf para descender a un archivo y use: bf para volver

Simplemente use : e # seguido de Enter , que básicamente dice que edite el último archivo (el más reciente).

Ctrl-Shift-6 es uno.

: e # & # 8626; es otro.

No sé la respuesta a la parte 2 de tu pregunta, pero puedo ayudarte con la parte 1. Usa

:e#

Vim mantiene una lista de archivos (buffers) 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 cambiar fácilmente entre los archivos actuales y alternativos. Asigno el comando a F2 agregando esto a .vimrc

nmap `<F2> :e#<CR>`

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 integradas.

Cuando abre un archivo nuevo (con gf o : n u otro comando), el archivo antiguo permanece en una lista de búferes. 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 buffers con Alt + flecha izquierda o Alt + flecha derecha.

La documentación completa sobre las asignaciones está aquí:

:help map.txt

No he visto tu comando gf pero imagino que usa el comando : e o : buscar .
Suponiendo que esto es correcto, simplemente reemplace : 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.

por ejemplo

"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> 

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top