http://suite.tistory.com/ 2006.7.28 fs
vi 에디터를 사용한 사람만 볼것
vi 는 아시다시피 3개의 모드를 가진다.
- Command Mode: vi 실행 시 상태 거의 모든 자판이 명령어다.
- Insert Mode: Command 모드에서 “A , a , I , I , O , o...”등의 명령어를 통해 사용
- Line Mode: Command 모드에서 “ : , ? , / ” 등의 명령어를 통해 사용
모드 |
명령어<?xml:namespace prefix = o /> |
설명 |
Command Mode
명령
모드 |
Shift + % |
프로그램 소스에 { } , ( ) 이런 것들의 짝들을 찾아준다.
Ex) ‘{‘ <- 커서를 두고 shift+%를 하면 해당하는 ‘}’ 짝을 찾아줌 |
Shift + # |
커서에 해당하는 단어를 자동으로 찾아줌(라인모드에서 ‘/’ 효과)
단 Vim 에서만 가능 |
Shift + d |
해당 커서라인에서 마지막 문자열까지 삭제
cf) Shift + c , cc |
Shift + g |
해당 페이지에서 마지막 줄로 이동 |
Ctrl + e |
^b,^u를 이용하지 않고 터미널에서 한 줄 씩 위로 창을 올린다.
cf) Ctrl + y |
Ctrl + > |
해당 커서에 해당하는 라인을 오른쪽으로 ts 값 만큼 이동
만약 해당 커서에서 아래로 5줄을 함께 이동 시킬 경우
ex) 5 Ctrl + >
cf) 5 Ctrl + < |
dw |
해당 커서에서 앞으로 해당?하는 단어를 삭제
Cf) db , w, b |
ddp |
해당 커서에서 바로 아래 줄과 줄 바꿈 |
0 |
해당 라인에서 커서를 처음 시작으로
Cf) shift + 6 , shift + 4 (마지막으로) |
m + 알파벳 아무거나
|
줄 기억
Ex) m + a
기억한 줄 찾기 ' + 기억한 알파벳
ex) ' + a |
Line Mode
라인
모드 |
:set ts |
- 탭 간격을 지정한다. 기본 set ts=8 이다.
- vi 실행 시 마다 적용 하고자 하면 계정의 홈 디렉토리에
.exrc 파일을 만들어 set ts=8 이렇게 작성한다. |
:set paste |
보통 기본적으로 vi가 :set paste를 설정 돼있는데 안될 경우
다른 터미널에서 마우스로 블록을 지정하여 복사해 올 때
칸이 밀려 계단 형태로 복사가 되는데
이럴 경우 :set paste를 지정하면 해결 된다 .
|
:num |
현재 줄 번호 |
Insert
&
Line Mode
공통 |
Ctrl + c |
입력모드 나 라인모드를 취소하고 Command 모드로 간다.
Esc 키와 동일한 기능을 한다. |