Cuando salgo de VIM y vuelvo a abrir el mismo archivo, me encuentro al comienzo del archivo. ¿Cómo puedo preservar la última posición del cursor?Conservar la última posición de edición en VIM
Respuesta
El "fuera de la caja" .vimrc
permite esto con la declaración:
source $VIMRUNTIME/vimrc_example.vim
es posible que sólo necesita restaurar esta declaración en su .vimrc
. En cualquier caso, vea vimrc_example.vim
y también vea la función line()
in the Vim manual para una discusión sobre cómo funciona.
Eso funcionó para mí en mac os x. Completé el archivo, chmod 600, y la vida fue grandiosa. – tggagne
Puede probar el comando :mks
(hacer sesión). Almacena un archivo de script que, cuando se ejecuta a través de vim, restaura su sesión de edición actual, incluidos todos los archivos abiertos y la posición del cursor.
Crea un archivo Session.vim en el directorio local. Esto no es lo que yo quería. Ahora puedo guardar automáticamente la posición de edición y restaurarla cuando se abre el mismo archivo. Simplemente no sé cómo. –
Tomado de http://amix.dk/vim/vimrc.html
" Return to last edit position when opening files (You want this!)
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
¿Puedes explicarnos qué hace la instrucción 'if' aquí? Lo estoy leyendo como "Restaure el cursor únicamente si el cursor está después de la primera línea o antes de la última línea", y no está claro para mí qué diferencia hace eso. Actualmente agregué 'autocmd BufReadPost * normal! g \ '" zv' a mi vimrc y parece funcionar, pero supongo que no entiendo los peligros potenciales de la restauración incondicional de marcas. – robru
Ah, si el archivo se trunca fuera de vim, y la marca de vim está en una línea que ya no existe, vim arroja un error. Se corrigió con 'autocmd BufReadPost * silent! normal! g \' "zv' – robru
Hay un plugin (yo soy el autor) llamada vim-lastplace que inteligentemente se vuelve a la última edición que ha realizado.
También tiene una opción de configuración para ignorar ciertos tipos de archivos. Por defecto, ignorará los mensajes de confirmación para git, svn y mercurial. Para estos tipos de archivos, comenzará su cursor en la primera línea. Los fragmentos de código de arriba pasarán al medio de su archivo de mensaje de confirmación (donde lo dejó en su confirmación anterior) aunque probablemente no sea lo que usted desea. vim-lastplace corrige este problema.
La última posición de edición se conserva automáticamente por Vim, y está disponible como marca de salto "especial" .
. Otras marcas especiales incluyen "
(posición desde la que guardó) y '
(posición en la que saltó desde).
Puede saltar a una marca escribiendo '<mark>
, por lo '.
le llevará hasta el lugar de la última edición, ''
le llevará de nuevo a donde estaba, y '"
le lleva a la posición que ha guardado el archivo en.
Eso y más sobre las marcas de Vim en Vim.Wikia.
- 1. Posición del cursor en la abreviatura VIM
- 2. JFreeChart: conservar la posición del zoom al actualizar el gráfico
- 3. Edición XML compatible con esquemas en Vim
- 4. Cursor de salto/posición en Vim
- 5. ¿Cómo navegar a la última posición del cursor en Eclipse?
- 6. Cómo obtener la última posición de vista de desplazamiento, scrollview
- 7. vim restaura la posición del cursor; excluir archivos especiales
- 8. Cambiar a la última pestaña activa en VIM
- 9. ¿Conservar el búfer de deshacer después de salir de VIM?
- 10. Vim mantener posición de ventana al cambiar buffers
- 11. ¿Cómo volver a las líneas editadas antes de la última en Vim?
- 12. Guardar archivo después de cada edición, en vim
- 13. VIM: Añadir espacios en la posición del cursor
- 14. cómo poner la línea actual bajo edición en la parte superior de la pantalla en vim
- 15. ¿Cómo repito una edición en múltiples líneas en Vim?
- 16. carácter Inserte entre la posición del cursor en la edición de texto
- 17. VIM: Eliminación desde la posición actual hasta un espacio
- 18. segunda a la última posición de carácter de la cadena de
- 19. Consola C#: establecer la posición del cursor en la última línea visible
- 20. Desafío "Edición de texto simple con Vim" en VimGolf: ¿Cómo funciona la solución n. ° 1?
- 21. Mostrar fechas de creación de producto y última edición en el Frontend de Magento
- 22. Vim: Navegando a los búferes anteriores y siguientes en el historial de edición
- 23. ¿Conservar caso en ConfigParser?
- 24. Vim, vuelva a abrir la última ventana cerrada, que estaba en la división
- 25. Obtener la última búsqueda o buscar y reemplazar cadena de nuevo en vim?
- 26. Vim sin fin de línea en la última línea o EOF
- 27. Android: ¿Hay alguna forma de obtener la última posición de View después de TranslateAnimation?
- 28. ¿Cómo uso 'texto de marcador de posición' en un control de edición win32?
- 29. VIM - Mostrar el diff de la última versión guardada y la versión no fue guardada
- 30. ¿Cómo volver a la última posición del cursor en Visual Studio?
posible duplicado de [¿Cómo hace que Vim lo lleve de vuelta a donde estaba la última vez que editó un archivo?] (Http://stackoverflow.com/questions/1682536/how-do-you-make-vim- take -tus-back-where-you-were-when-you-last-edited-a-file) – mloskot
: help viminfo debe decirle lo que necesita –