http://blog.naver.com/PostView.nhn?blogId=machunroo&logNo=70036951106
포그라운드 전환 : ctrl + z (다시 vi 모드로 돌아오려면 fg) .
문서의 처음으로 :
1gg 한페이지 뒤로 : ctrl +
b 한라인의 처음으로 : shift + 6
(혹은 0) 한줄 위로 :
k 한칸 뒤로 : h
한칸 앞으로 : l
(소문자 L) 한줄 아래로 :
j 한페이지 앞으로 : ctrl +
f 한라인의 끝으로 : shift +
4 문서의 끝으로 : shift +
g 매치되는 괄호찾기 : shift +
5
단어 삭제 :
dw 한줄 삭제 :
dd 빈줄삭제 :
J 커서의 위치로부터 오른쪽의 문자를 모두 지운다. : D 가장 최근의 `/'|`?' 를
반복한다 : n n을 반대방향으로의 수행. :
N 작업 취소 :
u 한줄 복사 : yy,
Y 붙여 넣기 :
p
블럭지정 라인단위 Visual Mode :
shift + v 블럭단위 Visual Mode : ctrl + v |
화면분할 수평 분할 : ctrl + w +
n 수직 분할 : ctrl + w +
v
창 삭제 CTRL+w q : 커서가 있는 창을 닫음 CTRL+w o : 현재 커서가 있는 창을 제외한 모든 창을 닫음 (단, 수정이 안된 창들만 닫힘) 창 이동 CTRL+ww : 창 간에 이동 CTRL+wh : 왼쪽(h) 창으로
이동 CTRL+wl : 오른쪽(l) 창으로
이동 CTRL+wj : 상단(j) 창으로
이동 CTRL+wk : 하단(k) 창으로
이동 창 크기 조절 CTRL+w = : 모든 창의 크기를 균등하게함 CTRL+w [N]+ : 창의 크기를 N행만큼
증가 CTRL+w [N]- : 창의 크기를 N행만큼
감소 CTRL+w [N]> : 창의 크기를 오른쪽으로
N칸만큼 증가 CTRL+w [N]< : 창의 크기를 왼쪽으로 N칸만큼
증가 |
줄번호 표시 : set
nu
자동 들여쓰기 : set
ai
스크린을 새롭게 한다.(refresh) :
^L
잠시 shell환경으로
나간다. 다시 vi로 돌아오려면 exit를 치면 된다. :
sh
마크를 이용한 이동
마크를 하려면 ma ~ mz를
마크 할 곳에서 입 력합니다. 마크한 곳으로 이동은 두 가지가 가능합니다.
즉 마크한 줄과 열이 일치하 는 이동은
`a ~ `z 으로 마크한 줄의 처음으로 이동은 'a ~ 'z를 이용합니다.
여러파일을 편집하는 방법
vi *.c 를 통해서 여러개의 파일을 연 다음 아래의
# 에 해당 파일로 이동이 가능
:b# : #번째 파일로 이동
:ls : 현재 열려있는 파일 목록과 보고있는 파일을 확인할 수 있다.
:bp : previous 문서로 이동
:bn : next 문서로 이동
검색
현재 커서가 위치한 단어를 검색 :
shift + 3 (후진검색) shift + 8 (전진검색)
현재 커서가 위치한 단어의 man
페이지 검색 : shift + k
헤더파일 열기 : 헤더파일에 커서를 이동시킨 후에
ctrl + wf
/검색할 문자열/ 오른쪽 아래
방향으로 문자열 검색
?검색할 문자열? 왼쪽 위
방향으로 문자열 검색
n 문자열의 다음으로 계속 검색
N 문자열의 이전으로 계속 검색
:g/search-string/s//replace-string/gc 각 발생 탐색 후 확인하고 대체
:s/str/rep/ 현재 행의 str을 rep로 대체
:1,.s/str/rep/ 1부터 현재 행의str을 rep로 대체
:%s/str/rep/g 파일 전체 str을 rep로 전부 대체
:.$/aaa/bbb/ 커서의 위치로부터 화일의 끝까지 있는 모든
aaa를 bbb로 대체
Find 사용법
확장자 일괄변경 find . -name *.php -exec rename .sas .mtml {}
\;
파일내용 찾기 find . -type f -print | xargs egrep -i
"expression"
파일내용 바꾸기 find . -name *.* -exec perl -p -i -e
's/old/new/g' {} \;
일괄삭제 find . -name *.bak -exec rm -rf {}
\;
함수폴딩
함수폴딩 : shift + v
로 영역지정후, zf
함수폴딩해제 : 폴딩된 위치에
커서를 이동시킨후 zo
셀기능
포그라운드 전환 : ctrl +
z (다시 vi
모드로 돌아오려면 fg)
파일탐색기 :
:20vs/home/test/ 를 입력하면 /home/test 폴더의 내용이 수직으로
분할된 창에 표시됨
명령어수행 : !command 지정된 command 가
실행됨.
문자열 치환
:%s/old/new 현재 라인에서
old를 new로 바꾸기
:%s/old/new/g 현재 파일에서
old를 new로 바꾸기
:1,$s/^M//g ^M 문자 삭제 (이 때 ^M의
입력은 ctrl + v와 ctrl + m을 차례로
입력)
대소문자 변환
대/소문자 반전 : ~ (물결 무늬) 키를 누르면 현재 커서가 위치한 글자의
대소문자가 반전됩니다.
한 줄을 모두 대문자로 :
gUU
한 줄을 모두 소문자로 :
guu
선택 영역을 소문자로 : v +
영역선택 + u (소문자)
선택 영역을 대문자로 : v +
영역선택 + U (대문자)
with
ctags
* 자동완성 : ctrl + n
* 태그찾기 : ctrl + ]
* 돌아오기 : ctrl +
t
일단 command prompt에서 vi명령어를 쓰려면 아래와 같이
실행하여 환경 설정을 합니다.
$ export EDITOR=vi
그리고,
command 작성중에 vi 편집모드로 들어가기 위해서는 Esc 키를
누르면
됩니다.
그후에는 일반 Windows key를 쓰지 마시고, vi 명령키를 사용하여 수정할
수 있습니다.