vim의 화면 변경 및 스크롤

 

vim에서도 화면을 이동할 수도 있다. 

 

커서를 중심으로 화면 변경

 

vim에서는 작업하기 편하게 커서를 중심으로 화면을 변경할 수 있다.

 

z[Enter] → 현재 커서가 위치한 행화면의 최상단이 되게끔 화면 변경

z. 현재 커서가 위치한 행화면의 중앙이 되게끔 화면 변경

z- 현재 커서가 위치한 행화면의 최하단이 되게끔 화면 변경

 

 

화면 스크롤

 

마우스의 스크롤 대신 키를 이용하여 화면을 스크롤할 수 있다. 

 

다음은 반 화면 위 아래로 스크롤 하는 키들이다. 

 

<Ctrl+u> 반 화면 위로 스크롤

<Ctrl+d> 반 화면 아래로 스크롤

UpDown으로 이해하면 쉽다.

 

다음은 한 하면 위 아래로 스크롤하는 키들이다. 

 

<Ctrl+b> → 한 화면 위로 스크롤

<Ctrl+f> → 한 화면 아래로 스크롤

 

 

Anki 파일

 

아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 

 

 

'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글

012 복사(yank)와 붙여넣기(put)  (1) 2018.05.03
011 삭제하기  (1) 2018.04.26
009 기타 커서 이동(3)  (0) 2018.04.23
008 기타 커서 이동(2)  (1) 2018.04.21
007 기타 커서 이동(1)  (0) 2018.04.20

vim 기타 커서 이동(3)


vim은 마우스를 쓰지 않고 작업하는 것을 기본으로 하기 때문에 다양한 커서 이동 방식이 존재한다. 


앞에서 커서를 단어 단위, 행 단위, 문장 단위, 공백인 행 단위로 움직이는 법을 배웠는데 이번에는 화면 내부에서 움직이는 법이다. 


당연히, 모든 키는 명령 모드를 전제한다.


대문자 H 현재 vim 화면의 최상단으로 커서 이동

대문자 M 현재 vim 화면의 중앙으로 커서 이동

대문자 L 현재 vim 화면의 최하단으로 커서 이동

High, Middle, Low로 생각하면 편하다.


화면 내에서 커서 이동에 대해서는 다음의 사진을 보면 이해하기 쉬울 것이다.

vim 화면에서 커서의 위치


이 사진은 vim의 화면이 현재 1행부터 23행까지 나타나 있다.

명령 모드에서 대문자 H를 누르면 화면의 최상단으로 커서가 이동하므로 커서는 1행에 위치해 있다.

대문자 M을 누르면 화면의 중앙인 12행에 위치하게 되고, 대문자 L을 누르면 화면의 가장 마지막 행인 23행으로 이동한다.


이때, 대문자 H키와 대문자 L키는 다음과 같이 응용할 수 있다.

[n]H → 현재 화면에서 커서를 위에서 n번째 행으로 이동(가령, 8H는 화면 상단에서 8번째 행으로 이동)

[n]L → 현재 화면에서 커서를 아래에서 n번째 행으로 이동(가령, 7L 화면 최하단에서 7번째 행으로 이동)


Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 



vim 기타 커서 이동(2)


커서의 위치를 주의깊게 보면서 아래의 내용을 확인해보자. 


1) 왼쪽 괄호 '(' 문장(sentence) 단위 첫 글자역방향 이동


명령 모드에서 왼쪽 괄호 '(' 키를 계속 누르면 다음과 같이 움직인다. 

문장 단위 첫 글자 역방향 이동 사례

이 사례를 보면 문장(sentence)의 단위이어진 행들공백인 행을 각각 하나의 문장으로 본다는 것을 알 수 있다.

에서 로 이동하는 것은 문서의 역방향으로 탐색했을 때 처음으로 만나는 문장의 첫 글자이기 때문이다.

③의 공백인 행 첫 글자가 없어도 해당 빈칸으로 이동한다.

에서 가장 첫 번째 행에 도달했고 더 이상 이전 문장이 없기 때문에 번처럼 가장 첫 번째 행의 가장 첫 번째 칸으로 이동한다.



2) 오른쪽 괄호 )문장 단위 첫 글자정방향 이동(다음 문장의 첫 글자로 이동)


명령 모드에서 오른쪽 괄호 ')' 키를 계속 누르면 다음과 같이 움직인다. 

문장 단위 첫 글자 정방향 이동 사례

에서 마지막 문장이 첫 글자로 이동한 후에 다음 문장이 없을 경우 처럼 가장 끝으로 이동한다.

 


3) 왼쪽 중괄호 {공백인 행으로 역방향 이동(이전 공백인 행으로 이동)


명령 모드에서 왼쪽 중괄호 '{'룰 계속 누르면 아래와 같이 커서가 이전의 공백인 행으로 점프한다.

공백인 행으로 역방향 이동 사례

번처럼 더 이상 공백인 행이 남아 있지 않을 경우 가장 처음으로 이동한다.



4) 오른쪽 중괄호 }공백인 행으로 정방향 이동(다음 공백인 행으로 이동)


명령 모드에서 오른쪽 중괄호 '}'룰 계속 누르면 아래와 같이 커서가 다음 공백인 행으로 점프한다

다음 공백인 행으로 이동 사례

번처럼 더 이상 공백인 행이 남아 있지 않을 경우 가장 끝으로 이동한다.




5) 원하는 문서 위치로 바로 이동 


[n]gg n 번째 행으로 이동, 숫자를 생략할 경우 문서의 맨 처음으로 이동

[n]G n 번째 행으로 이동, 숫자를 생략할 경우 문서의 맨 마지막으로 이동

:n n 번째 행으로 이동

<Ctrl + g> → 커서가 문서 전체에서 현재 어떤 위치에 있는지 확인(Ctrl키를 누르면서 g 키를 눌러야 한다.)


Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


vim 기타 커서 이동(1)


vim의 커서 이동은 상하좌우 외에 다양한 방식의 이동이 가능해서 익숙해지면 매우 효과적으로 작업할 수 있게 도와준다. 

커서의 위치를 주의깊게 보면서 아래의 내용을 확인해보자. 


1) 캐럿(^) 키는 커서가 위치한 행의 첫 글자로 이동


  name age phone etc 캐럿(^)

  name age phone etc 이렇게 된다.

첫 글자로 이동하므로 첫 글자 앞에 공백이 있어도 그 공백으로는 가지 않는다. 


2) 달러($) 키는 커서가 위치한 행의 마지막 칸으로 이동한다


 name age phone etc 달러($)

 name age phone etc 이렇게 된다.

달러($)캐럿(^)과 달리 마지막 칸이 공백일 경우에는 공백으로 이동한다.


3) w or W → 단어의 첫 글자로 정방향 이동(다음 단어의 첫 글자로 이동)


  name age phone etc w or W

  name age phone etc 이렇게 된다.


4) b or B → 단어의 첫 글자로 역방향 이동(이전 단어의 첫 글자로 이동)


  name age phone etc b or B

  name age phone etc 다시 누르면

  name age phone etc 이렇게 된다.

단어의 첫 글자로 역방향 이동이므로 커서가 위치한 글자가 현재 단어의 첫 글자가 아닐 경우 현재 단어의 첫 글자로 우선 이동하게 된다.


5) 플러스(+) 키는 다음 행의 공백이 아닌 첫 글자로 이동


이 상태에서 플러스(+) 키를 누르면

name age phone etc

 john 10 000-0000 male

 

다음 행의 공백이 아닌 첫 글자로 이동

name age phone etc

 john 10 000-0000 male


6) 마이너스(-) 키는 이전 행의 공백이 아닌 첫 글자로 이동


이 상태에서 마이너스(-) 키를 누르면

name age phone etc

 john 10 000-0000 male

 

이전 행의 공백이 아닌 첫 글자로 이동

name age phone etc

 john 10 000-0000 male



Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


007 기타 커서 이동(1).apkg


+ Recent posts