Linux
vim 사용법 간단정리
naudhizb
2023. 4. 13. 17:32
반응형
vim 단축키 정리
vim
Vim은 터미널에서 동작하는 텍스트 편집기로, 많은 개발자들이 사용하는 강력한 도구입니다.
Vim은 모드, 연산자, 그리고 명령어들을 조합하여 높은 생산성을 제공합니다.
CLI(Command Line Interface)
CLI는 텍스트 명령어를 사용하여 작업을 수행하는 방식으로 마우스를 사용하지 않고 키보드만으로 동작하는 인터페이스입니다.
모드 정리
프로그램 실행 시 Normal 모드로 진입하게 되며 각 모드로 전환하는 방법은 아래와 같습니다.
+-----------+
+----------------| |-------------+
| |Normal Mode| |
| +---------->| |<--------+ |
| | +-----------+ | |
| | | ^ | |
v | | ESC i,a,o | | ESC ESC | | :
v | v | | v
+---+----+---+ +-------+---+ +---+---+----+
| Visual Mode| |Insert Mode| |Command Mode|
+------------+ +-----------+ +------------+
- Normal Mode: 기본 모드입니다. 이 모드에서는 커서, 페이지 이동 및 명령어를 입력할 수 있습니다.
- Insert Mode: 일반적인 텍스트 편집기와 같은 모드입니다. 이 모드에서는 텍스트를 입력할 수 있습니다.
- Visual Mode: 텍스트 선택을 위한 모드입니다. 선택된 영역에서 명령어를 수행할 수 있습니다.
- Command Mode: 명령어를 입력할 수 있는 모드입니다.
Normal Mode
커서 이동
상하 이동
단축키 | 설명 | 비고 |
---|---|---|
gg | 맨 처음 줄로 이동 | |
^b | backward page | 위로 1페이지 |
^u | upward | 위로 1/2페이지 |
k | middle finger | 위로 1라인 |
cursor | 커서 기준 | |
j | index finger | 아래로 1라인 |
^d | downward | 아래로 1/2페이지 |
^f | forward page | 아래로 1페이지 |
G | 맨 끝줄로 이동 |
좌우 이동
단축키 | 설명 | 비고 |
---|---|---|
0 | column 0 | 줄의 시작위치로 |
^(hat) | 공백이 아닌 처음 글자 | |
B | Begin WORD | 이전 WORD로 |
b | begin word | 이전 word로 |
h | index finger | 이전 글자로 |
cursor | 커서 기준 | |
l | ring finger | 다음 글자로 |
e | end of word | word의 끝으로 |
E | End of WORD | WORD의 끝으로 |
W | next WORD | 다음 WORD의 시작 |
$ | 줄의 끝 위치로 |
문자 찾기
/
: 다음 방향으로 문자열 찾기n
: 다음 찾기N
: 이전 찾기
?
: 이전 방향으로 문자열 찾기,
: 다음 찾기;
: 이전 찾기
문자 편집
dd
: 현재 라인 잘라내기x
: 커서 다음 글자 삭제r
: 커서 글자 대체p
: 커서 뒤로 붙여넣기P
: 커서 앞에 붙여넣기yy
: 현재 라인 붙여넣기u
: Undo^r
: Redo.
: 이전 명령어 반복 실행
[operator][count][motion]
| | |
| v +-------> w: word
| (emittable) W: WORD
| " or ' : quoted string
+---> d: delete/cut s: sentence
y: yank/copy [: []block
c: change (: ()block
gU: make Upper case <: <>block
~: swap case t: XML/HTML tag
<: shift left {: {}block
=: indent
화면 편집
명령 | 단축키 | 설명 |
---|---|---|
:sp[lit] | ^ws | 창을 가로로 분할 |
:vs[plit] | ^wv | 창을 세로로 분할 |
^ww | 다음 창으로 전환 | |
^wW | 이전 창으로 전환 | |
^wr | 다음 창과 교환 | |
^w[hjkl] | 해당 방향으로 창 전환 | |
^w= | 창 크기를 균등하게 | |
^w_ | 창 높이를 최대로 | |
^w| | 창 너비를 최대로 | |
:q | ^wq | 현재 창 종료 |
^Wo | 현재 창을 제외한 나머지 창 종료 | |
:qa | 모든 창 종료 |
Insert Mode
진입 방법
현재 커서를 기준으로 키에 따라 이동된 위치에 커서를 옮기며 문자열을 입력 가능한 상태로 바꿉니다.
cursor
|
O v
I<-...-i_a-...->A
o
- I : 줄 시작 위치에 입력
- i : 커서 이전에 입력
- a : 커서 다음에 입력
- A : 줄 마지막 위치에 입력
- O : 이전 줄에 입력
- o : 다음 줄에 입력
Visual Mode
텍스트 선택을 위한 모드입니다.
- v : 일반 텍스트 선택 모드
- V : 줄 선택 모드
- ^v : 비주얼 선택 모드(한 줄이 길어 여러줄로 표시되는 경우 블럭 형태로 지정 가능)
Command Mode
- :e : Edit 파일 열기
- :ene : 새 피일 만들기
- :w : 파일 저장
- :q : 편집기 종료
- :q! : 저장하지 않고 편집기 종료
- :set nu : 라인 번호 표시
- :set nonu : 라인 번호 표시 해제
- :set hlsearch: 검색결과 하이라이트 표시
- :help : 도움말 보기
Reference
반응형