2012-11-05 4 views
31

열린 파일이있는 디렉토리와 같은 디렉토리에 새 파일을 만들고 싶습니다. vim에서 열린 파일의 디렉토리에 새 파일을 만들려면 어떻게해야합니까? 또한, 저 혼자서 이런 것들을 배울 수있는 곳이 있습니까? 인터넷 검색이 도움이되지 않았습니다. vertical split에 대한vim에서 열려있는 파일의 디렉토리에 새 파일을 만드시겠습니까?

:vsp newfile 

vsp 스탠드, 그리고 반으로 화면을 분할 : 새 파일을 만들 또한 다음 현재 파일의 창에 표시하는 경우

+0

Linux에서 텍스트 편집기 인 vim에 대해 이야기하고 있습니까? – ianaz

답변

80

빔 내부에서 :edit filename 또는 :split filename과 같은 명령을 통해 기존 파일이 편집 된 것처럼 새로운 파일이 생성됩니다. 이를 디스크에 저장하려면 내용 (및 선택적으로 입력)을 :write을 통해 유지해야합니다.

명령 프롬프트와 마찬가지로 Vim은 현재 디렉터리 (:pwd)이라는 개념을 가지고 있습니다. 모든 파일 경로는 상대 경로입니다. 현재 파일의 경로를 복제 할 필요가 없습니다. %은 현재 파일을 참조하고 :h은 디렉토리의 수정 자이며 파일 이름 (cp. :help filename-modifiers)을 뺀 것입니다. 그래서,

:e %:h/filename 
:w 

는 현재 열려있는 파일과 같은 디렉토리에 filename라는 이름의 새 파일을 생성하고, 그것을 기록합니다.

또는 Vim이 항상 현재 파일의 디렉토리로 변경하는 사람들이 있습니다. 이것은 (빔 시작 읽을되는) 당신의 ~/.vimrc 파일에

:set autochdir 

를 배치하여 구성 할 수 있습니다. 그렇다면 위는 간단하게

:e filename 
:w 

마지막으로 Vim은 :help을 내장하고 있습니다. 그것을 탐색하고 검색하는 방법을 배우십시오!

+1

+1, 좋은 답변입니다. 'cd를 사용하여 내 일은 끝났어! – RocketDonkey

+1

'autochdir'은 유감 스럽지만, 나는 그것에 의존 할 수 없다는 것을 알게되었습니다. 대신 나는 내 vimrc에 autocmd를 넣었다 :'autocmd BufEnter * silent! lcd % : p : h : gs /// \\ /' –

+0

Dawg도 답을 뽑기를 원하지만 Dawg에게는 필요한 담당자가 없습니다. 잘 쓰여진 설명 주셔서 감사합니다! – Dawg

3

, 당신이 시도 할 수 있습니다 하나는 현재 파일을 표시하고 다른 하나는 새 파일을 표시합니다 (수평 분할 인 sp에서도 작동 함).

위의 @ MartinLyne의 설명에 따르면 vim을 연 파일의 디렉토리에 파일이 생성됩니다. 다음과 같이이를 조정하려면 현재 작업 디렉토리를 변경할 수 있습니다

:cd %:p:h 

이 명령은 의미 활성 파일의 디렉토리를 현재 작업 디렉토리를 변경 그 vsp 명령을 실행 (또는 위의 명령 중)는 해당 디렉토리에 파일을 작성합니다.

2

"nerdtree"플러그인을 사용해보십시오. 멍청한 창에서 키 m을 입력하면 파일 조작 선택 사항이 표시됩니다

관련 문제