Vim에서 현재 파일의 이름을 바꾸려면 어떻게해야합니까?
예를 들면 다음과 같습니다.
- 편집 중입니다
person.html_erb_spec.rb
- 이름을 바꾸고 싶습니다
person.haml_spec.rb
- 계속 편집하고 싶습니다
person.haml_spec.rb
우아하게이 작업을 수행하려면 어떻게해야합니까?
답변
이 작업을 수행 할 수 있는 작은 플러그인 이 있습니다.
답변
이 명령은 :saveas
이지만 불행히도 이전 파일은 삭제되지 않으므로 수동으로 수행해야합니다. 자세한 내용은 참조하십시오 :help saveas
.
편집하다:
대부분의 vim 설치에는 통합 파일 탐색기가 있으며 이러한 작업에 사용할 수 있습니다. :Explore
명령 모드로 시도하십시오 (실제로 기능 키에 매핑하면 매우 편리합니다). 예를 들어 파일 이름을 바꾸 R
거나 파일을 삭제할 수 있습니다 D
. 그러나 <F1>
탐색기를 누르면 더 나은 개요를 볼 수 있습니다.
답변
git을 사용하고 이미 tpope의 플러그인 fugitive.vim이있는 경우 간단히 다음을 수행하십시오.
:Gmove newname
이것은 :
- 디스크에서 파일 이름을 바꿉니다.
- git repo에서 파일 이름을 바꿉니다.
- 파일을 현재 버퍼로 다시로드하십시오.
- 실행 취소 기록을 유지하십시오.
파일이 아직 git repo에 추가되지 않은 경우 먼저 파일을 추가하십시오.
:Gwrite
답변
NERDTree 플러그인으로하고 있습니다.
:NERDTreeFind
그런 다음 m
이름을 바꾸려면 (m)ove the current node
파일 이름을 선택 하고 변경할 수 있습니다 . 또한 삭제, 복사, 이동 등과 같은 옵션이 있습니다.
답변
- 편집하는 동안 파일을 작성하십시오
:w newname
–사본을 작성하십시오. - 새 사본 편집을 시작하십시오
:e#
. - (선택 사항) 기존 사본을 제거합니다
:!rm oldname
.
Windows에서 선택적 3 단계는 약간 변경됩니다.
- (선택적으로) 오래된 Windows 사본을 제거하십시오
:!del oldname
.
답변
파일이 이미 저장된 경우 :
:!mv {file location} {new file location}
:e {new file location}
예:
:!mv src/test/scala/myFile.scala src/test/scala/myNewFile.scala
:e src/test/scala/myNewFile.scala
권한 요구 사항 :
:!sudo mv src/test/scala/myFile.scala src/test/scala/myNewFile.scala
다른 이름으로 저장:
:!mv {file location} {save_as file location}
:w
:e {save_as file location}
Windows 미확인
:!move {file location} {new file location}
:e {new file location}
답변
나는 :Rename
tpope의 내시 에서 권장 합니다.
또한 다른 많은 편리한 명령이 포함되어 있습니다.
이름 바꾸기 명령은 현재 다음과 같이 정의됩니다 (업데이트하려면 리포지토리를 확인하십시오!).
command! -bar -nargs=1 -bang -complete=file Rename :
\ let s:file = expand('%:p') |
\ setlocal modified |
\ keepalt saveas<bang> <args> |
\ if s:file !=# expand('%:p') |
\ call delete(s:file) |
\ endif |
\ unlet s:file
