2011-03-26 9 views
1

VimL (일명 VimScript) 표현식으로 선언 된 변수 목록을 가져올 수 있습니까? -complete=expression을 사용하는 명령에 대해 표시 될 동일한 값 집합을 얻고 싶습니다. 목표는 사용자 정의 명령 완료 기능에서 사용하기 위해 해당 목록을 보강하는 것입니다.프로그래밍 방식으로 변수 목록 가져 오기

답변

6

당신은 정말 모든 전역 변수를 보유하고 사전으로 g:를 사용할 수 있습니다

let globals = keys(g:) 

는 당신에게 모든 이름을 줄 것이다. 다른 범위에도 동일하게 적용됩니다 : b:, s:, w: 등 전체 목록은 :help internal-variables을 참조하십시오.

3

당신은 g:, b:, t:, w:v: 사전의 키를 사용하여 비슷한 일을 얻을 수 있지만, 다음과 같은 사실에주의 할 수 있습니다 : 당신이 옵션을 완료하려면이 사전에 상응 없습니다

  1. .
  2. count (그러나 g:count 또는 l:count이 아님), b:changedtick과 같은 변수는이 사전에 없습니다.
  3. 일부 vim 해커 사전 g:@@@ 키를 추가 할 수 있지만 g:@@@ 표현식이 유효한 변수 이름이되지는 않습니다 (단, 000이 추가됩니다). g:["@@@"]은 유효한 표현식이됩니다.
+0

': options'에 의해 생성 된 텍스트를 파싱 한 것 같거나 그런 것들이 옵션 목록을 얻는 방법 일 수 있습니다. – intuited

+0

@intuited': set all'은 필요에 따라 더 잘 맞습니다. 그러나 어떤 redirections도 사용하지 않는 것이 좋습니다 :'redir' 명령은 기존 redirection 명령을 덮어 씁니다. – ZyX

+0

예,': redir'는 다소 심한 것이지만 일부 응용 프로그램에서는 필요합니다. ': set all'에 대한 팁에 대해 다시 한번 감사드립니다. BTW'count'는'v :'사전에있는 것처럼 보입니다 :': help v : count'는'count'는 이전 버전과의 호환성을 위해 보유 된 별명입니다. – intuited

관련 문제