Marca de archivo persistente en vim

0

Me gustaría 'V(casi) siempre abierto $MYVIMRC. Por ejemplo, si lo hago mV, me gustaría que volviera cuando inicie una nueva instancia de Vim. ¿Cómo haría para establecer esta marca en el $MYVIMRCarchivo?

Por extraño que parezca, añadiendo normal mVa MYVIMRCestablece una marca en ~/.viminfoal 1 0. oO

kzh
fuente

Respuestas:

1

No creo que pueda establecer una marca en un archivo específico a través de .vimrc, sin embargo, puede asignar un comando a `` V` para que abra su $ MYVIMRC (aunque no retendrá la línea específica)

:nnoremap `V :e $MYVIMRC<CR>

Por supuesto, también puede elegir otra secuencia de teclas para no anular el comportamiento normal de `` V ''.

Matteo Riva
fuente
Convenido. No creo que las marcas sean la solución correcta para esto. Vea :h last-position-jumpuna manera de restaurar la posición del cursor al abrir archivos.
Etan Reisner
@EtanReisner Ya tengo `` " `` in $ MYVIMRC` para abrir la última posición al restaurar un archivo.
kzh
¿Eso funciona? Tenía la impresión de que era demasiado pronto para ser de alguna utilidad (los búferes aún no se han cargado) y eso solo ocurre una vez, mientras que el autocmd de último salto de posición ocurre en cada archivo abierto.
Etan Reisner
@EtanReisner lo que tengo es lo mismo en:help last-position-jump
kzh
También:help restore-cursor
kzh
0

La siguiente es la mejor respuesta que se me ocurrió. Me complacería aceptar cualquier respuesta que sea mejor o más completa (con implementación) que la mía.

Tenga un script $MYVIMRCque edite el ~/.viminfoarchivo, agregando la línea apropiada a la #File Marks:sección:

'V  1  0  ~/.vimrc
kzh
fuente
0

Creo que estás tomando el problema del lado equivocado. En lugar de comenzar con una media y tratar de hacer que haga lo que quiere, comience con lo que quiere y busque una solución.

Si lo que desea es poder abrir su vimrc rápidamente, debe usar un mapeo como

nnoremap ,v :e $MYVIMRC<CR>

Lo que obviamente nunca interferirá con su capacidad de usar marcas de archivo y no requiere meterse con su viminfo.


Para responder a su otra pregunta:

nnoremap ,v :vs $MYVIMRC<CR>
romainl
fuente