VIM

vim key 단축키 간략히..

니냐니 ค^•ﻌ•^ค 2020. 6. 24. 12:06

VIM

hjkl 방향키

,wb 단어간 이동

WB 공백간 이동

e,ge는 단어 끝간 이동

E,gE

 

 

문장간 이동

0: 행의 맨 앞으로 이동, (숫자0)

$: 행의 맨 뒤로 이동

^: 같은 줄, 첫번째 글자

 

 

글자 검색하기(f,t ;next , 는 뒤로)

f: f는 뒤의 키를 기다리므로, 같은 행에서 원하는 글자를 누르면, 그 글자로 간다. (하지만 주의사항이 뒤의 문자만 찾는다는 것. 그래서F 키로 그 전의 원하는 문자를 찾는다.)그리고, L옆의 ;를 누른다면, 앞의 명령어를 기억하기 때문에, 원했던  글자로 다시 가게 된다.

t: t 하고 내가 찾고 싶은 문자(단어가 아님!) 입력 시에, 찾고 싶은 문자 전 칸으로 커서를 띄운다.

여기서 ,를 누르면 역방향으로 전에 찾던 글자가 찾아진다.

만약, 대문자 F,T 를 입력할 위의 소문자와는 반대방향으로 찾아 짐을 볼 수 있다.

 

 

단어 검색하기 (/ n는 다음 차례, N은 역방향 )

/ (오른 shift 아래) 클릭 후 찾는 단어 검색

여러 단어로 넘나들고 싶다면, n을 누르면 다음 단어로 넘어간다. 대문자 N은 역방향으로 넘나든다.

그리고 함수 명을 위와 같이 검색한 후에, 이와 같은 함수를 사용한 다음 경우를 검색하고 싶으면, * 를 누르면 바로 넘어가게 된다.

 

 

마우스 휠 처럼 화면 이동하기

Ctrl e 내려가기

Ctrl y 올라가기

Ctrl u 반페이지씩 올라가기

Ctrl d 반페이지씩 내려가기.

,gg: 첫 행으로 이동.

G: 마지막 행으로 이동

특정행으로 이동 시에는 :10(10행으로 이동함. )

전체 복사하고 싶으면 ctrl a 가 안됨으로 , gg(첫행) v G 하면 된다 . 근데 여기서 마지막 행 전체 복사는 안된.,.. 그래서 , $를 한번 더 해줬다.

 

 

 

일반모드, 입력모드(a,i,o,r,s), 명령모드,

입력모드에서 다시 일반모드로 (원래는 esc , ctrl o, 로 설정되는 것 같은데, ctrl o같은 경우에는 안된다. 따라서  jj로 외우자!!)

문자를 입력(a, i, o, r 대문자도 가능)

i는 그냥 insert의 약자, 입력 모드 전환 키이다. I는 행의 앞으로 옮겨서 입력하게 해줌.

o는 그 행 아래로 해서 입력모드, O 행 위로 해서 입력이 가능하게 해준다.

rreplace여서 다른 문자로 변경할 때. 입력모드로 가지 않고 바로 일반모드

a는 원하는 칸 뒤에 커서를 옮기는 역할을 함. (add 로 생각해서 뒤에 입력이 된다고 생각하면 되겠다.)

Ctrl hbackspace대신에 지울 수 있다. 익숙해 지면 이게 더 편하다고 하는 데.vscode vim에서는 활용되지 않음.

 

 

삭제, 복사, 붙여넣기.,

 Normal 모드에서 삭제 : 

x: 행의 맨 마지막에서는 자신의 바로 앞의 문자를 지운다. 하지만 문장 중간에서는, xdelete 역할, Xbackspace 역할을 한다.

dd: 그 행을 지운다. 

D: 현재 위치부터 그 행의 끝까지 지운다.

Vim 에서의 삭제는 항상 저장소에 저장이 되어 있다고 생각하면 된다. 따라서 p는 붙여넣기인데, 붙여넣기를 하면, 전에 삭제 되었던 게 붙여넣기가 됨. P는 위에 다가, p는 아래 다가.

그냥 복사는 yy이고, Y는 한 줄이 복사되는 것.

여기서 비주얼모드로  yy 하면은 두줄이 복사되는 같다...

작업 취소하고, 다시 실행, 이전명령 반복하기. (vim의 가장 큰 장점이다.!!)

Redo u는 취소, ctrl r 다시 실행. à 이전명령 반복 문서를 열고 지금까지  한 것 취소하고, 다시 실행 가능. (마소 word같은 경우에는 한계가 있지만,vim같은 경우에는 전무 다 저장하기 때문)

그리고 . 의 역할은, 이전 명령을 실행한다 만약 i=0을 썼다면, i=0 쓰는 것을 반복가능!!

만약 지우기했다면, 지우는 동작을 그대로 다시 실행하는 것이다.

 

 

비주얼모드

소문자 v ->x는 삭제, y는 붙여넣기

대문자 v는 행단위이다.

비주얼블록모드

Ctrl v는 특이하게, 사각형 모드로 열단위 지정이 가능하다

gg V G

viw :는 한 단어를 선택하는 것인데, 만약에  vi( 를 선택한다면, 소괄호 안의 것이, vi” 하면 안의 것들이.

 

페이지간 이동

 

Crtl hjkl 터미널로의 이동과 위로의 이동가능.

Setting JSON파일과

Setting kebinding 둘다 변경으로 가능.

 

터미널 이동

 

 { "key": "ctrl+'""command": "workbench.action.terminal.focusNext" },

   { "key": "cmd+shift+k""command": "workbench.action.terminal.focusPrevious" },

   { "key": "ctrl+shift+'","command": "workbench.action.terminal.new"}

 

// 위는 이미 setting.json에는 적용이 되어 있기 때문에, keybinding만 조절해주면 된다.

Ctrl j 하면, terminal 내에서 누를 창이 사라지고, 페이지 내에서 누를 시에는terminal 창으로의 이동이 된다.