Armazenando configurações vim com um documento
Pergunta
Existe alguma maneira de salvar o estado de configurações vim com um documento?
Para esclarecer: estou editando um documento e eu mudar um monte de configurações. Eu não necessariamente recordar que; e eu não quero usar essas configurações novamente, exceto para o documento atual. Eu não quero tentar manualmente para lembrar o que eu mudei; ou o que as abreviaturas mágicas são para as configurações que eu mudei. Eu só quero ter, digamos, de "mydoc.txt", um arquivo "mydoc.vim" Isso me coloca de volta onde eu parei, e o arquivo de configurações será salvo automaticamente com base em um cenário vim, por exemplo, ou talvez um ctrl-chave faz isso antes de eu sair. Seria útil se vim poderia procurar automaticamente um ficheiro deste tipo.
E seria preferível não ter que editar as configurações para dentro e fora do próprio documento.
Solução
Você pode usar o suporte de sessão do Vim:
:mksession
Você pode carregar mais tarde isso por qualquer vim -S Session.vim
execução ou usando source Session.vim
Há também complementos vim ao carregamento sessão automatizar / guardar
Outras dicas
Sim, configurações Vim pode ser incluído no documento.
Eles são encontrados principalmente nos comentários, para que eles não atrapalhar o arquivo original. Um exemplo para configurações específicas-guia é:
/* ex: set tabstop=8 expandtab: */
Note que este comando funciona na maioria dos casos, no entanto, os servidores são frequentemente de configuração sem modeline
ligado por razões de segurança. Para ativar esse recurso, adicione o seguinte no seu $ HOME / .vimrc ou o sistema $ VIM / vimrc:
set modeline
Veja como você salvar todas as suas configurações atuais para um arquivo:
:redir > textfile.txt
:set all
:redir END
Se você gosta, basta renomear o arquivo para ~/.vimrc
e você vai longe.
Você talvez pudesse salvar o arquivo como um tipo particular, por exemplo, formato especial nome do arquivo ou extensão, e, em seguida, definir uma autocommand em seu .vimrc para esse tipo de arquivo.
Eu faço isso para os meus makefiles para garantir que eu tenho as várias configurações que eu preciso para arquivos específicos.
Por exemplo, aqui está o meu autocommand dezembro
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