:set옵션으로 만 작동하며 sehe의 답변 은 좋은 사용법 예제를 보여줍니다.
:let반면에 할 수있는 거의 모든 것을 :set할 수 있습니다. 값을 할당 할 수 있습니다
- 변수, 예를 들어
let vi = 'vim'
- 옵션, 예 :
let &tw = 40
- 레지스터, 예.
let @a = $HOME . '/vimfiles'
- 환경 변수, 예.
let $NOTHING = 'NOTHING'
또 다른 주요 차이점은 오른쪽 :let이 표현식 이라는 점입니다. 즉, 위의 레지스터 예제에서 볼 수 있듯이 문자열 연결 및 산술 연산 (예 :)과 같은 작업을 수행 할 수 있습니다 let &tw = 40 + 60. 또한 문자열 인 경우 값을 인용해야합니다. :set반면에 값을 그대로 읽습니다.
대부분의 작업을 수행 할 수도 :set있지만 옵션과 함께 사용 하는 것이 더 쉽습니다 :let. 다음은 sehe의 예제를 사용한 비교입니다 ( "n / a"는이를 수행 할 방법이 없음을 의미합니다 :let)
:verbose set vs n / a (모든 옵션을 나열하는 다른 방법이 있다고 생각하지 마십시오)
:set tw=40vs :let &tw = 40(예, 같은 속기를 사용할 수도 있습니다 let)
:set wrap& vs 해당 없음
:set nowrapvs :let &wrap = 0(부울 옵션의 경우 0은 false이고 1은 true)
:set wrap! vs :let &wrap = !&wrap
몇 가지 예
- 옵션의 값을 인쇄 :
:set formatoptions?vs :echo &formatoptions( let와 달리 값을 인쇄하지 않습니다 set)
여러 옵션에 동시에 할당 :
:set et sw=4 sts=4
vs
:let [&et, &sw, &sts] = [0, 4, 4]
전역 옵션 설정 : setglobal etvslet &g:et = 1
- 로컬 옵션 설정 :
setlocal etvslet &l:et = 1
자세한 내용 :h :set및 :h :let참조
tl; dr
:set옵션으로 만 작동하지만 구문이 훨씬 간단합니다. :let옵션뿐만 아니라 변수, 레지스터 및 환경 변수와도 작동합니다. 와 달리 :set오른쪽 :let은 표현식입니다.
:help set하고:help let매뉴얼을 읽었습니까?