$VIMRUNTIME/default.vim
이들그리고 그리고 의 차이점은 무엇인가요 /etc/vim/vimrc
?
왜 $VIMRUNTIME/default.vim
먼저 시작해야 할까요? /etc/vim/vimrc
먼저 떠나야 하지 않겠습니까 ?
(데비안 9)
답변1
/etc/vim/vimrc
해당 패키지 관리자(예: Debian 사람들)가 추가한 시스템 전반의 기본 Vim 구성입니다.vim 유니버설APT 패키지). 이는 좋은(그리고 안전한) 기본값에 대한 배포 관리자의 관점을 나타냅니다.
오랫동안 Vim 자체는 기본 구성을 제공하지 않고 단지 예제만 제공했습니다.:help vimrc_example.vim
) 개별 사용자가 개인 구성을 시작할 수 있도록 허용합니다(예: ~/.vimrc
). 많은 사람들은 Vim이 보수적인 기본값으로 시작하는 것을 좋아하지 않습니다(예:육호환성) 및 "유용한" 시스템 전체 구성에 대한 혼란(Vim에는 구성 가능성과 유연성이 너무 많기 때문에), Vim 8.0의 기본 구성은 다음과 같습니다.defaults.vim
예전에는다음에 추가.
귀하의 질문은 이 구성에 대한 혼란을 시사합니다. 일반적으로 기본 설정이 작동하지 않는 경우사용자의 모든 사용자 정의~/.vimrc
, 시스템 전체 구성을 유지합니다. 이는 논란의 여지가 없는 변경(예: :syntax on
)에 대해서만 이루어져야 하므로 방해가 되어서는 안 되지만 대부분의 옵션 변경은 에서 수행할 수도 있습니다 ~/.vimrc
.
구성을 읽는 순서로 보면,:scriptnames
순차적으로 읽은 스크립트를 표시하고:help initialization
피투성이의 세부 사항이 모두 있습니다.
답변2
이 파일은 /etc/vim/vimrc
소위 "시스템" vimrc 파일입니다(출력에 이와 같이 나열되어야 함 :version
).
$VIMRUNTIME/defaults.vim
Vim 8.0에서만 도입된 "기본" 파일입니다(적어도 이 기능을 포함하는 최초의 패치되지 않은 버전이었습니다.)
파일은 /etc/vim/vimrc
Linux 배포판에 의해 제어되므로 Debian이나 Red Hat 등은 배포판과 관련이 있다고 생각하는 Vim 초기화를 실행합니다.
defaults.vim
자동으로 로드된 파일사용자 vimrc 파일이 없는 경우에만 해당됩니다.따라서 사용자가 없거나 파일이 있는 경우에만 가능 ~/.vimrc
합니다 ~/.vim/vimrc
. 이 파일 중 하나 defaults.vim
가 있으면아니요자동으로 로드(이렇게 하고 싶을 수도 있음)당신의 vimrc에서.
시스템 vimrc 파일은 다음과 같습니다.언제나로드되고 항상 로드됨첫 번째. (글쎄요, Vim에 vimrc 파일을 로드하지 말라고 지시하는 명령줄 옵션(예: vim -u NORC
또는 ) 을 전달하지 않는 한 -u NONE
, 이 경우 파일은 로드되지 않습니다.)
시스템 vimrc가 처리된 후에는 자신의 vimrc 파일 차례이거나 defaults.vim
자신의 vimrc 파일이 존재하지 않는 경우입니다.
이제 여기에 두 가지 중요한 경고가 있습니다!
첫째, defaults.vim
배포판에 의해 비활성화되었을 수 있습니다(중성화와 유사). 일부 배포판(예: Debian) defaults.vim
은 이전 버전에서 업그레이드하는 사용자가 예상하지 못한 설정을 활성화하는 Vim의 파일 배포에 그다지 만족하지 않습니다 .
따라서 defaults.vim
이 문제는 Vimscript 코드에서 name이라는 변수가 설정되었는지 확인함으로써 해결됩니다. skip_defaults_vim
그렇다면 defaults.vim
일찍 그만두면 실제로 효과를 볼 수 없습니다. (스크립트는 :scriptnames
실행해야 하기 때문에 아래에 계속 표시되므로 매우 일찍 완료되었습니다.)
이전에 실행된 유일한 것은 시스템 vimrc 파일이었으므로 여기 defaults.vim
에서 설정할 수 있습니다. 따라서 배포판에 설정되어 있는지 확인하십시오. 그렇다면 skip_defaults_vim
파일을 가져오는 동안에도 실제로 효과를 얻지 못할 것입니다.defaults.vim
두 번째 경고이자 일반적인 혼동 지점은 사용자를 위해 처음으로 새 vimrc 파일을 만들 때입니다. 그런 다음 모든 설정을 로드하는 것에서 defaults.vim
아무것도 없는 것으로 이동합니다 . 이는 일반적으로 더 이상 구문 강조가 활성화되지 않음을 의미하므로 시각적으로 매우 눈에 띕니다. 거의 바로 눈앞에 나타나며 그 차이를 꽤 빨리 알 수 있습니다.
여기에서 조언하는 바는 vimrc 파일을 처음 생성할 때 defaults.vim
해당 파일의 기능을 유지할 수 있도록 소스 코드를 가져와야 하며 그런 다음 나중에 사용자 지정 항목을 추가할 수 있다는 것입니다.
vimrc 파일 시작 부분에 다음 두 줄을 추가하면 됩니다.
unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
또한 unsetting 이라는 점에 유의하세요 . 이는 이 파일의 효과를 비활성화하기로 결정한 Linux 배포판에서도 설정이 활성화된다는 skip_defaults_vim
의미입니다 .defaults.vim
Vim과 함께 제공되는 파일(자신만의 vimrc를 만들기 위한 템플릿으로 제공됨)에는 vimrc_example.vim
맨 위에 줄이 포함되어 있습니다.defaults.vim
자세한 내용은 다음을 참조하세요.