~/.vimrc
내 파일이 올바른지 확인하고 기본적으로 파일을 실행하고 vim
싶습니다 . Enter 키를 누르는 것 외에는 quit
거의 할 수 있습니다 . vim -c quit
예를 들어,
> cat ~/.vimrc
echoerr 'test'
> vim -c quit
Error detected while processing /home/josh/.vimrc:
line 1:
test
Press ENTER or type command to continue
Enter 키를 누르지 않고 이를 수행할 수 있는 방법이 있습니까? 나는 이것을 실행할 수 있다고 생각 echo | vim -c quit
하지만 더 우아한 솔루션을 기대하고 있습니다.
답변1
try-catch 블록을 사용하여 오류(예외로 변환됨)를 포착하고 모든 예외에서 실패할 수 있습니다.
$ cat vimrc-fail
echoerr 'test'
$ cat vimrc-pass
echo 'test'
$ vim -u NONE -c 'try | source vimrc-pass | catch | cq | endtry | q'; echo $?
0
$ vim -u NONE -c 'try | source vimrc-fail | catch | cq | endtry | q'; echo $?
1
~에서돕다:
:try :try :endt :endtry E600 E601 E602
:endt[ry] Change the error handling for the commands between
":try" and ":endtry" including everything being
executed across ":source" commands, function calls,
or autocommand invocations.
그리고로부터:echoerr
:
try 조건 내에서 사용될 때 이 메시지는 오류 예외로 발생합니다(참조:에코를 시도해보세요).
기타 참고사항:
-u NONE
기본 vimrcs 가져오기 방지:cq
Vim이 0이 아닌 종료 상태를 반환하게 만듭니다.
마지막 오류 메시지(현재는 실제로 예외)를 얻으려면 다음을 사용하십시오.v:exception
:
$ vim -u NONE -c 'try | source vimrc-fail | catch | silent exec "!echo " shellescape(v:exception) |cq | endtry | q'; echo $?
Vim(echoerr):test
1