답변:
조잡한 "줄"텍스트 개체는 다음과 같습니다.
xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
그리고 조잡한 "버퍼"텍스트 객체 :
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
---편집하다---
:에 "연산자는"그 자체로 아무것도하지 않는 명령이다 d
, y
등
해당 키를 누르면 "오퍼레이터 보류 모드"로 전환됩니다. Vim은 "오퍼레이터 보류 모션"을 사용하여 원하는 조작을 지시합니다.
:omap
또는 :onoremap
사용자 지정 연산자 보류 동작을 사용 하거나 정의 할 수 있습니다 . 여기에 사용 된 기술은 다음에서 영감을 얻었습니다 :help omap-info
.
참고 내가 사용하는 것이 :onoremap
있기 때문에 il
, al
그리고 i%
이미 존재하지 않는다. 기존 모션 또는 텍스트 객체를 재정의하는 경우 (예 ip
: 재귀 매핑)를 사용해야합니다 :omap
.
:help :map-operator
약간 더 진보 된 방법을 설명합니다.
참조 :help v_o
에 대한 o
시각적 모드입니다.
o
onoremap에서 (오퍼레이터 보류 모드) 란 무엇입니까 ? o
비주얼 모드에서 무엇을 합니까? 선택의 반대편으로 넘어 가기 때문에 "다른 쪽"이라고 생각합니다. 어떻게 찾을 :h
수 있습니까? :h x_o
또는로 찾을 수 없습니다 :h o
.
0 대신 ^를 사용하는 추가 솔루션을 제안합니다 (따라서 줄은 첫 번째 문자의 시작 부분에서 시작합니다.
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
이 방법으로 "줄 바꾸기"를하면 들여 쓰기 수준이 적용됩니다.