O VIM parou de usar meu _vimrc e não consigo descobrir onde está sendo definido?

1

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 semelhantes a esta:


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) Eu gostei do meu esquema de cores que estava lá graças à sua ajuda.

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

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

    
por faceless1_14 26.08.2009 / 18:34

3 respostas

6

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

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

    
por 26.08.2009 / 18:56
0

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

Você pode executar o comando " :scriptnames " depois de iniciar o Vim para ver quais scripts foram realmente carregados. Seu vimrc deve estar perto do topo (o meu é o número 1).

Outro método para determinar o que está definindo uma opção é fazer " :verbose set nome_da_opção ? " (com o ponto de interrogação). Se a opção não foi configurada manualmente a partir da linha: -command pelo usuário, ela deve ter uma linha "Last set from ..." abaixo do valor atual da opção. Isso, infelizmente, não funciona com não opções, embora possa ser usado para outras depurações. Veja " :help :verbose ".

    
por 19.04.2013 / 06:48
0

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

: echo $ MYVIMRC

    
por 26.04.2013 / 01:13

Tags