1.1: moving the cursor
h
j
k
l
h(left), j(down), k(up), l(right) 커서 이동!
1.2: exiting vim
:q!
마지막 저장 이후에 변경된 내용을 모두 무시하고 편집기 종료!
1.3: text editing - deletion
x
한 문자 삭제!
1.4: text editing - insertion
i
글자 삽입!
1.5: text editing - appending
A
해당 라인의 맨 끝에 글자 삽입! 커서가 어디에 있었든지 그 라인의 맨 끝으로 가서 삽입됨.
1.6: editing a file
:wq
저장 후 종료!
2.1: deletion commands
dw
지우고자 하는 단어의 시작 부분에서 dw를 입력하면 한 단어가 삭제됨!
2.2: more deletion commands
d$
해당 라인에서 커서 위치부터 끝까지 삭제!!!
2.3: on operators and motions
d: operator
w, e, $: motion
=> d[number]motion
dw
de
d$
dw: 커서 위치부터 그 단어 끝 + 이후 공백 한 칸까지 지움
de: 커서 위치부터 그 단어 끝까지 지움 (공백은 안지움!)
d$: 커서 위치부터 끝까지 싹 지움
2.4: using a count for a motion
motion 앞에 숫자를 붙이기!
2w
3e
0
Typing a number with an operator repeats it that many times.
n에 커서가 위치해있다고 하면,
2w 입력하면 an에 a로 가고, a에서 3e를 입력하면 repeats에 s로 감!
0은 커서가 위치한 문장의 맨 앞으로 감
2.5: using a count to delete more
d2w
d2w: 커서가 위치한 문자부터 2단어까지 삭제
2.6: operating on lines
dd
dd: 해당 라인 전체 삭제
2dd: 해당 라인과 그 아래 라인까지 전체 삭제
2.7: the undo command
u
U
CTRL-R
u: 마지막 명령어 실행취소
U: 해당 라인에 수정 한 것들 모두 실행취소
CTRL-R: undo 작업을 undo
3.1: the put command
dd
p
dd: 한 줄 전체 삭제 -> vim register에 들어감
p: 커서가 있는 라인 아래에 vim register에 있던 데이터가 PUT됨
3.2: the replace command
r
r을 누르고 다른 문자를 입력하면 커서가 있는 위치의 문자가 새로 입력한 문자로 바뀜!
3.3: the change operator
ce
커서 위치부터 해당 단어가 끝나는 곳까지(e) 삭제되고, insert 모드로 바뀜(c)
3.4: more changes using c
c[number]motion
cw
c$
ce
cw: 커서가 있는 위치부터 그 다음 단어 바로 앞까지 삭제, insert 모드로 바뀜
c$: 커서가 있는 위치부터 그 라인 끝까지 삭제, insert 모드로 바뀜
4.1: cursor location and file status
CTRL-g
G
gg
CTRL-g: 화면 하단에 현재 보고있는 파일의 절대 경로, 커서의 위치 등의 정보가 나옴
G: 해당 파일의 맨 마지막 라인으로 이동
gg: 해당 파일의 맨 처음 라인으로 이동
530G
해당 파일의 530번째 라인으로 이동
4.2: the search command
/errroor
커서 위치 이후부터 'errroor'라는 단어를 검색!
n을 누르면 그 다음 errroor로 가고, N을 누르면 이전 errroor로 감
?errroor
검색 방향을 반대로 :)
CTRL-o
CTRL-o: 검색하기 직전 커서의 위치로 이동
4.3: matching parentheses(괄호) search
(, [, {, ), ], } 에서 % 입력하면
자기 짝꿍 괄호로 이동함!
옭 미쳤다 짱 신기한 기능,, 디버깅할 때 유용함~
4.4: the substitute command
:s/old/new/g
substitute, old를 new로, globally(해당 라인에 있는 모든 old를 new로 대체)
:s/old/new
substitute, old를 new로, 커서 이후에 처음으로 등장하는 old를 new로 대체
:#,#s/old/new/g
#~# 라인에서 old를 new로 대체
:%s/old/new/g
문서 전체에서 old를 new로 대체
:%s/old/new/gc
문서 전체에서 old를 new로 대체, 한번에 다 바꿔버리는게 아니라 하나하나 확인해가며!
댓글 영역