Vim
vi 명령어
최재국
2021. 1. 28. 15:08
이동
왼쪽으로 커서 이동 | h |
아래로 커서 이동 | j |
위로 커서 이동 | k |
오른쪽으로 커서 이동 | l |
다음 페이지로 이동 | ctrl + f |
이전 페이지로 이동 | ctrl + b |
절반만큼 다음 페이지로 이동 | ctrl + u |
절반만큼 이전 페이지로 이동 | ctrl + d |
문서 맨 앞으로 이동 | gg |
문서 맨 끝으로 이동 | G |
문장 맨 앞으로 이동 | ^ |
라인 맨 앞으로 이동 | 0 |
문장 맨 뒤로 이동 | $ |
지정한 라인넘버로 이동 | :숫자 |
]] | 아랫 방향으로 '{'가 위치한 곳으로 이동 |
[[ | 윗 방향으로 '{'가 위치한 곳으로 이동 |
][ | 아랫 방향으로 '}'가 위치한 곳으로 이동 |
[] | 윗 방향으로 '}'가 위치한 곳으로 이동 |
창
가로로 분할된 창 열기 | :sp |
세로로 분할된 창 열기 | :vs |
분할된 상측창 이동 | ctrl + w + k |
분할된 하측창 이동 | ctrl + w + j |
분할된 좌측창 이동 | ctrl + w + l |
분할된 우측창 이동 | ctrl + w + h |
분할된 다음창 이동 | ctrl + ww |
수평 분할된 현재 창 최대화 | ctrl +w + - |
수직 분할된 현재 창 최대화 | ctrl + w +\ |
탭
탭 열기 | :tabnew |
다음 탭으로 이동 | gt |
이전 탭으로 이동 | gT |
검색
직접 패턴 검색 | :/[검색할 패턴] |
다음 검색 | 검색할 패턴에 커서를 위치시킨 후 * |
이전 검색 | 검색할 패턴에 커서를 위치시킨 후 # |
아랫 방향으로 검색할 패턴 이동 | n |
윗 방향으로 검색할 패턴 이동 | N |
탐색
현재 탭에서 오픈할 파일 탐색 | :e ./ |
설정
utf-8 인코딩 전환 | :set enc=utf-8 |
대소문자 무시 | :se ic |
수정
Undo | u |
Redo | ctrl + r |
줄단위 잘라내기 | dd |
해당 위치부터 줄 끝까지 잘라내기 | D |
줄단위 복사하기 | yy or Y |
들여쓰기 | >> |
내어쓰기 | << |
다음 라인을 현재 라인에 이어 붙이기 | J |
대소문자 전환 | ~ |
숫자 증가 | ctrl + a |
숫자 감소 | ctrl + x |
비주얼 모드 수정
줄 단위 비주얼 모드 | V |
커서 단위 비주얼 모드 | v |
줄 단위 커서 단위 비주얼 모드 | ctrl + v |
잘라내기 | d |
복사하기 | y |
들여쓰기 | > |
내어쓰기 | < |
하이라이트
치환
:[시작 라인 넘버],[끝 라인 넘버][%][s][구분자][원본패턴][구분자][바꿀패턴][구분자][옵션] |
시작 라인 넘버 | 문서 첫 행이라면 '.' 사용 가능, 생략 가능 | %와 함께 사용할 수 없다. |
끝 라인 넘버 | 문서 끝일 경우 '$' 사용 가능, 생략 가능 | %와 함께 사용할 수 없다. |
% | 문서 전체 | 시작 라인 넘버, 끝 라인 넘버와 함께 사용할 수 없다. |
s | 구분자를 설정 | |
구분자 | /, @ 등 다른 기호 사용 가능 | |
옵션 | g: global | |
i: ignore case | ||
c: confirm |
ex)
커서가 위치한 라인에서 첫 원본 패턴만을 치환 | :s/[원본패턴]/[바꿀패턴] |
5 ~ 23라인 사이에 있는 첫 원본 패턴만을 치환 | :5,23s/[원본패턴]/[바꿀패턴] |
문서 전체에서 라인당 첫 원본 패턴만을 치환 | :%s/[원본 패턴]/[바꿀 패턴] |
문서 전체에서 라인당 모든 원본 패턴을 바꿀 패턴으로 치환 | :%s/[원본 패턴]/[바꿀 패턴]/g |
문서 전체에서 라인당 첫 원본 패턴만을 대소문자 구분없이 치환 | :%s/[원본 패턴]/[바꿀 패턴]/i |
문서 전체에서 라인당 첫 원본 패턴만을 치환 시 사용자에게 확인 | :%s/[원본 패턴]/[바꿀 패턴]/c |
문서 전체에서 라인당 모든 원본 패턴을 사용자에게 확인을 받으면서 치환 | :%s/[원본패턴]/[바꿀패턴]/gc |
tag
선택한 위치로 점프 | ctrl + ] |
이전 위치로 점프 | ctrl + t |
NERDTree
o | open it prev window |
go | preview |
t | open in new tab |
T | open in new tab silently |
i | open split |
gi | preview split |
s | open vsplit |
gs | preview vsplit |
C | change tree root to the selected dir |
u | move tree root up a dir |
m | Show menu |
주석
:norm i//
주석 삭제
:norm 2x