default.vim과 /etc/vim/vimrc의 차이점 [닫기]

default.vim과 /etc/vim/vimrc의 차이점 [닫기]

$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.vimVim 8.0에서만 도입된 "기본" 파일입니다(적어도 이 기능을 포함하는 최초의 패치되지 않은 버전이었습니다.)

파일은 /etc/vim/vimrcLinux 배포판에 의해 제어되므로 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

자세한 내용은 다음을 참조하세요.

관련 정보