2013년 1월 16일 수요일

vi 에서 주로사용하는 명령어 정리

vi [-/+option] [file_name]

-R  : 읽기전용모드로 파일을 연다.
+line_no : 파일을 열 때, 커서를 line_no행에 위치시킨다.
+/keyword : 파일을 열 때, 키워드와 일치하는 단어가 처음으로 나오는 곳에 커서를 위치시킨다.

-----------------------------------------------------------------------------------------

저장 및 종료

:w     - 저장
             :w file.txt     - file.txt 파일에 저장
             :w >> file.txt    - file.txt에 덧붙여서 저장
:q     - 종료
ZZ    - 저장 후 종료
:wq!    - 강제 저장 후 종료
             :e file.txt    - file.txt 파일을 불러옴
:e    - 현재 파일을 불러옴


편집

yy   - 커서가 위치한 라인 전체 copy
숫자yy   - 커서 아래로 숫자만큼의 라인 수 copy
yw   - 커서가 있는 단어 copy
y$    - 커서부터 라인 끝까지 copy
y^    - 커서부터 라인 처음까지 copy
p     - copy한 내용을 커서 다음 라인에 붙여넣기(paste)

r     - 커서의 문자를 다른 문자로 변환할 수 있도록 만들어 줌
R    - 커서 위치로부터 여러 글자를 Esc키를 누를 때까지 입력한 글자로 한글자씩 수정
s    - 커서 위치의 한 글자를 Esc 키를 누를 때까지 입력한 내용으로 수정
cw    - 커서 위치의 한 단어를 Esc 키를 누를 때까지 입력한 내용으로 수정
cc    - 커서가 있는 행 전체를 Esc키를 누를 때까지 입력한 내용으로 수정
J    - 커서의 라인과 다음 라인을 합칠 때 사용한다.

마킹


Visual Studio를 사용한 적이 있다면 Ctrl+K,K로 현재 위치를 기억하고, 다른 부분 편집 중 Ctrl+K,N으로 마킹 위치로 곧바로 가본 경험이 있을 것이다. vim은 이를 넘어 다른 파일에도 마킹할 수 있는 기능을 제공한다.

마킹하기: m[a-zA-Z]   소문자:현재 파일 내 마킹.   대문자: 다른 파일간 마킹 가능   ex) ma, mB
마킹된 행의 커서 위치로 가기: '[a-zA-Z]    ex) 'a
마킹된 행의 맨 앞 위치로 가기: `[a-zA-Z]    ex) `a
바로 전에 커서가 있던 행의 맨 앞으로 가기: ''
바로 전에 커서가 있던 행의 위치로 가기: ``
vim이 현재 파일을 닫기 전 커서가 있던 행의 맨 앞으로 가기: '"
vim이 현재 파일을 닫기 전 커서가 있던 행의 위치로 가기: `"


이동

l, h, j, k   - 오른쪽,왼쪽,아래,위
^ 또는 0   - 커서가 위치한 행의 맨 처음으로 커서를 이동
$   - 커서가 위치한 행의 맨 뒤로 커서를 이동

+   - 다음 행의 처음으로 커서를 이동
-   - 이전 행의 처음으로 커서를 이동
W   - 다음 단어의 첫 글자로 커서를 이동
B   - 이전 단어의 첫 글자로 커서를 이동
E   - 다음 단어의 마지막 글자로 커서를 이동
G   - 파일의 마지막 행으로 커서를 이동
nG   - 파일의 n번째 행으로 커서를 이동
:n   - nG와 같다

Ctrl + f   - 한 화면 아래로
Ctrl + b  - 한 화면 위로
Ctrl + d  - 반 화면 아래로
Ctrl + u  - 반 화면 위로
H   - 화면 맨 위로
M  - 화면 중앙으로
L   - 화면 맨 아래로

)   - 다음 문장의 첫 글자로 커서를 이동
(   - 현재 문장의 첫 글자로 커서를 이동
}   - 다음 문단의 첫 글자로 커서를 이동
{   - 현재 문단의 첫 글자로 커서를 이동
]]   - 다음 함수의 처음으로 커서를 이동
[[   - 현재 함수의 처음으로 커서를 이동


삭제

x      - 한글자 삭제
X     - 커서 바로 앞 글자를 삭제
dw   - 커서위치의 한단어 삭제
d0    - 커서의 위치에서 행의 처음까지 삭제
d$    - 커서의 위치에서 행의 끝까지 삭제
dd    - 한행 삭제
ndd  - 커서가 있는 행 포함 n개의 행을 삭제


복사/붙여넣기/이동

yw   - 현재 커서가 위치한 단어를 버퍼에 복사
yy    - 현재 커서가 위치한 행을 버퍼에 복사
nyy  - 커서가 위치한 행을 포함 n개의 행을 버퍼에 복사
p     - 커서의 아래 행에 버퍼의 내용을 붙여넣기
P     - 커서가 위치한 위 행에 버퍼의 내용을 붙여넣기


기타

vi에디터에서 작업중에 현재파일명을 알고 싶은 때 -> ctrl + g  (파일명만 표시한다.)
작업중에 파일의 경로를 알고 싶을 때.. ->  :!pwd  (쉘로 나가서 pwd를 실행)

댓글 없음:

댓글 쓰기