set과 : set의 차이점은 무엇입니까?


17

나는 Tim Pope의 vim-sensible 플러그인을보고 있었고 README에서 이것을 보았습니다 ...

권한있는 기능 목록은 소스를 참조하십시오. 걱정하지 마십시오 :set. 대부분 전화입니다.

소스를 보았을 때 :set전화는 다음과 같습니다.

set autoindent

:전에는 없습니다 set.

나는 실제로 :set예제 .vimrc에서도 보았습니다 .

차이점은 무엇입니까?

어떤 형식을 사용해야 .vimrc합니까?

답변:


22

"스크립트"는 일련의 ex 명령을 실행하는 것 이상을 수행하지 않습니다. "ex 명령"은 :Vim에서 사용할 때 입력하는 것 입니다. 예를 들어 :wq, :set wrap, :e file, 등 모든 전직 명령입니다.

:명령의 일부가 아닙니다; 명령 행 모드를 시작하는 것은 단지 키 스트로크 일뿐입니다. 당신은 항상 포함 할 필요가 없습니다 :으로 예를 들어 여러 명령을 체인 때, |당신은 반복 할 필요가 없습니다 :번 이상. 예를 들어 :write | quit잘 작동합니다.

편의를 위해 :가 포함될 수 있습니다. 이 기능은 복사 / 붙여 넣기 등을 지원하지만 반드시 그럴 필요는 없습니다. 중요하지 않습니다. 실제로 모든 선행 항목 :은 무시됩니다. :write,, write:::::::::write기능성 측면에서 모두 동일합니다 (명확성 측면에서는 그렇지 않음).

이것이 :ex 명령임을 명확히하기 위해 문서에 in 을 포함시키는 것이 종종 유용합니다 . 예를 들어 다음 단어로 이동하기 w위해 :w또는 일반 모드 명령 w을 참조 할 수 있습니다 .

이것은 모든 것에 적용됩니다 . 같은 제어 구조 if하고 endif있습니다 또한 바로 전 명령; 다음과 같이 입력 할 수 있습니다.

:if 1
:echo 'one'
:endif

Vim 명령 줄에서 잘 작동합니다. "스크립트"가 필요하지 않습니다. Vim 스크립트는 매우 "매직"및 "비 특수"입니다. Vim 스크립트에서 수행 할 수있는 ex 명령 줄에서 수행 할 수있는 모든 작업과 그 반대의 경우도 마찬가지입니다.


6

다른 점이 없다. vim이 :vimrc (또는 vimscript 파일) 에서 명령 앞에 나오는 것을 무시합니다. 또한 위에서 언급했듯이 이것은 set명령 에만 국한되지 않습니다 .

일반적으로 :명령은 vimrc (또는 다른 vimscript 파일) 에 넣지 않고 사용자가 실행 하지만 일반적으로 상황에 따라 다릅니다. 개인적으로 나는 vimscript 파일에서 명령 앞에 콜론을 넣지 않는 것이 훨씬 나아 보인다고 생각하며, 대부분의 다른 사람들도 그렇게합니다.

이에 대한 자세한 내용은을 참조하십시오 :help script.


:h script또는 :h vim-script-intro(동등한)
VanLaser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.