vim 기초 사용법
될 수 있으면 vanilla vim에서도 되는 것들로 채운다
vim hlghlight unimpared
-
Tip 1.
hightlight search끄기 - Tip 2. Blank line (빈 줄)간에 이동하고 싶을 때는 어떻게 ?
- Tip 3. vim help 사용방법
- Tip 4. 여러줄 앞에 동일한 문구를 넣고 싶을 때
- Tip 5. gVim에서 menu & toolbar를 숨기고 싶을 때
- Tip 6. 문서에서 공백문자를 보고 싶을 때
- 매번 잊어버려서 참고할 장소를 만들었다
Tip 1. hightlight search 끄기
- #hightlight, #unimpared
문제 상황
- vim에서 특정 단어 위에서
*을 하거나 serach를 하게되면 찾은단어에 highlight 색상이 표기된다. - 찾은 목적이 완료된 뒤에 highlight가 너무 눈에 튀어 끄고 싶을 때 어떻게 하지?
관련 링크
plugin이 설치되지 않은 vim에서의 해결책
- 다음번 서치까지 highlight를 끄고자 할 때
1
:noh
- hightlight 기능을 완전히 끄고 싶을 때
1
set nohlsearch
- 토글하려면 ( F3 키에 할당한 예제 )
1 2
set hlsearch! nnoremap <F3> :set hlsearch!<CR>
plugin이 설치된 상태일때
- 관련 답변 링크: there are two
must haveplugins for this: - 나는
unimpared를 설치했기 때문에…-
[oh-:set hlsearch -
]oh-:set nohlsearch -
yoh-hlsearch토글 ( 위 답변에는coh로 되어있지만, 최근 버전에서 댓글과 같이yoh로 변경됨 )
-
Tip 2. Blank line (빈 줄)간에 이동하고 싶을 때는 어떻게 ?
문제 상황
- 여러 Paragraph로 나뉜 함수 바디를 한덩이로 뭉쳐 선택해서 옮기고 싶다.
- 그러러면, 함수 바디 내에서 blank line 사이를 뛰어 다니며 제거 해야 하는데..
- 빈 줄에서 빈 줄로 뛰는 vim 명령은?
- 한덩이로 뭉쳐있으면
vip명령으로 쉽게 선택하고 마음대로 할 수 있는데..
관련 링크
- Vim - navigate between paragraphs by blank lines, stackexchange / Unix & Linux
- cursor motions or navigation, vimhelp.org
해결책
-
{: paragraphs backward -
}: paragraphs forward
Tip 3. vim help 사용방법
문제 상황
- vim help안에서 navigation 하는 방법을 많이 까먹는다
관련 링크
해결책
help 진입및 탈출 방법
- 명령줄에서
:help를 입력- 별도 창이
horizontal로 열리면서 커서 이동 -
:q명령으로 창도 닫고 원래 편집점으로 이동 -
:help대신:h으로 해도 동작한다
- 별도 창이
- 명령줄에서
:help pattern으로 특정 토픽으로 이동- 플러그인 설명을 보고 싶으면 pattern에 플러그인 이름을 넣는다
-
:help pattern대신:h pattern으로 해도 동작한다
Link 이동
-
/quick을 type 하면 “quickref” 링크를 search한다 - 해당 링크위에서 Ctrl + ]를 클릭하면 quickref 토픽으로 이동한다
- 해당 토픽을 모두 리뷰한 뒤, Ctrl + t를 클릭하면 이전 토픽으로 복귀한다
- Ctrl + o를 눌러서 help history 상의 older location으로..
- Ctrl + i를 눌러서 help history 상의 newer location으로 이동할 수 있다
help 검색
- 기본적인 검색은
/명령으로 일반 파일에서 검색하듯이 검색하면 된다 -
:helpgrep명령으로 모든 help 파일을 검색할수 있다- 예를 들면
1
:helpgrep \csearch.\{,12}file
-
\c는 pattern에 대해 case insensitvie 옵션을 선택함을 의미한다 - 위 패턴은 “search”를 찾은 후 12 문자 이내에 “file”이 따라오는 패턴을 찾는것이다
-
- 결과가 나온 이후에 다음 명령으로 결과간 navigation이 가능하다
-
:cnext: 다음 매칭 결과 -
:cprev: 이전 매칭 결과 -
:cnfile: 다음 파일의 매칭 결과 -
:cpfile: 이전 파일의 매칭 결과 -
:cfirst: 첫번째 매칭 결과 -
:clast: 마지막 매칭 결과 -
:cc: 헬프파일 브라우징중에 현재 매칭 결과 링크로 복귀 -
:copen: 모든 매칭 결과의 링크를 별도 창으로 띄움 ( 해당 창을 네이비게이션 하면서 링크에서 엔터하면 별도 헬프창을 띄움)
-
- 예를 들면
Context
-
찾고 싶은 토픽별로 사용하는 기호가 있다
prefix Example Context ∶∶h ∶rex 명령1(colon으로) 에 대한 help를 찾고 싶을 때 none ∶h rnormal mode v_∶h v_rvisula mode 관련 토픽 i_∶h i_ctrl-winsert mode 관련 토픽 c_∶h c_ctrl-rex 명령줄 관련 토픽 /∶h /\r찾는 패턴 (이 경우엔 ∶h \r또한 동작함)'∶h 'ro'option 관련 토픽 -∶h -r(Vim 을 시작할때) Vim argument 관련 토픽 -
가끔 특정 control key가 Vim에서 어떤 의미를 가지는지 알고 싶을 때가 있다
- 예를 들면, “ctrl-r”을 포함하는 모든 help 토픽을 보려고 할 때
-
:h ctrl-r을 type하고 Ctrl + d를 누른다 -
아래 표는 서로 다른 context에서 다양한 key를 누를때의 help를 보여준다
Example Help for key ∶h ctrl-rCtrl-R in normal mode ∶h i_ctrl-rCtrl-R in insert mode ∶h c_ctrl-rCtrl-R in command mode ∶h v_ctrl-vCtrl-V in visual mode
Tip 4. 여러줄 앞에 동일한 문구를 넣고 싶을 때

- 커서를 맨 첫번째 줄 첫번째 컬럼에 둔다
- visula block mode로 들어간다 ( ctrl+v)
- Relative Line number를 이용하여 커서를 목표지점까지 내린다 ( 3j)
- 대문자 I를 누른다
- 넣고싶은 문구를 넣는다. ( 화면에서는 첫줄만 바뀌지만 다음단계에서 ‘Esc’를 누르면 전체 반영된다)
- Esc를 누른다
Tip 5. gVim에서 menu & toolbar를 숨기고 싶을 때

1
2
3
:set go-=m "menu bar
:set go-=T "toolbar
:set go-=r "scrollbar
- ‘go’는 ‘guioptions’ 의 abbreviation이다
- 다시 보이고 싶으면 ‘-=’를 ‘+=’로 변경한다
Tip 6. 문서에서 공백문자를 보고 싶을 때
- 공백이 tab문자인지, space인지 알고 싶을때 사용
- 관련링크
- 주요명령은
set list,set nolist인데
-
colon으로 시작하는 명령 ↩