Posso alterar uma configuração do Vim persistentemente usando um atalho?

0

Posso alterar uma configuração do Vim persistentemente usando um atalho?

Exemplo Hipotético:

nnoremap <script> <F7> :call ChangeConfig()<cr>
function! ChangeConfig()
     set virtualedit=all
endfunction

Se sim, eu poderia salvar minhas próprias configurações?

Exemplo Hipotético:

nnoremap <script> <F8> :call ChangeConfig()<cr>
function! ChangeConfig()
     set mysetting="myvalue"
endfunction

Obrigado!

    
por Eduardo Lucio 29.03.2014 / 04:11

1 resposta

1

Para persistir os valores das opções além da sessão atual do Vim, os comandos :set correspondentes devem ser gravados em algum arquivo de configuração.

persistência global

O Vim na verdade fornece uma opção para persistir todas opções atuais (e mais, como arquivos abertos), chamadas sessões . O que é persistido é controlado por 'sessionoptions' (ele precisa conter options ). A persistência é controlada por :mksession e :source ; você pode automatizar isso via :autocmds .

persistência selecionada

Se você quiser apenas persistir certas opções, terá que fazer isso sozinho. Você pode escrever / atualizar uma seção do seu ~/.vimrc , mas é mais fácil usar um arquivo de plug-in separado:

nnoremap <script> <F7> :call ChangeConfig()<cr>
function! ChangeConfig()
    set virtualedit=all
    call writefile(['set virtualedit=all', '" more options here'], expand('~/.vim/plugin/persisted_options.vim'))
endfunction
    
por 29.03.2014 / 13:52