O VIM parou de usar meu _vimrc e não consigo descobrir onde ele está sendo configurado.

O VIM parou de usar meu _vimrc e não consigo descobrir onde ele está sendo configurado.

Meu _vimrc se parece com isso


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
colorscheme pablo
set backup=~/vimfiles/backup
set directory=~/vimfiles/tmp

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunction

No entanto, acredito que esteja usando configurações que seriam assim:


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunctio

O problema com isso é:

A) Gostei do meu esquema de cores, ele estava lá graças à sua ajuda.

B) Não quero usar as configurações do mswin. Isso me atrapalha especialmente o ctrl-z e o ctrl-v fazendo coisas que eu não gosto. Eu prefiro que Ctrl-V vá para o modo visual, pois faz sentido.

C) Eu gostaria de ter um diretório temporário e backup configurado para o vim. (para ser honesto, não tenho certeza se estou fazendo essa parte corretamente.

Responder1

No VIM, digite :version, e isso mostrará pelo menos a ordem em que os arquivos *vimrc estão sendo carregados.

Quanto a c), o set directorybit determina onde o VIM coloca seus arquivos de troca. Para especificar para onde vão os backups reais, use:set backupdir

Responder2

Você pode achar útil conhecer alguns métodos gerais de solução de problemas do Vim quando precisar descobrir por que algo está ou não sendo definido no Vim.

Você pode executar o comando " :scriptnames" após iniciar o Vim para ver quais scripts realmente foram carregados. Seu vimrc deve estar próximo ao topo (o meu é o número 1).

Outro método para determinar o que está configurando uma opção é fazer ":verbose setnome da opção?" (com o ponto de interrogação). Se a opção não foi definida manualmente a partir da linha de comando :-pelo usuário, ela deverá ter uma linha "Última configuração de..." abaixo do valor atual da opção. Isso, infelizmente, não funciona com opções não, embora possa ser usado para outras depurações. Consulte " :help :verbose".

Responder3

Você pode ver qual arquivo init do vim foi encontrado primeiro e usado usando a variável $MYVIMRC. Basta repeti-lo no prompt de comando (dois pontos) de dentro de uma sessão do vim

:echo $MYVIMRC

informação relacionada