Qualquer maneira de fornecer um arquivo vimrc separado apenas para 1 sessão

Qualquer maneira de fornecer um arquivo vimrc separado apenas para 1 sessão

Eu gostaria de saber se existe uma maneira no vim/vi de fornecer um arquivo vimrc diferente. Estou pensando em gerenciar 2 arquivos vimrc diferentes. Para o conteúdo que faço checkout/checkin no controle de versão, quero usar um conjunto diferente de comandos e não o normal em meu .vimrcarquivo

Por exemplo.

Meu .vimrcarquivo contém um comando para excluir automaticamente qualquer espaço à direita ao salvar um arquivo. Porém, não quero que esse recurso seja ativado para arquivos específicos.

Então, alguma maneira de fornecer um arquivo vimrc diferente (talvez na linha de comando, fornecendo-o como parâmetro sempre que vim --vimrc=somefile file-to-open)?

Responder1

Veja a página de manual:

-u {vimrc} Use os comandos do arquivo {vimrc} para inicializações. Todas as outras inicializações são ignoradas. Use isto para editar um tipo especial de arquivo. Também pode ser usado para pular todas as inicializações, dando o nome "NONE". Consulte ":help inicialização" no vim para obter mais detalhes.

Responder2

Então, alguma maneira de fornecer um arquivo vimrc diferente (talvez na linha de comando, fornecendo-o como parâmetro sempre que vim --vimrc=somefile file-to-open)?

Sim, use o -uparâmetro:

vim -u ~/.my-custom-vimrc

De man vim:

   -u {vimrc}  Use  the  commands in the file {vimrc} for initializations.
               All the other initializations are  skipped.   Use  this  to
               edit  a special kind of files.  It can also be used to skip
               all initializations by giving the name "NONE".  See  ":help
               initialization" within vim for more details.

Meu arquivo .vimrc contém um comando para excluir automaticamente qualquer espaço à direita ao salvar um arquivo. Porém, não quero que esse recurso seja ativado para arquivos específicos.

Existe uma solução diferente se você precisar de tratamento especial para alguns tipos de arquivos conhecidos; use o autocmdcomando em seu vimrc. Por exemplo, esta é minha configuração dependente do tipo de arquivo:

" Mapping of filetypes to options
au FileType freerad      setl noexpandtab sts=0 sw=8
au FileType make         setl noexpandtab sts=0
au FileType php          let php_sql_query=1
au FileType php          let php_htmlInStrings=1
au FileType python       setl shiftwidth=2 expandtab
au FileType sql          setl noexpandtab sts=0 sw=8
" global options I do not want any filetype to override
au FileType *            setl formatoptions-=ro " don't continue comments

Se você precisar aplicar opções a algo que o vim não atribui automaticamente a um determinado tipo de arquivo, você pode adicionar seu próprio mapeamento (faça isso antes de usar o autocmdcomando):

" mapping of filenames to filetypes
au FileReadPost,BufReadPost,BufNewFile /etc/freeradius/* setl ft=freerad
au FileReadPost,BufReadPost,BufNewFile *.xt              setl ft=xt

Responder3

Você também pode, set exrcem seu .vimrc principal, fazer com que o vim carregue um .vimrc do diretório atual automaticamente.

Responder4

Se você armazenar seu diretório de configuração do Vim no Git (espero que sim) - você pode usar diferentes ramificações e fazer check-out entre elas.

informação relacionada