들여쓰기 재정렬

{visual block}= 

 탭 대신 공백쓰기 

set et, retab 

 단어 완성 

Ctrl-N, Ctrl-P 


=G

G는 재정렬할 범위, %, }}, ]] 사용가능합니다.


=100G라고 입력하면 현재행부터 100번째행가지 들여쓰기 재정렬가능.



또한 Ctrl-N 혹은 Ctrl- P를 누르면 이전에 나왔던 단어들을 완성시켜주는 기능입니다.

입력모드에서(insert, i키눌렀을때 ) 동작하는거이므로, 작성중 모드를 바꿀 필요가 없습니다.




더하기 낱말모드

이메일같은거는 @나 . 같은걸로 구분이 되어있어서 아이디부분까지 짤릴 수 있습니다.


jh21@sam.com 이런경우에


jh21만 완성될수있습니다 .그럴때는


CTRL-X , CTRL-N 을 누르면 완성됩니다. sam까지만 입력되고 또, .com 입력하려면, ctrl-X ctrl-N 누르면 완성되게 됩니다.


단어나 특별한 경계로 움직이기

 0

0번째 열 

공백을 제외한 행의 시작 부분 

 $

마지막 열(행의끝) 

단어의 시작 위치 혹은 문장부호의 경계를 따라서 이동 

w와 같으나 단어의 끝부분에 위치 

w와 비슷하나 진행방향이 역방향. 

 

 



괄호나 문단, 블록단위 이동

가장 가까운 괄호 짝으로 이동 (짝이맞는걸로 이동) 

(, ) 

문장 단위의 시작위치, 끝 위치로 이동 

{, } 

문단 단위의 시작위치, 끝 위치로 이동 

[[, ]]  

블록 단위의 시작위치, 끝위치로 이동 




삭제 명령의 다양한 실행모드

d$ 

현재커서위치부터 행 끝까지 삭제 

dd 

형재행을 삭제 

dj 

현재행과 아래행 삭제 

dk  

현재행과 위행 삭제 

dw 

현재커서위치부터 단어 끝까지 삭제 

de 

 

d^ 

현재커서위치부터 행시작 부분까지 삭제 

d} 

현재 커서위치부터 문단 끝까지 삭제 



{motion} => 단어 사이나 행, 특정 위치로 이동하는 키입력을 가리킴.


{motion}을 사용하는 명령의 예

 y{motion}

{motion}만큼 복사 

d{motion} 

{motion}만큼삭제 

c{motion} 

{motion}만큼 변경 






 

Nerd tree는 vim 유저들중 사랑받는 플러그인 중 하나입니다.

http://www.vim.org 에 접속합니다.

왼쪽의 Scripts를 누르고 keywords에 nerd를 입력하여 검색된 결과를 살펴 봅니다.


눌러서 다운을 받습니다. 


리눅스에서는 ~/.vim 디렉토리에 다운받아 압축을 풀어주면 됩니다.

$ cp ./NERD_tree.zip ~/.vim

$ cd ~/.vim

$ unzip ./NERD_tree.zip


그다음 VIM을 열어서

:NERD 까지입력하고 tab을 치면 :NERDTree가 자동완성되어 입력되는것을 확인하실 수 있습니다.






NERD tree 명령어

:NERDTree [path] 

디렉터리를 열어서 보여줍니다. 

path를 생략하면 현재 디렉터리를 열어줍니다.

:NERDTreeClose 

NERD tree 창을 닫습니다.

:NERDTreeFind 

현재 열고있는 파일이 트리의 어디에 있는지 보여줍니다.




NERD tree의 주요 브라우징 단축키

 enter, o

 디렉토리의 경우이동, 파일인 경우 열어줍니다. 열려있는 노드인 경우 닫습니다. 

 t

 파일을 새로운 탭에 열어줍니다. 

 T 

 파일을 새로운 탭에 백그라운드로 열어줍니다. 

 x 

 현재 선택된 노드를 닫고 상위 노드로 이동합니다. 

 X 

 현재 선택된 노드를 포함하여 하위 노드를 모두 닫습니다. 

 e 

 선택된 노드를 새 창에서 열어줍니다. 





TagList

소스코드를 분석하여, 변수, 매크로, 함수의 목록을 만들어 줍니다.

예를 들어 현재 디렉터리에있는 *.c 파일을 분석하려면 다음 명령대로 입력하면 됩니다.


:TlistAddFiles *.c   //*.c 파일을 읽어들이라는 명령

:TlistToggle         // 태그창을 열거나 닫는 명령.


각 태그에서 엔터를 치면 즉시 해당 태그로 이동하여 편집할 수 있고, 태그에서 스페이스바를 누르면 변수나 함수의 선언 부분을 볼 수도 있습니다.



taglist도 역시 vim 사이트에서 받습니다.


$ cp ./taglist_46.zip ~/.vim

$ cd ~/.vim

$ unzip ./taglist_46.zip



taglist와 Nerd Tree를 같이 뛰웠습니다.





VIM Mouse

=> 터미널 창에 마우스 (mouse) 클릭이 가능하도록 설정


:set mouse=a 


매번 귀찮으니깐, 


$ vim ~/.vimrc  에 set mouse=a 등록할 것~!





ctag와 cscope는 해당 pdf를 참고하여 설치및 사용해보았습니다.


csl.skku.edu/uploads/SSE3044F12/vim_ctags_cscope.pdf



ctags 설치

-> 소스코드 함수, 구조체 등 태그 리스트 출력.


*설치

$ sudo apt-get install ctags


*태그 생성방법.

$ ctags [options] [files] 명령이용하여 생성.

$ ctags -R  //-R의 경우, 특정디렉토리 아래에있는 소스파일들에 대해 태그 생성.



태그 생성됨. 그 이후 이런식으로 치면 검색됨.

$ vim -t main 



 vim 상에서 검색을 하고싶다면

:ta tag이름 으로 치면 검색된다.



다음 태그로 이동할때는 :tn   이전은 :tp 로 이동.


tj 명령이용하면 키워드 일치하는 태그가 한개일 경우 바로이동, 두개이상일 경우 목록을 출력하고 그 중 선택하여 이동


:tj tagname 하면 여러개가 나오고 그때 번호를 눌러서 이동가능.









cscope

ctags는 변수, 함수, 매크로, 구조체는 검색되는데 함수 호출한 부분,함수에 의해 호출되는 부분들은 검색이 안됨.


반면 cscope는 변수, 함수, 매크로, 구조체, 전역선언, 특정함수에 의해 호출되는 함수, 특정 함수를 호출하는 함수, 문자열 등을 검색할 수 있다.


$ sudo apt-get install cscope







cscope database 생성방법


http://manime.tistory.com/entry/cscope-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC     참고.


$  find . \( -name '*.c' -o -name '*.h' -o -name '*.s' -o -name '*.S' \) -print > cscope.files



db 파일인 cscope.files 가 생성됨.


이걸 vim에서 검색할 수 있도록 ~/.vimrc 에등록 하거나


아래와 같이 vim에 서 등록하기도 가능.


 :cs add ~/경로명~~~/cscope.out



아래 site가 설명이 정말 잘되어있습니다. 

http://blog.naver.com/PostView.nhn?blogId=rullrow&logNo=70169937319





: cs find s myfunc 로 검색가능.


검색할 태그번호를 선택하고 엔터를 치면 해당 태그로 이동.

다음검색어는 :cn , 이전은 :cp 로 이동가능.













'리눅스 Linux > VIM VI Editor' 카테고리의 다른 글

VIM 개발자에게 유용한 기능들  (0) 2018.04.12
VIM 편리한 편집기술  (0) 2018.04.12
vim 파일 관련 편집 기능  (0) 2018.03.27
vim 문자열 관련 기능  (0) 2018.03.26
VIM 옵션, 도움말, 에러처리  (0) 2018.03.23

참고)

쉘로 나가지않고 외부 명령어를 실행하고싶은경우


ex)   :! mkcscope.sh

!를 붙여주고 쓰면된다.


파일열기 

:edit 

파일저장하기 

:write :save :update 

창분할 

:sp :vs 

탭페이지

:tabedit :tabnew :tabclose :tabnext :tabprevious 

탐색 기능 

:edit 

파일명인식 

gf 

파일 목록

:files 혹은 :ls 

인코딩 형식 

:set fencs=... 




파일 버퍼 관련 명령어

 :e 파일명

파일을 편집용으로 엽니다. 

파일명 모르면 tab을 누르면 현재 디렉터리 파일을 하나씩 보여줍니다. 

ctrl ^ 

이전파일을 엽니다 

:e # 

 

:[#]n 

여러 파일이 열려 있을 때, 다음 파일로 이동합니다.

#에 숫자를 넣으면 해당 숫자만큼 반복합니다. 

:[#]N 

:n의 반대 방향으로 이동합니다. 


vim에서 다른파일을 여는 명령어는 :e file이름 입니다.

이기능을 통해서 A라는 파일을 작업중 :e b.txt 명령을 통해 b.txt 를 열수있습니다.

단 여기서 이동전, 저장해놓고 꼭 갑시다~!


또 여기서 CTRL ^ 을 누르면 이전에 편집했던 A라는 파일로 왔다갔다 되돌아 갈 수 있습니다.





파일을 저장하는 다양한 명령어

 :w filename

파일을 저장합니다 

:sav filename 

현재 파일을 다른 이름으로 저장합니다. 

:up 

변경 사항이 있는 경우에만 저장합니다. 

:x 

vim을 종료하면서 변경사항이 있는 경우에는 저장합니다. 





창분할 명령어 정리

 #sp [파일명]

상하로 창을 분할합니다. 파일명을 생략하면 현재 파일을 의미합니다. 

 #vs [파일명]

좌우로 창을 분할합니다. 

 #new 

상하로 분할하고, 위쪽에 새로운 창을 만듭니다. 

 #vnew 

좌우로 창을 분할하고, 왼쪽에 새로운 창을 만듭니다. 






창사이클 이동하는 명령어

 ctrl-W ctrl - 방향키

ctrl - w 방향키

방향키에는 h, j, k, l이나 화살표 키를 사용할 수 있습니다. 

 

 

 

 





분할된 창의 크기를 조정하는 명령어

 ctrl-W = 

모든창의크기를 동일하게 조정합니다. 

 

 

 

 





탭으로 열기

:tabedit hello.c


새파일을 탭으로 열고 싶다면 

:tabnew 파일이름 을 사용하면됩니다.


탭을 닫고싶다면

:tabclose





탭이동명령

 [#]tabn

다음 탭으로 이동하며, 일반모드의 gt와 동일 

 [#]gt 

#에 숫자를 지정하면 탭번호가 지정 

 [#]tabp[revious] 

이전탭으로 이동하며 일반모드의 gT와 동일 

 [#]gT 

#에 숫자를 지정하면 반복수가 지정됩니다. 

 :tabm[#] 

#번째 탭으로 현재탭을 이동시킵니다. (0부터 시작)

#이 생략되면 가장 오른쪽으로 이동시킵니다. 

 

 

 

 






탭 생성과 종료 명령

 :[#]tabe

#번째 탭에 파일을 엽니다. #을 생략되면 현재 탭 뒤에 생성됩니다.

번호는 0부터 시작합니다. 

 :[#]tabnew 파일명 

#번째 위치에 비어있는 탭을 만듭니다.

 :[#]tabc 

#번째 탭을 닫습니다. #을 생략하면 현재 탭을 닫습니다. 




VIM 디렉토리 탐색하기

윈도 탐색기처럼 vim에도 디렉토리 리스트를 보면서 파일을 선택할 수 있습니다.

netrw라는 기능이 있습니다. 기능은 간단히 :e directory 로 실행하면 됩니다.


예를 들어 :e . 명령은 






netrw의 주요 단축키

 <Enter>

파일을 현재 창에 열어 줍니다. 

 i

파일표시 방법을 변경합니다. 

 s 

정렬 방식을 바꿔줍니다(이름순, 시간순, 크기순) 

 o 

커서 위치의 파일을 수평분할된 새창으로 열어줍니다. 

 v 

커서 위치의 파일을 수직 분할된 새창으로 열어줍니다. 

 p 

커서 위치의 파일을 미리보기 창으로 열어줍니다. 

 P 

커서위치의 파일을 바로이전에 생성한 창에 열어줍니다. 

 R 

파일명을 바꿉니다 

 t 

새로운 탭으로 분할아여 열어줍니다. 

 - 

상위 디렉터리로 이동합니다. 





버퍼 목록에 표시되는 기호

 %

현재 편집중인버퍼 

바로이전에 열었던 버퍼 혹은 다음에 열도록 예비된 버퍼<CTRL-^>를 누르면 #이 표시된 파일이 열립니다. 

활성된 버퍼(현재 화면에 보이는 버퍼) 

창 분할 기능을 쓰는 경우에는 여러 파일에 a표시가 나타납니다.

변경된 부분이 있는 버퍼 






버퍼 관련 명령어들

 :ls

 파일 목록을 확인합니다. 

 :buffers 

 

 :files 

 

 :n {pattern} 

지정된 pattern으로 파일을 검색하여 목록에 추가하고 첫번째 검색된 파일을 열어줍니다. 

 {N} CTRL-^ 

{N} 번째 파일 목록을 엽니다. 

 :e #{N} 

 

 :Of 

현재 버퍼를 목록에서 제거합니다.

연결된 파일이있다면 해제하여 [No name]버퍼로 만듭니다. 

 :r 파일 

파일을 끼워 넣습니다. 






본문의 파일명을 인식해서 열어주는 명령어

 gf

커서 위치의 파일명을 인식해서 열어줍니다. 

 <CTRL-W> f 

커서 위치의 파일명을 분할된 창에 열어줍니다. 

 <CTRL-W> gf 

커서 위치의 파일명을 탭에 열어줍니다. 






문자열 정렬 

:center , :right

문자 검

fc 

문자열 검색 

/문자열 

단어 즉시검색 

* 혹은 ? 

문자열 교체 

:[range]s/찾을문자열/교체할문자열/옵션 

특수문자입력 

ctrl-V,문자 혹은 ctrl-Q,문자 




문자 검색 기능

 fc  혹은 /c

문자 c를 전방 검색 

 Fc 

문자 c를 후방 검색 

 tc 

문자 c를 전방검색하여, 검색어의 한칸 앞으로 이동 

 Tc 

문자 c를 후방검색하여, 검색어의 한칸 뒤로 이동 

 ; 

가자 ㅇ최근에 검색한 명령을 재검색 

 , 

가장 최근에 검색한 명령을 반대 방향으로 재검색 


검색 결과 하이라이트 기능 설정

:set hlsearch

검색 결과 하이라이트 기능 해제

:set nohlsearch



검색 후 이동 명령어

 n

다음 검색 결과로 이동 

 N 

반대 방향의 검색 결과로 이동 




교체 명령 옵션

g

범위내에 검색된 모든 문자열을 교체 

대소문자 무시 

문자열을 교체하기전 교체여부를확인 

교체과정중 에러 무시. 에러메시지 표시도 안함. 




문자열 교체에서 확인 입력의 의미

y

교체를 허용 

교체를 거부 

앞으로 남은 모든 교체 실행 

교체 작업 끝냄 

현재 행의 교체 작업만 하고 교체작업 끝냄 

^E 

아래로 한행 스크롤하여 보여줌 

^Y 

위로 한행 스크롤하여 보여줌 


vim 옵션



옵션상태 확인하기



:set all    // vim 에서 사용하는 모든 옵션을 보여줌

:set       // 현재 설정도니 주요 옵션들만 간략하게 볼 수 있음.


<스크린샷>

no가 앞에 붙은옵션은 현재 비활성화 상태.

no가 붙지않은 것들은 활성화 상태



set명령어 사용법


 :set

현재 옵션 설정을 보여줍니다. 

 :set all 

모든옵션 설정을 보여줍니다. (off 상태의 옵션까지 모두 출력) 

 :set [no]name 

name 에 해당하는 옵션을 켜거나 끕니다. 앞에 no를 붙이면 off 상태가 됩니다. 

 :set name! 

name 옵션의 on, off 상태를 전환(toggle) 합니다. 

 :set name=value 

name에 해당하는 옵션에 value 값을 할당합니다. name만 지정하면 해당옵션의 value 값을 보여줍니다. 


ex_

:set ai!  옵션이 켜지고 꺼지고 반복.

:set name=value 형식으로 명령하기도함.

:set ts=4 ts옵션에 4를 지정

:set ts  현재 ts값을 보여줌.




편집에 관련된 기초 옵션들

 nu (number)

화면에 행번호표시 

 ai (autoindent) 

자동 들여쓰기를 사용합니다 

 cindent 

C언어 스타일의 들여쓰기를 사용합니다 

 ts=value 

탭 크기를 value로 지정 

 sw=value 

블록 이동시 열의 너비 

 tw=value 

편집할 화면의 열 길이를 정합니다. 



행번호 출력 옵션


:set nu     // 행번호가 나옵니다.




:set nonu   // 행번호를 끕니다      ( 혹은 set nu!, 이런식으로 토글 전환가능)



탭 크기 옵션

:set ts=4    // 탭크기 조절

:set sw=4   // 블록 시작시 자동으로 들여쓰는 길이 설정 함.



옵션과 색상 테마 저장하기 (VIM 설정 파일)


vim이 종료되면 설정했던 옵션이 모두 초기화 됩니다. 옵션을 파일로 저장해두면 사용하기 편하겠죠~?

vim 설정 파일도 홈 디렉토리에 .vimrc 라는 이름으로 만들어 두면 됩니다. 



설정파일 만들기

vim을 실행한후


:e ~/.vimrc 라고 명령해봅니다.


그리고 아래와 같이 nu 설정과, ts sw 값을 설정합니다.

그리고 다시 vim을 켜면 설정한대로 적용됨을 확인하실 수 있습니다.




문법 오류 표시


c언어를 사용하는데 일부로 틀리게 되었을때 눈에 표시가 되면 개발하기 정말 편하겠죠~?

이를 위한 기능이 vim에서 지원되고있습니다.



일부로 틀리게 입력해봅니다. printf에서 "를 하나 뺐습니다.




역시 잘 티가 안나는군요.

이번에 문법 표시를 켜봅시다.

그다음 
:syntax enable 로 문법표시를 사용해서 켜보면 됩니다.



 :syntax enable

문법 표시를 사용합니다. 

 :syntax clear 

문법 표시를 사용하지 않습니다. 



문법 표시기능이 활성화 되면(syntax enable) 여기에 색상 테마를 입힐 수 있습니다.

이때 사용하는 명령이 

:colorscheme 입니다.



색상테마


 :colorscheme <scheme>

 <scheme> 색상을 사용합니다. 



아래와 같은 <scheme> 들이 있습니다.

 blue

밝은청색 

 darkblue 

어두운 청색 

 default 

기본값 

 delek 

청색과 녹색 게열 

 delek

청색과 녹색 계열 사용

 desert

모래색 게열 사용 

 elflord 

흰색, 밝은 자주색 계열 

 evening

저녁 분위기에 알맞은 밝은 색 게열을 사용합니다. 

 koehler 

elflord와 비슷하지만 좀더 대조적인 색상을 사용합니다. 

 morning 

회색톤 계열을 사용합니다 




에러처리

vim에서 같은 파일을 또다시 열면 이상한경고 화면이 나타납니다. 

이 경고 화면의 복잡한 메시지 때문에 당황하는 경우가 있습니다. 


파일 중복열기에러


일부로 파일중복열기 에러를 발생시켜보겠습니다.

어떤 파일을 작성도중에 CTRL+Z로 눌러서 빽그라운드로 돌리고 터미널로 돌아와봅시다.


그다음 다시 같은 파일을 편집하로 들어가봅니다.


stopped 앞에 나온 번호는 작업번호입니다. 이 작업번호를 이용해서

터미널에서 

fg %작업번호 라고 명령하면 정지된 작업을 다시 불러올 수 있습니다.

fg %1 하면(여기서는) 다시작업을 불러오게됩니다.


그런데 동일한 파일을 또 열려고하면 vim은 경고 메세지를 보여줍니다. 




사실 vim 에서 파일을 열면 스왑 파일을 하나 생성합니다. 생성된 스왑파일은 파일명 앞에 마침표(.) 하나 붙여서 숨김 파일로 만들고, 뒤에는 .swp의 확장자 명을 붙입니다. 이파일은 undo 용도로 사용되는데, vim이 정상종료되면 자동 삭제가 됩니다.


뭐 어쨌든, 다시 vim 파일을 열게되면 이 스왑 파일을 만들어야 하는데, 이전에 vim이 종료되지않았기때문에 스왑파일을 만들지 못해 에러가 발생합니다.


그래서 다섯가지 해결방법을 제시합니다.

단축키 O, E, R, Q, A 를 사용합니다.


뭐 저같은경우는 그냥, 

$ rm .파일명.swp    이런식 스왑파일을 지운뒤 다시 vim을 켜서 작업을 진행합니다.




Q나 A는 아무런 작업하지 않고 vim을 종료하는 기능인데 A의 경우는 디버깅용 덤프파일을 생성하는 점이 다릅니다.

VIM 을 설치해봅시다.


VIM은 리눅스에서 가볍고 기능도 엄청난 최강의 Editor라 할 수 있습니다.


$ sudo apt-get install vim 을 통해 설치해줍시다.


위명령을 치면 간단하게 설치가 됩니다.



우선 vim을 실행하기전에 간단한 기능을 살펴보겠습니다.


파일 저장하기

:w

종료하기 

:q 

커서이동 

h, j, k, l 

삭제 

x, dd, J 

복사 

yy 

붙이기  

명령어 취소(undo) 

범위 지정(블록) 




리눅스에서 vim을 실행하면, 일반모드 상태로 시작됩니다. 

이상태에서는 키보드를 아무리쳐도 입력이안되는데요. 입력모드로 전환해줘야합니다. 입력모드 전환키는 i입니다.


그러면 밑하단을 보시면 입력모드로 바껴있음을 확인하실 수 있습니다.

입력모드는 입력만을 위한 모드이므로, 저장하려면 입력모드를 끝내야합니다.

ESC를 누르면 입력모드를 끝내고 일반 모드로 돌아오게됩니다.


여기서 :를 누르고 w를 누르고 엔터치면 파일이 저장됩니다.

:w teset.txt

test.txt 라는 파일로 저장하게 됩니다.








파일을 저장하고 종료하려면 

:q   


또한, 저장하고 종료를 바로하려면

:wq

로 입력하면 됩니다.



저장과 종료 명령어

:w

 write 현재 파일저장 

:q 

quit, vi를 종료 

:wq 

w와 q의 조합으로저장하고 종료 

:w filename 

filename에 해당하는 파일에 저장한다 

:q! 

변경된 내용을 버리고 vi를 종료 (강제종료) 

:w! filename 

filename에 해당하는 파일을 덮어쓴다 

:wq! filename 

filename에 해당하는 파일을 덮어쓰고 종료한다. 



커서 이동키

^

행의 맨앞으로 이동(공백제외) 

행의 맨끝으로 이동 




화면 스크롤 하기


Ctrl + B , Page up 

 위로 한 화면 스크롤 

Ctrl + F,  Page Down 

 아래로 한 화면 스크롤 





문서 특정 위치로 이동하기

:# 

#G

#행으로 이동합니다. 

#행으로 이동합니다.




현재 위치 확인하기

Ctrl + g 

  현재 문서 위치정보를 하단 상태바에 표시합니다.




삭제하기


 dd

현재 행을 삭제 

 D 

현재 컬럼 위체에서 현재 행의 끝부분까지 삭제 



붙여넣기


vim에는 지우는 기능이 없다고 해도 무방합니다.

지웠던것은 레지스터에 남아서 p로 붙여넣기를하면 d로지웠던 내용들이 붙여넣기가 됩니다.!


 p

현재 행에 붙여 넣습니다. 



복사하기

y는 뽑아낸다는 뜻으로 yank 의 약자입니다.

yy 

현재 행을 레지스터에 복사합니다. 



작업 취소하기

 u

undo 기능입니다. 바로 이전에 행한 명령 하나를 취소합니다. 

ctrl - R 

redo 기능입니다. 바로이전에 취소했던 명령을 다시 실행합니다. 



범위 지정에 쓰이는 특수 기호

 .

현재행을 의미 

마지막행을 의미 

+# 

현재위치에서 #만큼 아래행 

-# 

현재위치에서 #만큼 위행 의미 

문서(파일) 전체를 의미 

.



범위지정하기

 :20d

20번 행을 삭제 

:10, 25d

10~25번 행 삭제 

 :10, $d

10~마지막 행까지 삭제 

:%y 

문서 전체 복사.  

:.,+20y

현재행부터 아래로 스무행 복사 

:-10, +5d 

현재행위로 10행, 아래로 5행 총 열여섯 행 삭제 

:40pu 

40행에 레지스터 내용 붙여넣기 




비주얼모드

 v

 일반 비주얼 모드로 현재 커서 위치에서 블록을 지정합니다. 

 V

 비주얼 라인 모드로, 현재커서가 위치한 행에서 행단위로 블록을 지정합니다. 

 Ctrl + V

 비주얼 블록모드롸, 열 단위로 블록을 지정합니다.  




비주얼 모드에서 커서 이동하기

v를 누른후, 20G 를 누른다면

현재행에서 20 라인까지 블록선택이 됩니다.~! 문서 끝까지 입력하려면 G를 누르면 됩니다.!!!!







+ Recent posts