쉘 명령의 결과를 .vimrc 파일의 변수로 추출 하시겠습니까?


22

내 .vimrc 파일에서 외부 명령의 결과를 변수에 저장하고 싶습니다.

$ echo $LANG

vimrc파일은 다음과 같습니다.

let language = output(!echo $LANG)
if language == 'en'
   nnoremap <somekey> <ohanotherkey!>
end if

지금까지 나는 그것을하는 방법을 찾을 수 없었습니다. 명령 모드 :read !echo $LANG에서 현재 파일에 내가 찾고있는 내용을 삽입 한다는 것을 알았 습니다. 그러나 vimrc 파일로 작성하는 방법을 모르겠습니다.

답변:


22

system기능으로 이를 수행 할 수 있습니다 .

let language = system('echo $LANG')

보너스 포인트 : 결과가 목록 인 경우 systemlist대신 목록을 다시 사용할 수 있습니다 . 예 :

let files = systemlist('ls')
" ['bin', 'dev', ... ]

심판 : :h system


13

경우 LANG환경 변수는 당신은 할 수 있습니다 :

let language = $LANG

또는 더 간단합니다.

if $LANG == 'en'
…
endif

이것은 내 일반적인 질문에 정확히 대답하지는 않지만 더 좋습니다. 감사.
Feffe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.