Solía usar una combinación de pestañas y múltiples instancias de gvim, manteniendo grupos de archivos relacionados como pestañas en cada instancia. Siempre que no termine con demasiadas pestañas en una instancia, la barra de pestañas le muestra el nombre de cada archivo que está editando de un vistazo.
Luego leí una publicación de Jamis Buck sobre cómo cambió de TextMate a vim y aprendí algunos trucos geniales:
- Ctrl-w sy Ctrl-w v para dividir la ventana actual
- Ctrl-6 para alternar entre dos búferes en la misma ventana.
- el increíble fuzzyfinder.vim que le brinda autocompletar la búsqueda de archivos en su directorio actual o de búferes que actualmente tiene abiertos
- Los propios fuzzy_file_finder y fuzzyfinder_textmate de Jamis , que modifican ligeramente cómo funciona fuzzyfinder para comportarse más como una característica similar en TextMate (por lo que puedo decir, la diferencia es que coincide en cualquier lugar del nombre del archivo en lugar de solo desde el principio). Mire este video para verlo en acción.
Ahora solo tengo una instancia de gvim, maximizada, y la divido en varias ventanas para poder ver varios archivos a la vez. Vinculé Ctrl-F a fuzzyfinder_textmate, así que ahora si escribo (digamos) Ctrl-F, mod/usob
se abre app / models / user_observer.rb. Ya casi nunca me molesto con las pestañas.
Actualización 07/08/2010
Si bien fuzzyfinder_textmate sigue siendo increíble, como señala Casey en los comentarios, ya no se mantiene. Además, (y / o fuzzyfinder.vim) se vuelve un poco lento e inestable cuando se trabaja con proyectos grandes (muchos directorios o archivos), así que he estado buscando una alternativa.
Afortunadamente, parece que hay una muy buena alternativa en forma de Wincent Colaiuta 's Comando-T plug-in . Esto tiene un comportamiento muy similar (si no un poco mejor) a fuzzyfinder_textmate, pero es notablemente más rápido; también tiene características interesantes como poder abrir el archivo encontrado en una división o división vertical. Gracias (¡y votos a favor!) A David Rivers por señalarlo.
Yo uso lo básico - '
:ls
' + ':bn
' / ':bp
' + ':b <part-of-name>
'fuente
:map <c-n> :bn<cr>
y:map <c-p> :bp<cr>
, ya queC-n
yC-p
son rápidos de escribir y permiten alternar entre búferes si los presiona repetidamente. (Nunca los utilicé para su propósito original.) Es como un ciclo entre las pestañas del navegador conC-PgUp
yC-PgDn
o lo que sea de acceso directo a su navegador tiene.[b
para el búfer anterior y]b
para el siguiente. Además de muchas otras ventajas que utilizan el concepto de]
para el siguiente y[
para el anterior.Me gusta "ctrl-w s" y "ctlr-w v" para dividir la ventana. Luego mapeo las teclas de movimiento (h, j, k, l) con ctrl presionado para moverme entre las ventanas divididas:
Tener que mover mi mano hacia las teclas de flecha es molesto.
A continuación, configuré ctlr-tab para cambiar entre búferes en la ventana actual (como muchos otros entornos):
Estos han funcionado bastante bien para mí durante los últimos años, aunque vim siempre tiene más secretos de los que puedes saber.
fuente
:bp
y <SK> a:bn
y nadie mencionó el buen complemento ctrlp.vim . Con este complemento puede buscar búfer por nombre.
fuente
yo suelo
CTRL- Jpara el siguiente búfer
CTRL- Kpara búfer anterior
CTRL- Lpara la siguiente pestaña
CTRL- Hpara pestaña anterior
Aquí está la
.vimrc
configuración:Ver http://syskall.com/my-biggest-vim-productivity-boost/
fuente
fuente
:tab sball
primero, o en lugar de usar:tabn
debe usar:buffer
Recientemente me he vuelto más minimalista.
Para ciclar los búferes que utilizo ]by [bde los que no están afectados: https://github.com/tpope/vim-unimpaired
Para saltar directamente a un búfer abierto, simplemente use la función de completar la pestaña de Vim con :b. Unas pocas letras son suficientes para llegar a cualquier búfer abierto con una pestaña o dos.
De manera similar a los búferes abiertos que uso :econ rutas relativas y pestaña completa.
También utilizo :lsocasionalmente para ver qué búferes tengo abiertos (y para verificar su estado modificado).
Para deshacerme de un búfer, utilizo :bwpara limpiar el búfer. Normalmente hago una división temporal y cambio los búferes para conservar mi diseño, ya que :bwtambién cierra la ventana activa.
Todas las cosas de minibuf que probé simplemente terminaron molestándome, y no quiero que algo de coincidencia inteligente abra archivos aleatorios para mí. Si realmente necesito buscar algo, uso NERDtree ( :e .).
IDK, últimamente también dejé caer Yankring (porque se estropea xp) y comencé a usar registros, y recientemente decidí que los movimientos f/ tson lo mejor que existe ...
fuente
<leader>ll
a:ls
. También es muy útil para asegurarse de que usted tieneset wildmenu
en su.vimrc
como entonces se obtiene un pequeño menú que aparece con todas las alternativas para:b
El excelente Buffer Explorer , ha llegado a tener una memoria muscular tan fuerte que me encuentro deseando poder usarlo en otras aplicaciones. Lo encuentro extremadamente rápido cuando edito activamente más de dos archivos.
fuente
Pasé bastante tiempo construyendo mi .vimrc para trabajar con este proyecto HTML :: Mason en el que he estado durante cuatro años, así que tengo una extraña combinación de pestañas y ventanas divididas. Para su disfrute visual:
fuente
Yo uso tselectbuffer . Es realmente rápido y, a diferencia de bufexplorer, no ocupa espacio en tu ventana. También tiene una búsqueda incremental. Probé con minibufexplorer y encontré un poco difícil la navegación en el búfer.
fuente
,be
,,bs
,,bv
, por lo que Me asignan a TSelectBuffer,bb
.Para enumerar y cambiar entre búferes que uso:
Para cambiar entre búferes:
fuente
He mapeado
<S-J>
y<S-K>
a:bp
y:bn
, aunque admito que no lo uso ya que la cantidad de archivos es mayor a 10. Luego he mapeado<C-J>
y<C-K>
a las pestañas anterior y siguiente de Gnome Terminal, y normalmente ejecuto 4 instancias de vim para cada una de los 4 proyectos diferentes en los que trabajo. Todavía deseo que el búfer anterior y el siguiente vayan al historial de búferes en los que he estado trabajando, y no al orden en la lista de búferes.fuente
Yo uso tselectbuffer. Es realmente rápido y, a diferencia de bufexplorer, no ocupa espacio en tu ventana. También tiene una búsqueda incremental. Probé con minibufexplorer y encontré un poco difícil la navegación en el búfer.
fuente
Yo uso simple: vsplit con ^ W + w / ^ W + r y: tabnew con combinaciones de teclas Ctrl + Alt + PgUp / PgDown.
fuente
Cuando hay varios búferes abiertos en una sesión de Vim, puede resultar difícil realizar un seguimiento de los búferes y sus respectivos números de búfer. Si este es el caso, cambiar a un archivo diferente puede ser más fácil usando un mapa simple:
vim.wikia.com
fuente