👉 Vim이란?
오래전부터 지금까지 꾸준히 사용되는 VS Code 같은 <코드편집기> ( 거의 유물ㅋㅋ )
Vim의 필요성
키보드만 가지고도, 수 많은 기능을 수행할 수 있게 만들어졌다. (단축키!)
👉 VS Code에서 Vim 확장프로그램 설치
Vim의 모드 ( 하고자 하는 작업에 따라, 모드 변경 )
명령 모드 (Command mode)
입력하는 모든 키 명령으로 실행
명령줄 모드 (Command Line mode)
화면 하단에 ":"(콜론) 프롬프트에 명령문장 입력, /프롬프트에 단어입력
입력 모드 (Insert mode)
문서 내용 작성만 가능한 모드
비주얼 모드 (Visual mode)
선택만 가능한 모드
👉 Vim 명령 모드 명령어 (Command mode)
// 명령줄모드로 전환하기
: ( 명령모드에서 명령줄모드로 변경하겠다. )
// 입력모드로 전환하기
i ( 현재 커서의 앞에서 편집하겠다. )
a ( 현재 커서의 다음부터 편집하겠다. )
A ( 현재 커서가 있는 라인의 맨 끝으로 커서를 이동 후, 편집하겠다. )
o ( 현재 커서 아래에 새로운 라인을 추가 후, 편집하겠다. )
O ( 현재 커서 위에 새로운 라인을 추가 후, 편집하겠다. )
// 선택기능
V [Shift + v] ( 현재 라인을 선택 - visual line )
// 지우기
backspace, delete 사용가능
x ( 한 글자 지우기 )
dw ( 현재 커서부터 단어의 끝까지 지우기 )
d ( 선택된 visual line 삭제 )
dd ( 한 개의 라인 지우기 )
숫자 + dd ( 원하는 숫자만큼의 라인 지우기 )
D [Shift + d] ( 현재 커서의 뒤편 전부 삭제 )
// 작업 취소 ( undo )
u ( 가장 최근에 사용한 명령을 취소 )
U [Shitf + u] ( 해당 라인의 전체 수정사항을 취소 )
ctrl + r ( 재작업, redo )
// 내용 변경
r ( 선택된 글자 하나를 변경 )
cw ( 선택된 단어 삭제 후, 입력 )
c$ ( 선택된 라인 삭제 후, 입력 )
// 복사, 붙여넣기
y ( 선택된 visual line 복사 )
yy ( 현재 커서가 있는 라인 1개만 복사 )
숫자 + yy ( 현재 커서가 있는 라인부터 숫자만큼 라인 복사 )
p ( 마지막 지운 정보를 현재 커서 다음에 붙여넣기 )
// 이동
방향키, hjkl (왼쪽, 아래, 위, 오른쪽)
w ( 다음 단어 첫번째 글자로 이동 )
b ( 이전 단어 첫번째 글자로 이동 )
$ [Shift + 4] ( 현재 라인의 맨 뒤로 이동 )
^ [Shift + 6] ( 현재 라인의 맨 앞으로 이동 )
라인번호 + G ( 해당 라인으로 이동 )
G [Shift + g] ( 파일에서 마지막 라인으로 이동 )
ctrl + g ( 현재 커서의 위치와 파일상태 확인 )
ctrl + f ( 화면에 보이는 마지막 라인의 다음 라인부터 보여줌 )
ctrl + u ( 화면에 보이는 첫 라인의 이전 라인 보여줌 )
ctrl + d ( 화면에 보이는 마지막 라인의 이후 라인 보여줌 )
ctrl + y ( 커서가 아닌, 화면을 한줄씩 올림 )
ctrl + e ( 커서가 아닌, 화면을 한줄씩 내림 )
// 저장하고 나가기
ZZ [Shift + zz] ( 현재 파일을 저장하고 vim 종료 / VS Code : )
// 글자, 단어 찾기
/글자 ( 아래 쪽에서 찾기 )
?글자 ( 위쪽에서 찾기 )
* [Shift + 8] ( 현재 커서가 있는 해당 단어와 동일한 단어들 찾기
n ( * 명령어 결과 아래쪽으로 이동하면서 찾기 )
N ( * 명령어 결과 위쪽으로 이동하면서 찾기 )
// 2개 이상의 창 이동
ctrl + ww ( 다음 파일의 에디터 창으로 이동 / VS Code : )
// 정렬하기
= ( 선택된 visual line 정렬하기 )
=+% ( {}중괄호로 묶여있는 구간 정렬하기 / "{" 에 커서 이동한 후 사용할 것 )
👉 Vim 명령줄 모드 명령어 (Command Line mode)
// 저장, 나가기
:w ( 현재 파일을 저장 )
:q ( vim 종료 / VS code : )
:q! ( 저장하지 않고 vim 종료 / VS Code : )
:wq ( 현재 파일을 저장하고 vim 종료 / VS Code : )
// 라인 선택하기 ( 삭제, 변경 등 여러 명령어와 조합 가능 )
:0,17
// 글자(단어) 찾아서 바꾸기
:s/찾는단어/새단어 ( 현재라인에서 찾는단어를 새단어로 한번만 찾아서 바꾸기 )
:s/찾는단어/새단어/g ( 현재라인에서 찾는단어를 새단어로 모두 바꾸기 )
:%s/찾는단어/새단어/g ( 현재파일에서 찾는단어를 새단어로 모두 바꾸기 )
:%s/찾는단어/새단어/gc ( 현재파일에서 찾는단어를 새단어로 바꾸기 전에 물어보고 바꾸기 )
:숫자,숫자s/찾는단어/새단어/g ( 두 번호 사이의 라인에서, 찾는단어를 새단어로 모두 바꾸기 )
// 창을 나눠 다른 파일 열기
:vs<filename> ( 수직으로 창을 나눈 후, 해당 파일을 읽어옴 )
:split<filename> ( 수평으로 창을 나눈 후, 해당 파일을 읽어옴 )
// 외부 명령 잠깐 수행하기
:!명령어 <enter> ( 쉘 명령을 실행할 수 있다 - 명령창으로 잠깐 나가기 )
// 현재 위치에 파일 끼워넣기
:r<filename> (원하는 파일을 읽어오기 )
// 파일 일부를 따로 저장하기
숫자,숫자w<filename> ( 두 번호 사이의 라인을 filename으로 저장함 )
// 이동
:숫자 ( 해당 숫자의 라인으로 이동 )
👉 윈도우 기본 단축키와 중복되는 부분 제거하기! ( 복사 / 붙여넣기 안될때 )
// settings.json ( VS Code에서 " ctrl + , " 누르고 우측상단 Open settings 클릭 )
{
"vim.handleKeys": {
"<C-c>": false,
"<C-v>": false,
"<C-x>": false,
"<C-z>": false,
"<C-f>": false,
"<C-a>": false
}
}
반응형