VIM 관련 TIP 정리

입질쾌감 물때표

[ 탭 관련 커맨드 정리 ]

:tabs list all tabs including their displayed windows
:tabm 0 move current tab to first
:tabm move current tab to last
:tabm {i} move current tab to position i+1

:tabn go to next tab
:tabp go to previous tab
:tabfirst go to first tab
:tablast go to last tab

gt go to next tab
gT go to previous tab
{i}gt go to tab in position i

Ctrl-PgDn go to next tab
Ctrl-PgUp go to previous tab

[ vimrc 리로드하기 ]

:so % // % 퍼센트 문자는 현재 파일을 대신한다. 따라서 .vimrc 파일을 수정하면서 적용결과를 알고 싶다면 이 커맨드를 실행시키면 된다.
:so $MYVIMRC

[ Vim 폴딩기능 외우기 ]

폴딩을 하기 : zf
폴딩 펼치기 : 스페이스바 또는 zo
폴딩 닫기 : zc
폴딩의 전체 펼치기 : zR
폴딩 전체를 접기 : zM

[ 창크기 조절 관련 ]

In case you need HORIZONTAL SPLIT resize as well:
The command is the same for all splits, just the parameter changes:

– + instead of < >

Examples:
Decrease horizontal size by 10 columns
:10winc –

Increase horizontal size by 30 columns
:30winc +
or within normal mode:

창 나누기

CTRL+w s : 가로로 분할
CTRL+w v : 세로로 분할

창 조절하기

10 CTRL+w < (decrease) 30 CTRL+w > (increase)

[ 기타 팁들 ]

:noremap p p`[ // 붙여넣기하고 원래 위치로 돌아오기 .vimrc 파일에 매핑해서 쓰면 된다.

:cd %:p:h // 현재디렉토리로 이동

ctrl + G : 현재파일 위치 알려줌

tabe : 탭새로 열기

!명령어 : 명령어실행

:r !명령어 : 명령어 현재 파일에 불러오기

:!ls : ls명령어 결과를 화면 아래 표시

:r !ls : 파일 중간에 ls결과 표시

ctrl + w 3+ : 현재 창의 크기를 3줄 넓히기

ctrl + w 3- : 현재 창으 크기를 3줄 줄이기

[ 입력 ]

a 커서 위치 다음 칸부터 입력
A 커서 행의 맨 마지막부터 입력
i 커서의 위치에 입력
I 커서 행의 맨 앞부터 입력
o 커서의 다음 행에 입력
O 커서의 이전 행에 입력
s 커서 위치의 한 글자를 지우고 입력
cc 커서 위치의 한 행을 지우고 입력

[ 이동 ]

h 왼쪽
j 아래로
k 위로
l 오른쪽
w or W 다음 단어의 첫 글자로 이동
b or B 이전 단어의 첫 글자로 이동
e or E 단어의 마지막 글자로 이동
<CR> 다음 행의 첫 글자로 이동
^ 그 행의 첫 글자로 이동
$ 그 행의 마지막 글자로 이동
+ 다음 행의 첫 글자로 이동
– 위 행의 첫 글자로 이동
( 이전 문장의 첫 글자로 이동
) 다음 문장의 첫 글자로 이동
{ 이전 문단으로 이동
} 다음 문단으로 이동
H 커서를 화면의 맨 위로 이동
z 현재 행을 화면의 맨 위로 이동
M 커서를 화면의 중앙으로 이동
z. 현재 행을 화면의 중앙으로 이동
L 커서를 화면 최하단으로 이동
z- 현재 행을 화면의 최하단으로 이동
[n]H 커서를 위에서 n행으로 이동
[n]L 커서를 아래에서 n행으로 이동
ctrl+u 반 화면 위로 스크롤
ctrl+d 반 화면 아래로 스크롤
ctrl+b 한 화면 위로 스크롤
ctrl+f 한 화면 아래로 스크롤
gg, 1G 문서의 맨 첫 행으로 이동
G 문서의 맨 마지막 행으로 이동
[n]G n행으로 이동
:[n] n행으로 이동
<CR>은 vim에서 enter키의 의미, [n]은 임의이 번호

[ 편집 ]

x, dl 커서 위치의 글자 삭제
X, dh 커서 바로 앞의 글자 삭제
dw 한 단어를 삭제
d0 커서 위치부터 행의 처음까지 삭제
D, d$ 커서 위치부터 행의 끝까지삭제
dd 커서가 있는 행을 삭제
dj 커서가 있는 행과 그 다음행을 삭제
dk 커서가 있는 행과 그 앞행을 삭제
yw 현재 커서 위치의 한 단어를 복사한다.
yy 현재 커서 위치의 한 행을 복사한다.
p 복사한 문자를 붙여넣기
v+j 원하는 위치에서 v를 누르고 j키로 커서를 아래로 이동시키면 역상으로 블록이 형성된다. 이 블록을 지우고 싶을때 d, 복사하고 싶을때 y
ctrl+v ctrl 키를 누른 상태에서 v 키를 누르게 되면 커서의 위치를 기점으로 사각형의 블록을 형성할 수 있다.
~ 대소문자 전환(블록지정 후 사용 가능한 키)
d 삭제(블록지정 후 사용 가능한 키)
y 복사(블록지정 후 사용 가능한 키)
c 치환(블록지정 후 사용 가능한 키)
> 행 앞에 탭 삽입(블록지정 후 사용 가능한 키)
< 행 앞에 탭 제거(블록지정 후 사용 가능한 키)
: 선택된 영역에 대하여 ex 명령(블록지정 후 사용 가능한 키)
J 행을 합침(블록지정 후 사용 가능한 키)
U 대문자로 만듦(블록지정 후 사용 가능한 키)
u 소문자로 만듦(블록지정 후 사용 가능한 키)
u 되돌리기 기능
ctrl+r 되살리기 기능
/[찾고자 하는 문자열] or ?[찾고자 하는 문자열]
n 찾은 문자열중 다음 문자열로 이동
N 찾은 문자열중 이전에 매칭하는 문자열로 이동
:[범위]/[매칭 문자열]/[치환 문자열]/[행 범위] 치환
:%s/[매칭 문자열]/[치환 문자열]/g 문서에 있는 매칭 문자열을 치환 문자열로 바꾼다.
:s/[매칭 문자열]/[치환 문자열]/g 문서 전체에서 제일 처음 매칭되는 행의 문자열만 치환한다.
:2,4s/[매칭 문자열]/[치환 문자열]/g 2행에서 4행 사이에 매칭되는 문자열을 치환한다.
:-1,+3s/[매칭 문자열]/[치환 문자열]/g 현재 커서의 위치에서 위로 1행 아래로 3행 되는 범위에 매칭되는 문자열을 치환한다.
:%s/[매칭 문자열]/[치환 문자열]/ 한행에서 여러개의 매칭 문자열이 존잰한다고 해도 한번만 치환이 일어나게 된다.
:%s/[매칭 문자열]/[치환 문자열]/gc 행 범위에 c를 두게 되면 매칭되는 문자열에 대해 치환할 것인지 사용자에게 물어본다.
:g/pattern/s/[매칭 문자열]/[치환 문자열]/g pattern이 있는 모든 행의 매칭문자열을 교체
:g/pattern/s//[치환 문자열]/g :%s/[매칭 문자열]/[치환 문자열]/g와 동일

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다