`~/.vimrc` 확인

`~/.vimrc` 확인

~/.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 가져오기 방지
  • :cqVim이 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

관련 정보