파일 이름이 없을 때 Vim에서 기본 파일 이름을 사용하려면 어떻게해야합니까?


17

나는 거의 vim파일 이름없이 열지 않습니다. 종종, 나는 보통 빠른 끔찍한 스크립트로 무언가를 테스트하고 싶으며 보통 그것들의 이름을 test.sh(또는 같은 변형 test.py) 지정합니다. 내가 만들 수 vim가정 test.sh내가 실행 한 경우 파일 이름을 vim임의의 파일 이름없이? 나는 보통 (같은 별칭을 사용하십시오 vims대한 vim test.shvimp대한 vim test.py, 또는 전체를 이동 :w test.sh),하지만 난 내에서 방법이 있는지 궁금합니다 vim. 내가 좋아하는 특정 디렉토리에이를 제한 할 수 있다면 그것은 더 나은 것 /tmp, 또는 ~/dev.

답변:


10

.vimrc의 끝에 이것을 넣으십시오 (적절하게 수정하십시오)

if @% == "" && getcwd() == "/tmp"
    :silent edit test.sh
endif

현재 파일 이름이 비어 있는지 (현재 파일 이름 @%참조) 확인하고 vim의 현재 디렉토리가인지 확인합니다 /tmp. 다른 디렉토리도 추가 할 수 있습니다.

(getcwd() == "/tmp" || getcwd() == "~/dev")

그런 다음 test.sh를 자동으로 편집합니다. 해당 파일이 이미 있으면로드됩니다. 그렇지 않으면 해당 이름으로 새 버퍼를 시작하고 파일을 쓰면 파일이 만들어집니다.

시작하는 동안 다음 메시지를 표시하지 않기 위해 침묵했습니다.

"test.sh" [New File]
Press ENTER or type command to continue

5

John의 답변을 수정하면 유용 할 수 있습니다.

if @% == "" && getcwd() == "/tmp"
    :silent edit `=glob("test\.*", 1, 1)[0]`
endif

으로 시작하는 첫 번째 파일이 열립니다 test..

일치하는 다른 파일을 열려면 첫 번째 파일 대신 다음을 수행하십시오.

if @% == "" && getcwd() == "/tmp"
    for i in glob("test\.*", 1, 1)
        :silent edit `=i`
    endfor
endif
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.