Vim에서 접두사 (b :, g :)로 시작하는 설정 / 명령은 무엇입니까?


26

Vundle과 함께이 플러그인 을 설치 했으며 다음과 같은 설정이 있습니다 (README는 변수를 변수라고 함).

b:javascript_fold

g:javascript_conceal

README는 " .vimrc기능을 활성화 / 비활성화 하기 위해 추가 할 수 있습니다"라고 말합니다 . 그러나를 통해 설정하는 방법을 잘 모르겠습니다 :. 이 변수는 통해 사용할 수 없습니다 set또는 echo없으며 명령이나 함수입니다. 이것들을 어떻게 설정 / 검사 할 수 있습니까?

답변:


48

이들은 내부 변수입니다.

다음 :let명령을 사용하여 작성하고 수정하십시오 .

:let g:var_name = 1

당신은로 그들을 파괴합니다 :unlet.

로 검사합니다 :echo.

접두사는 변수의 범위를 나타냅니다. 부터 :help internal-variables:

buffer-variable    b:    Local to the current buffer.
window-variable    w:    Local to the current window.
tabpage-variable   t:    Local to the current tab page.
global-variable    g:    Global.
local-variable     l:    Local to a function.
script-variable    s:    Local to a |:source|'ed Vim script.
function-argument  a:    Function argument (only inside a function).
vim-variable       v:    Global, predefined by Vim.

이런 종류의 변수를 추가 ~/.vimrc하면 다음과 같습니다.

let g:var_name = 1

일반적으로 전역 변수 만에 추가되고 ~/.vimrc버퍼 로컬 변수는 파일 유형 플러그인에 사용됩니다.


2
완전성 : 접두사 없음 : 함수에서 : 함수에서 로컬; 그렇지 않으면 : 글로벌
Tom Hale

11

구성 변수는 옵션이 아니며 플러그인의 변수 만 "모방"합니다. 따라서 사용하지 않는 :set,하지만 :let(그리고 :echo자신의 현재 값을 나열).

변수 앞의시길이 범위를 결정합니다. g:글로벌을 의미합니다. 플러그인을로드 하기 전에 설정 해야 합니다. 즉,

let g:javascript_conceal = 1

~/.vimrc(그리고 Vim을 다시 시작).

일부 구성은 특정 파일 유형 에만 적용되므로 b:접두사를 사용합니다 . 그것들을 설정 ~/.vimrc하면 첫 번째 열린 버퍼에 적용됩니다. 원하는 것은 아닙니다. 대신 파일 형식 탐지 메커니즘 에 연결해야합니다 .

당신은 단지 특정 파일 형식에 대한 설정 옵션을 활성화 사용하려면 :let b:var = value대신과에 해당하는 명령을 넣어 ~/.vim/after/ftplugin/{filetype}.vim, 어디에 {filetype}실제 파일 형식 (예입니다 javascript). (이것은 당신이 있어야 :filetype plugin on하며 사용 디렉토리가 당신에 의해 수행 모든 기본 파일 형식 설정을 무시할 수 있습니다 $VIMRUNTIME/ftplugin/{filetype}.vim.)

또는에서 :autocmd FileType {filetype} setlocal option=value직접을 정의 할 수 ~/.vimrc있지만 많은 사용자 정의가 있으면 다루기 힘든 경향이 있습니다.

autocmd Filetype javascript let b:javascript_fold = 1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.