목차
Vim Text Object
텍스트 오브젝트 레퍼런스
Vim Script로 추가하는 텍스트 오브젝트
Vim Text Object
Vim Text Objects: The Definitive Guide | The Carbon Emitter
에 대한 정리이다. 자세한 설명은 해당 문서를 읽는다. 이 위키 페이지는
텍스트 오브젝트의 레퍼런스
이다.
편집 명령의 구조
<숫자><명령><텍스트 오브젝트 혹은 이동키>
숫자 : 숫자로 텍스트 오브젝트나 이동키를 이 숫자 만큼 반복하여 명령을 적용한다.
명령 : d(삭제), y(복사), c(덮어쓰기) 같은 명령
텍스트 오브젝트와 이동키 : 텍스트 오브젝트는 텍스트의 한 단위로 단어, 문장, 문단 등을 나타내고 이동키는 h,j,k,l,f,t,% 같은 키를 나타낸다.
텍스트 오브젝트는 두 가지로 분류된다.
기본 :
a
로 시작. 텍스트 오브젝트를 감싸는 부분을 포함한다. 예를들면, 단어의 경우 단어를 감싸는 공백 포함.
내부(inner) :
i
로 시작. 감싸는 부분을 제외하고 적용된다. 예를들면 단어의 경우 공백을 제외한 단어 글자만.
텍스트 오브젝트 레퍼런스
단어
aw : 감싸는 공백을 포함한 단어
iw : 공백을 포함하지 않는 단어
문장
as : 문장 끝의 공백 포함.
is : 문장 끝의 공백 제외
문단
ap
ip
문자열
a“ : 쌍따옴표로 감싼 문자열
i” : 쌍따옴표를 제외한 쌍따옴표 안의 문자열
a' : 홑따옴표로 감싼 문자열
i'
a` : back quote로 감싼 문자열
i`
괄호 ()
a)
i) : 괄호 자체는 제외
대괄호 []
a]
i]
중괄호
a}
i}
마크업 언어 태그
at : 태그 블록 전체
it : 태그 블록의 내부 텍스트만
a> : 태그
i> : 태그의 <> 안에 내용만
Vim Script로 추가하는 텍스트 오브젝트
CamelCaseMotion
i,w
ArgTextObject
: 함수의 인자 텍스트 오브젝트
aa
ia
Vim Indet Object
: 파이썬이나 커피스크립트 같은 인덴트 기반 언어용 인덴트 텍스트 오브젝트
ai
ii
Ruby Block
: 루비의 블록(end로 끝남)을 텍스트 오브젝트로
ar
ir