2008-11-24 10 views
50

¿Hay alguna forma de guardar el estado de la configuración de vim con un documento?Almacenar la configuración de vim con un documento

Para aclarar: estoy editando un documento y cambio un montón de configuraciones. No recuerdo necesariamente cuál; y no quiero volver a utilizar esta configuración, a excepción del documento actual. No quiero intentar recordar manualmente lo que he cambiado; o cuáles son las abreviaturas mágicas para las configuraciones que he cambiado. Solo quiero tener, por ejemplo, "mydoc.txt", un archivo "mydoc.vim" que me devuelva a donde lo dejé, y el archivo de configuración se guardará automáticamente en función de una configuración de vim, por ejemplo, o tal vez una ctrl-key lo hace antes de salir. Sería útil si vim pudiera buscar automáticamente ese archivo.

Y sería preferible no tener que editar la configuración dentro y fuera del documento.

Respuesta

23

Puede utilizar el soporte de sesiones de Vim:

:mksession 

más tarde puede cargar esto ya sea corriendo vim -S Session.vim, o el uso de source Session.vim

También hay complementos vim para automatizar la carga de sesión/ahorro de

105

Sí, la configuración de vim se puede incluir en el documento.

Se encuentran principalmente en los comentarios, por lo que no estropean el archivo original. Un ejemplo para la configuración de lengüeta específica es:

/* ex: set tabstop=8 expandtab: */ 

Tenga en cuenta que este comando funciona en la mayoría de los casos, sin embargo, son a menudo los servidores de configuración sin modeline encendido por razones de seguridad. Para activar la función que añadir lo siguiente en su $ HOME/o el sistema .vimrc $ VIM/vimrc:

set modeline 
+14

Asegúrese de que esté ajustado 'modeline'. –

+9

Hay más información disponible en http://vim.wikia.com/wiki/Modeline_magic. Para vim, tendría que usar '/ * vim: set tabstop = 8 expandtab: * /' por ejemplo. – Lekensteyn

+2

@Lekensteyn o simplemente: help modeline;) – Geoffroy

9

Usted puede guardar la configuración en todo el mundo mediante la edición de su archivo .vimrc.

Vim también le permite guardar la configuración de cada archivo utilizando modelines

7

Así es como se guarda toda la configuración actual en un archivo:

:redir > textfile.txt 
:set all 
:redir END 

Si te gusta, simplemente cambiarla de nombre a ~/.vimrc y lejos anda tu.

+0

hice esto ... no funcionó – Ethan

+0

Si no tiene un montón de complementos ya instalados, también está el comando ': mkvimrc'. Pero eso también captura las asignaciones, por lo que si tiene un montón de asignaciones de complementos necesitará pasar y eliminar todas esas para que no las defina dos veces. – Ben

+0

Funcionó para mí, excepto la parte '~/.vimrc', que no he probado porque no puede funcionar de todos modos. Esto no hace exactamente lo que se pide, pero ayuda. –

4

Tal vez puedas guardar el archivo como un tipo particular, por ejemplo formato o extensión de nombre de archivo especial, y luego defina un autocomando en su .vimrc para ese tipo de archivo.

Hago esto para mis archivos MAKE para asegurarme de tener las diversas configuraciones que necesito para archivos específicos.

Por ejemplo, aquí está mi autocomcomciento.

if has("autocmd") 
    autocmd BufRead,BufNewFile Makefile* :set noexpandtab 
    autocmd BufRead,BufNewFile mirror.conf :set noexpandtab 
    autocmd BufRead,BufNewFile *.html* :set shiftwidth=2 
    autocmd BufRead,BufNewFile diff_files :set autowrite 
    autocmd BufRead,BufNewFile lbnamed* :set ft=perl 
    autocmd BufRead,BufNewFile *.t  :set ft=perl 
endif 
Cuestiones relacionadas