Tener archivos abriéndose en pestañas en GVim

2

Estoy teniendo problemas con gvim y pestañas. Usando Ubuntu, existe la gedit editor, que abre archivos en nuevas pestañas, pero gvim abre una nueva ventana para cada archivo que abro. Definitivamente prefiero tener pestañas, al igual que cualquier otra aplicación que use. Tener 5 ventanas de gvim abiertas simultáneamente me abruma.

Entonces, ¿hay alguna forma de editar .gvimrc para que abra nuevos archivos en nuevas pestañas en lugar de abrir una nueva ventana de gvim? Definitivamente prefiero una solución .gvimrc sobre una solución Nautilus.

Tarrasch
fuente

Respuestas:

2

Utilice la función cliente / servidor de vim / gvim.

gvim --remote-tab myfile

Esto funciona tanto para el terminal como para las versiones GUI de vim, siempre que estén compiladas ( vim --version ) con el +clientserver característica. (Opcionalmente agregue --servername foo para establecer el nombre de la instancia, que por defecto es GVIM.)

Desafortunadamente, no puedes hacer esto desde .vimrc. Tendrá que, ya sea:

  • escribe un guión envoltorio , por ejemplo, ~/bin/gvim:

    #!/bin/sh
    exec /usr/bin/gvim --remote-tab-silent "$@"
    

    ( --remote-tab-silent hará que un nuevo servidor se inicie de forma silenciosa si es necesario)

  • modificar el gvim.desktop archivo para incluir los comandos del servidor:

    $ mkdir -p ~/.local/share/applications
    $ cp {/usr,~/.local}/share/applications/gvim.desktop
    $ vim -e ~/.local/share/applications/gvim.desktop
    :/^Exec=/ s/gvim/& --remote-tab-silent/
    :wq
    $
    

El método de script de envoltura probablemente cubrirá más casos que la edición del archivo .desktop.

grawity
fuente
¡Gracias! Utilicé el método de script wrapper y funciona perfectamente! El uso de un script de envoltorio es más portátil, ya que puedo clonar mis archivos de puntos en cualquier lugar y gvim con pestañas simplemente funcionará.
Tarrasch
Para cualquier persona que tenga problemas con el gvim.desktop Método, intente usar esta línea ejecutiva: Exec=bash -c "gvim --remote-tab-silent %f || gvim". Esto hace que el icono del tablero todavía funcione. Además, si obtienes un cursor giratorio durante mucho tiempo después de abrir gvim, establece StartupNotify a true.
nkorth