답변:
또 다른 해결책은 vim-textobj-entire 라는 플러그인을 사용하는 것 입니다. 기본적으로이 플러그인은 앞뒤 빈 줄을 제외한 ae
전체 버퍼에 ie
대한 전체 버퍼 의 텍스트 객체 를 제공합니다 .
이 플러그인은 동일한 작성자의 vim-textobj-user 에 의존 하므로 사용자는 모든 텍스트 객체를 편안하게 정의 할 수 있습니다. 이것을 잘 활용하는 플러그인 이 많이 있습니다 .
기본적으로 전체 파일에 대한 텍스트 객체는 없지만를 사용하여 만들 수 있습니다 omap
. 이 경우 다음과 같이 보일 것입니다.
onoremap f :<c-u>normal! mzggVG<cr>`z
작동 방식은 다음과 같습니다.
onoremap f " make 'f' the text object name
:<c-u> " use <c-u> to prevent vim from inserting visual selection marker at the beginning of the command automatically.
normal! " use normal to make key presses ignoring any user mappings
mzggVG<cr>`z " make a marker in register z, select the entire file in visual line mode and enter the normal command, and go back to the z marker
노트:
Ctrlu명령 행 모드에서 커서 위치의 왼쪽에있는 모든 것을 삭제할 수 있습니다. 이 작업이 수행되는 이유는 비주얼 모드에서 직접 명령 행을 입력하면 명령 행에 자동으로 삽입 '<,'>
되기 때문에 원하는 것이 아니기 때문입니다. 또한 일반적으로 줄에서 다음 검색 문자로 이동하는 데 사용 f
되기 때문에 이외의 다른 것을 사용하는 것이 좋습니다 f
. 예를 들어, 현재 줄 fi
에서 다음 i
으로 이동합니다 .
관련 도움말 주제 :
:help omap-info
:help :normal
:help c_CTRL-U
:help v_:
``
끝에 a 를 추가 하면 커서가 이전 위치로 돌아갑니다.
mmgg"+yG`m
하고 생각하지 않았다. 고마워, 이것은 .vimrc에서 올바르게 가고 있습니다.