매일 매일 Vim 만 쓴다면, 언젠가는 전문가(?)라 할 날도 오겠지만.. 사실 자주 쓰기는 하지만, 용도가 상당히 한정돼 있으므로, 날아다닐 정도로 쓰지는 못하고 있다. 그저, 아주 간단한 편집만 할 수 있을 뿐.
Vim 에서 글자를 반복하여 입력하고 싶을 땐? 물론, 그 글자를 계속 누르고 있으면 되지만??
Insert 일 때와 Command 상태, 또는 Normal 일 때, 모두 이 ‘반복’을 가능하게 할 수 있는 모양이다.
먼저, Normal 상태(Insert/Command 가 아닌 상태)에서 입력하는 방법을 알아보자.
# 반복할 숫자i(또는 a)반복할 글자<ESC> # 사용 예 80i#<ESC>
# 를 80번 반복하여 입력. i 를 쓰나 a 를 쓰나 같다. (엄밀히 말하면 조금 다르겠지만.. 커서가 현재 위치냐, 그 다음 글자에 위치하냐의 차이가 있다.)
StackExchange 질문에 달린 두번째 댓글을 참고했다.
그 외에, Command 상태에서 이렇게 할 수도 있다.
:norm 80i#
또는, 이미 있는 문자를 다른 문자로 바꾸고 싶을 때는, 다시 말해 위에 있는 # 를 ^ 등으로 바꾸고 싶다면?
# 를 모두 선택한 뒤, ^ 로 바꾸라는 명령을 준다.
v$r^
위 내용 역시 StackExchange 의 같은 글을 참고했다.
설명하자면, v 로 Visual Mode 로 진입하고, $ 로 커서 끝까지 선택한 후, r 로 바꾸라(Replace) 명령을 내리고, 마지막 ^ 를 입력하여 마친다.
문제는.. Ctrl-o 를 사용하여, Insert 상태에서 1회만 Normal 상태로 돌아가는 명령을 쓰고 싶은데, 그게 안된다. 왜 그럴까..?
역시나 문제는 KDE 였다. 검색으로는 찾지 못했지만, 어쨌든 KDE 에 문제가 있다는 사실은 알아냈다.
Gnome-shell 에선 확인하지 못했고, LXDE 에선 Ctrl-o 가 정상작동함을 확인했으니, Xon/Xoff 문제와 같이 KDE 의 문제로 보인다.
아무튼, KDE Tilix 상황에선 Ctrl-o 가 아니라 Ctrl-Meta-o 를 눌러줘야 한다.
KDE Konsole 에선 또 다르다. 여기선 Ctrl-Shift-o 가 그 ‘키’가 된다. Ctrl-Meto-o 를 누르면 @s 가 입력된다. (하지만 작동은 한다.)
KDE 문제인지 Tilix 문제인지는 알 길이 없다.
백문이 불여일견.

사용법은 다음과 같다.
- Ctrl-Meta-o (아래쪽 상태막대에 — (끼워넣기) — 로 표시가 바뀜을 확인)
- 숫자(반복 원하는 만큼. ex. 80) : 상태막대에 숫자가 표시됨. (위 화면에선 20)
- i (삽입모드로 돌아감)
- 반복 원하는 문자 넣기
- <ESC> 로 작업 종료 : 이후 문자가 반복되어 입력됨.
Vim 설정에 따라 화면 아래쪽에 명령(위의 경우 숫자 20 입력 상태)이 안보일 수도 있다. 옵션이 설정되어 있지 않아 이런 현상이 나타나는데, 다음으로 해결할 수 있다.
:set showcmd
또는, .vimrc
를 열고, 위 내용을 넣어두면 더 편하다. 그냥 set showcmd
만 추가하면 된다.