VIM이 내 _vimrc 사용을 중단했는데 어디에서 설정되는지 알 수 없나요?

VIM이 내 _vimrc 사용을 중단했는데 어디에서 설정되는지 알 수 없나요?

내 _vimrc는 다음과 같습니다


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

그러나 나는 다음과 같은 설정을 사용하고 있다고 생각합니다.


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

이것의 문제는 다음과 같습니다.

A) 당신의 도움 덕분에 내 색상 구성표가 마음에 들었습니다.

B) mswin 구성을 사용하고 싶지 않습니다. 특히 ctrl-z와 ctrl-v가 내가 좋아하지 않는 일을 하면 나를 엉망으로 만듭니다. 나는 ctrl-v를 시각적 모드로 전환하는 것을 선호합니다.

C) vim을 위한 임시 디렉토리와 백업을 설정하고 싶습니다. (솔직히 이 부분을 제대로 하고 있는지 잘 모르겠습니다.

답변1

VIM에 를 입력하면 :version최소한 *vimrc 파일이 로드되는 순서가 표시됩니다.

c)의 경우 set directory비트는 VIM이 스왑 파일을 저장하는 위치를 결정합니다. 실제 백업이 저장되는 위치를 지정하려면 다음을 사용하세요.:set backupdir

답변2

Vim에 무언가가 설정되어 있거나 설정되지 않은 이유를 알아내야 할 때 Vim에 대한 몇 가지 일반적인 문제 해결 방법을 아는 것이 유용할 수 있습니다.

Vim을 시작한 후 " " 명령을 실행하면 :scriptnames실제로 어떤 스크립트가 로드되었는지 확인할 수 있습니다. 귀하의 vimrc는 상단 근처에 있어야 합니다(내 것은 #1입니다).

옵션 설정이 무엇인지 확인하는 또 다른 방법은 다음을 수행하는 것입니다.:verbose set옵션 이름?" (물음표 포함). 사용자가 :-명령줄에서 옵션을 수동으로 설정하지 않은 경우 옵션의 현재 값 아래에 "Last set from..." 줄이 있어야 합니다. 안타깝게도 이는 다른 디버깅에 사용할 수 있지만 옵션이 아닌 경우에는 작동하지 않습니다 :help :verbose.

답변3

$MYVIMRC 변수를 사용하면 어떤 vim init 파일이 먼저 발견되어 사용되었는지 확인할 수 있습니다. vim 세션 내에서 명령(콜론) 프롬프트에 에코하면 됩니다.

:에코 $MYVIMRC

관련 정보