열린 파일이있는 디렉토리와 같은 디렉토리에 새 파일을 만들고 싶은 위치에 있습니다. vim에서 열린 파일의 디렉토리에 새 파일을 어떻게 만들 수 있습니까? 그리고 이런 것들을 스스로 배울 수있는 곳이 있나요? 인터넷 검색은 도움이되지 않았습니다.
답변:
Vim 내에서 :edit filename또는 같은 명령을 통해 기존 파일을 편집하는 것처럼 새 파일이 생성 :split filename됩니다. 디스크에 유지하려면 (선택적으로 내용을 입력하고)를 통해 유지해야합니다 :write.
명령 프롬프트처럼 빔은의 개념이 현재 디렉토리 ( :pwd목록으로). 모든 파일 경로는 이에 상대적입니다. 현재 파일에 대한 경로를 복제 할 필요가 없습니다. 몇 가지 멋진 바로 가기가 있습니다. %현재 파일을 참조하고 :h해당 디렉토리에 대한 수정 자에서 파일 이름 (cp. :help filename-modifiers)을 뺀 값 입니다. 그래서,
:e %:h/filename
:w
filename현재 열려있는 파일과 동일한 디렉토리에 이름이 지정된 새 파일을 만들고 작성합니다.
또는 Vim을 좋아하는 사람들은 항상 현재 파일의 디렉토리로 변경합니다. 배치하여 구성 할 수 있습니다.
:set autochdir
당신에 ~/.vimrc파일 (이는 빔 시작시 읽기). 그러면 위는 간단히
:e filename
:w
마지막으로 Vim에는 :help. 탐색하고 검색하는 방법을 배우십시오!
autochdir안타깝게도 색다른 문제 였고, 믿을 수 없다는 것을 알았습니다. 대신 내 vimrc에 autocmd를 넣었습니다.autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
새 파일을 만들고 현재 파일 옆에있는 창에도 표시하려면 다음을 시도해보세요.
:vsp newfile
는의 vsp약자이며 vertical split화면을 반으로 분할하여 하나는 현재 파일을 표시하고 다른 하나는 새 파일을 표시합니다 ( sp수평 분할 인 에서도 작동 함 ).
위의 @MartinLyne의 설명에 따라 .NET을 열었던 파일의 디렉토리에 파일이 생성됩니다 vim. 이를 조정하기 위해 다음과 같이 현재 작업 디렉토리를 변경할 수 있습니다.
:cd %:p:h
이 명령은 현재 작업 디렉토리를 활성 파일의 디렉토리로 변경합니다. 즉, vsp명령 (또는 위의 명령) 을 실행하면 해당 디렉토리에 파일이 생성됩니다.
존재하지 않는 위치에서 vim을 열었을 때 $ vim /etc/<some_folder/<next_folder>/file.cfg
그런 다음 vim 내부에있는 동안 새 디렉토리를 만들려면 일반 모드에서 실행 :! mkdir -p /etc/<some_folder/<next_folder>하고 평소대로 문서를 저장하십시오 :w :x ZZ(원하는대로)
그게 다야