티스토리 뷰

study/Linux

vi 명령어 모음

kwakjun0 2013. 4. 1. 17:26
이동명령ex 편집명령:d행 삭제
글자h ,j ,k ,l←↓↑→:m행 이동
 :co행 복사
문장w, W, b, B단어 단위로 앞, 뒤로 이동:.,$d현재 행에서 파일 끝까지 삭제
소문자는 구두점도 하나의 단어로 인식하며, 대문자는 구두 점을 무시한다.:30, 60m현재행 다음 줄에 30행부터 60행까지를 이동
e, E단어의 끝.,/pattern/co$현재행 부터 pattern을 포함하는 항까지를 파일 끝으로 복사
), (다음, 이전 문장의 시작명령행 옵션
}, {다음, 이전 구의 시작명령행vi filefile를 vi 편집기로 호출
]], [[다음, 이전 절의 시작vi file1 file2파일들을 연속적으로 vi 편집기로 호출
 view file파일을 읽기 모드로 vi 편집기로 호출
0, $현재 행의 처음, 마지막 위치vi -R file파일을 읽기 모드로 vi 편집기로 호출
^현재행의 첫 문자(공백은 무시)vi -r file시스템이 크래쉬된 후, 파일과 최근 편집 사항을 복구
+, -다음, 이전 행의 첫 문자vi + file마지막 행으로 파일 열기
n|현재행의 n번째 열vi +n filen 번째 행으로 파일 열기
H화면의 첫 행vi +/pattern filepattern으로 파일 열기
M화면의 중간 행ex file파일을 ex 편집기로 열기
L화면의 마지막 행종료명령
nH화면 첫행에서 아래로 n번째 행종료 명령ZZ저장하고 빠저나오기
nL화면 마지막 행에서 위로 n번째 행:x저장하고 빠저나오기
 :wq저장하고 빠저나오기
화면CTRL-F, CTRL-B한화면 앞, 뒤로:w저장하기
CTRL-D, CTRL-U반화면 아래, 위로:w!저장하기(겹처쓰기 방지)
CTRL-E, CTRL-Y화면 전체를 한행 위, 아래로:30,60w newfile30번째 행에서 60번째 행까지를 newfile로 저장하기
z[RETURN]깜박이가 있는 행을 화면 첫행으로:30,60w >> file30번째 행에서 60번째 행까지를 file에 덧붙이기
z.깜박이가 있는 행을 가운데 행으로:w %.newfile이라는 파일을 file.new로 저장하기
z-깜박이가 있는 행을 가운데 행으로:q종료하기
 :q!종료하기(겹처쓰기 방지)
검색/pattern앞 방향으로 패턴을 검색:Qvi를 종료하고, ex 호출하기
?pattern뒷 방향으로 패턴을 검색:e file2vi를 종료하지 않고 file2 편집하기
n, N동일, 반대 방향으로 마직막 검색을 반복:n다음 파일 편집하기
/, ?앞, 뒤로 이전 검색을 반복:e!현재 편집하고 있는 파일(변경사항을 저장하지 않은 원본)을 다시 부르기
fx현재 행에서 글자 x를 앞방향으로 검색:e#이전 파일 편집하기
Fx현재 행에서 글자 x를 뒷방향으로 검색:preUnix 시스템에 파일보존 신청하기.
tx현재 행에서 글자 x를 앞방향으로 검색한후, 글자 x 전 글자로 이동 
Tx현재 행에서 글자 x를 뒷방향으로 검색한후, 글자 x 뒷 글자로 이동Unix 프롬프트에서 vi -r file을 입력하면 이전에 변경한 사항을 복구할 수 있다.
;이전 현재 행 검색을 반복#이전 파일명
'이전 현재 행 검색을 반대 방향으로 반복기타명령
 vi 명령.마지막 명령 반복
행 번호CTRL-G현재의 행 번호를 출력u, U마지막 명령, 행에대한 명령 취소
nGn 번째 행으로 이동J두 행 합치기
G파일의 마지막 행으로 이동CTRL-L화면 다시 그리기
``G 명령 전의 마지막 위치로 이동(두개의 작은 역 따옴표)CTRL-R취소 명령 취소(Redo)
:nn 번째 행으로 이동 
편집명령ex 명령:vi로 부터 ex 호출
삽입i, a깜박이 앞, 뒤에 문장 삽입:viex로 부터 vi 호출
I, A행의 시작, 끝에 문장 삽입:sh쉘 호출
o, O깜빡이 아래, 윗 줄에 새로운 행 편집^D쉘에서 vi로 돌아가기
R글자 덥어쓰기:! commandUnix 명령어 실행
 :r newfilenewfile을 현재 파일로 읽음
변경r한글자 변경:r! commandUnix 명령어의 출력을 현재파일로 읽음
~대 소문자 변경(다른 명령, 숫자와 결합할 수 없음) 
cw한 단어 변경표시mx현재의 위치를 x로 표시(숫자는 안됨)
cw한 단어 변경`xx로 깜박이 이동
cc현재 행 변경``이전 표시나 이동 후 문장으로 되돌아가기
C깜박이 위치에서 행 끝까지 변경'x표시 x를 포함하는 행의 선두로 이동
s한 글자를 삭제하고 문장으로 대치''이전 표시를 포함하는 행의 선두로 이동
S현재 행을 삭제하고 문장으로 대치 
 단축:map x sequence키 x를 편집명령어 집합으로 정의
삭제, 이동x한글자 삭제:unmap xx에대한 정의 삭제
X깜박이 앞의 한글자 삭제:ab abbr phrasephrase의 약자를 abbr로 한다. abbr이 삽입모드에서 입력되면 완전한 단어나 구로 확장된다.
dw, de한 단어 삭제(단어 다음의 공백 포함), 한 단어만 삭제:unab abbr약어를 삭제한다.
dd현재행 삭제 
D깜박이 위치에서 행 끝까지 삭제사용자화:set option옵션을 사용
p, P깜박이 아래, 윗 줄에 삭제한 문장 붙이기:set option=value옵션에 value를 할당
"np삭제 버퍼로 부터 n 번째 행을 깜박이 아래줄에 붙이기(마지막 9개의 삭제행에 대해):set nooption옵션 사용안함
 :set사용자에의해 설정된 옵션 보이기
복사yw한단어 복사:set all기본 옵션과 사용자가 설정한 모든 옵션의 목록 보이기
yy현재행 복사:set option?설정된 옵션값 보이기
"ayy현재행을 a라는 버퍼에 복사주의:.exrc 파일내에서는 ex 명령의 시작을 나타내는 콜론(:)을 생략해야 한다.
p, P깜박이 아래, 윗 줄에 복사된 문장을 붙임
"aP버퍼 a의 문장을 깜박이 윗줄(p, 아래 줄)에 붙임

[출처] VI 명령어 모음|작성자 기회



출처 : http://blog.naver.com/superlee93?Redirect=Log&logNo=90165540033