가끔 실수로 vim에게 디렉토리에 있는 파일 대신 디렉토리를 편집하라고 지시할 때가 있습니다.
vim directory-name # what I typed
vim directory-name/blah.txt # what I meant to type
vim은 오류 메시지를 즉시 표시하지 않고 대신 "파일 편집기" 모드에서 디렉터리를 엽니다. 이 모드는 개인적으로 마음에 들지 않습니다.
vim이 디렉토리 열기를 거부하게 만드는 방법은 무엇입니까?
가능한 방법 중 하나는 .vimrc의 일부 설정을 변경하는 것입니다. 하지만 그 설정이 무엇인지는 모르겠습니다.
또 다른 가능성은 vim 주위에 래퍼 셸 별칭을 만들어 test -d "$1"
파일을 열려고 하는지 확인하는 것입니다. 그러나 어떤 명령줄 인수가 플래그인지, 어떤 것이 파일 이름인지 구별할 수 있도록 이 별칭을 강력하게 만드는 방법을 모르겠습니다.
답변1
인수가 디렉터리인 경우 vimrc에 다음 줄을 입력하여 vim을 종료할 수 있습니다.
for f in argv()
if isdirectory(f)
echomsg "vimrc: Cowardly refusing to edit directory " . f
quit
endif
endfor
아니면 그냥 로그아웃하고 싶은 경우모두매개변수는 디렉토리입니다. 다음과 같이 시도해 볼 수 있습니다.
let ndirs = 0
for f in argv()
if isdirectory(f)
let ndirs += 1
endif
endfor
if ndirs > 0 && ndirs == argc()
echomsg "vimrc: Cowardly refusing to edit directories"
quit
endif
답변2
이것은 플러그인의 출력처럼 보입니다 netrw
.
~/.vimrc
이 기능은 파일을 입력하여 비활성화할 수 있습니다 .
let loaded_netrwPlugin = 1
이제 디렉토리를 편집하려고 하면 오류 메시지가 표시됩니다 is a directory
.