Vim에서 작업 / 현재 디렉토리를 설정하는 방법은 무엇입니까?


109

따라서 : e 명령을 사용하여 새 파일을 만들려면 전체 경로를 지정하지 않고 새 파일 이름 만 지정하고 싶습니다. 할 수 있습니까?

답변:


144

이미 제안했듯이 autochdir을 사용할 수 있습니다. 그러면 열린 파일의 디렉토리로 변경되고 다른 옵션은 다음과 같습니다.

:cd mydirectory

디렉토리가 변경됩니다. 이것은 절대 또는 상대 경로 일 수 있으므로 :cd ..한 수준 위로 이동합니다. 또는 :cd %:hautochdir을 설정하지 않고 현재 파일이있는 디렉토리로 변경할 수도 있습니다.

:cd

디렉토리를 홈 디렉토리로 변경합니다 (또는 Windows에서는 현재 디렉토리를 인쇄합니다).

:cd -

디렉토리를 이전에 방문한 디렉토리로 변경합니다.


13
여러 창을 사용하는 경우 : lcd를 사용하여 현재 창에 대해서만 디렉토리를 변경할 수도 있습니다.
쓸모 없음

1
@ 쓸모없는 : 흥미 롭다 ... 나는 그것을 원치 않을 것이라고 생각하지만 그것은 맛의 문제라고 생각한다. 정보 주셔서 감사합니다.
falstro

3
% : h가 무엇을 의미하는지 알아 내려고합니다. 도움이 필요하십니까?
Michael

10
@Michael %은 경로를 포함한 현재 파일 이름으로 변환하고, :수정자를 추가하고, h머리입니다. 즉, 파일 이름 자체를 제외한 마지막 경로 구분자까지의 경로입니다.
falstro

@falstro, : cd 명령이 동일한 vim 실행 인스턴스 내의 모든 창에 어떻게 적용되는지 알고 있습니까? 예 : split : sp를 사용하는 경우
mgouin

15

또한 netrw 파일 탐색기로 파일 시스템을 탐색하는 경우 c 키를 눌러 현재 디렉토리를 설정할 수 있습니다.


또한 쉘에서 효과 set autochdir를 내기 위해 'c' key사용 !command args 하여 변경된 디렉토리에서 사용할 수 있습니다 .
pimgeek

9

추가하십시오 set autochdir당신에게 .vimrc. 이번 한 번만 변경하려면을 사용 :cd하거나 :cd!강제 로 변경하십시오 .


1
: 도움이 내의 .vimrc에 매핑을 추가하는주의 사항을 촬영했습니다, 그래서 (내가 어떤 사람을 모르는)이 휴식 몇 가지 플러그인을 말한다 cnoremap cd. lcd %:p:h하고 nnoremap ,cd :cd %:p:h<CR>:pwd<CR>대신
ErichBSchulz

또한 'c' keynetrw 파일 탐색기에서 사용 하여이를 동반합니다.
pimgeek

3

나는 vim에 무엇이 문제인지 모르겠습니다. 현재 vim을 시작하는 디렉토리를 원합니다.

위의 autochd에 대한 팁을 따라 .vimrc에서 noautcd로 설정했습니다.

아직 해보지 않았지만 지금부터 이렇게 vim을 시작하려고합니다.

vim —cmd 'cd `pwd`'

그러면 현재 디렉토리에 고정됩니다!


2

으로 netrw:가압뿐만 아니라 c현재 디렉토리를 설정하는 키를, 당신은 또한 넣을 수 있습니다 :

let g:netrw_keepdir= 0

당신의 .vimrc; 이것은 netrw브라우징 디렉토리를 현재 디렉토리와 동일하게 유지 한다는 것을 의미합니다 .


이것은 각 netrw 폴더 변경에 대해 : lcd와 동일한 동작을하는 것 같습니다. 이 설정이 대신 : cd (모든 창에 대해 dir 변경)와 동일한 방법을 알고 있습니까? 감사!
mgouin

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.