Vim에서 설정의 현재 값 가져 오기


274

지정된 Vim 설정의 현재 값을 찾는 간단한 방법이 있습니까? 예를 들어 현재 값을 알고 싶다면 다음을 tabstop실행할 수 있습니다.

:set tabstop

인수를 전달하지 않으면 Vim이 현재 값을 알려줍니다. 이것은 많은 설정에 적합하지만 true 또는 false 인 설정에는 적합하지 않습니다. 예를 들어의 현재 값을 찾으려면 다음을 expandtab실행하십시오.

:set expandtab

실제로 활성화 expandtab합니다. 활성화되어 있는지 확인하고 싶습니다.

이런 종류의 내가 원하는 것을 수행합니다.

:echo &l:expandtab

그러나 매우 장황한 것 같습니다. 더 빠른 방법이 있습니까?

답변:


378

을 추가하다 ? 설정 이름 뒤에 표시하면 값이 표시됩니다

:set expandtab?

15
있습니다 set <...>?구문은 "설정"을 위해 작동 할 옵션 이다 "설정"에 대한,하지만 변수 . 예를 들어 현재 구문 강조 모드 (옵션이 아닌 변수로 인코딩 됨)가 무엇인지 확인하려면을 수행해야합니다 echo b:current_syntax.
Maxy-B

16
옵션이 설정된 위치 를 보려면을 사용하십시오 verbose. 이 예에서는 :verbose set expandtab.
mkobit

1
behave? 와 같은 설정의 현재 값을 어떻게 알 수 있습니까? 나는 시도 behave?하고 set behave?. 불행히도, 그들은 작동하지 않습니다.
jdhao

38

또는 &기호는 "옵션"을 의미하는 데 사용될 수 있습니다. 예 :

let x = &expandtab
echo &expandtab

목록 요소의 값을 얻는 옵션도 있습니까? (예 : listchars의 공간)
816-8055

listchars는 List가 아닌 일반적인 문자열이라고 생각하지만 다음과 같은 작업을 수행 할 수있을 것입니다.split(&listchars, ',')
cdyson37

9

어떤 도자기를 확인하고 싶지 않다면

당신은 사용하여 모든 설정을 확인할 수 있습니다

:set all

모든 설정이 나열됩니다.


4

다음과 같이 표시 할 수있는 추가 vim 설정도 있습니다.

:highlight

전체 목록은 다음을 참조하십시오. http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment를

편집 : 내 대답에 약간의 오해가 있습니다. 이 명령은 작동하지 않습니다. 그러나 위 URL에 나열된 모든 명령에서 작동합니다.


작동하지 않습니다. 나는 autowrite켜져 있는지 확인하고 싶었다 . :set autowrite?일을한다.
Atcold

@Atcold :이 설정은이 유형의 쿼리 만 작동하는 일부 설정에서 작동합니다.
gmarmstrong

@ gmarmstrong : 대답이 그러한 말로 편집 된 것을 봅니다.
Atcold
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.