태그:             

원문 링크 : 리눅스/유닉스 에디터 ‘vi’ (2) – VI 활용


VI 활용

커서 움직이기

글자 단위 이동k위쪽으로
 j아랫쪽으로
 h왼쪽으로
 l오른쪽으로
줄 단위 이동^줄의 맨앞으로 (빈칸무시)
 0줄의 맨앞으로
 $줄의 맨뒤로
 %짝을 이루는 기호 확인하기
 +다음줄의 첫번째 글자로
 윗줄의 첫번째 글자로
 n|현재줄의 n 번째 열로 (n은 임의의 숫자)
 H화면상에 처음줄로
 M화면상의 중간줄로
 L화면상의 마지막줄로
 nH화면상의 처음줄로부터 n 줄 밑으로
 nL화면상의 마지막줄로부터 n 줄 위로
 G맨 마지막줄로 (go)
 nGn 번째줄로
 gg맨 마지막줄로
 nggn 번째줄로
 nn 번째줄로
단어 단위 이동w한단어 오른쪽으로 (word)
 b한단어 왼쪽으로 (back)
 e현재 단어의 끝으로 이동 (end)
 E현재 단어의 끝으로 이동 (구두점 무시 – 영문자에 해당 – ? . !.)
 )다음 문장의 시작으로
 (이전 문장의 시작으로
 }다음 문단의 시작으로
 {이전 문단의 시작으로
 ]]다음 섹션의 시작으로
 [[이전 섹션의 시작으로
화면단위 이동Control – F한화면 밑으로 이동
 Control – B한화면 위로 이동
 Control – D반쪽화면 밑으로 이동
 Control – U반쪽화면 위로 이동
 Control – E커서는 현재위치 그대로 화면만 한줄씩 위로 이동
 Control – Y커서는 현재위치 그대로 화면만 한줄씩 아래로 이동
 z커서의 위치와 함께, 화면상의 맨위로
 nzn번 라인을 화면상의 맨위로
 z.커서의 위치와 함께, 화면상의 중간으로
 z-커서의 위치와 함께, 화면상의 맨아래로
 ## Control – G현재 편집문서의 정보 보여주기
 ## Control – L화면 재표시 (글자가 깨졌을경우)
 ## Control – R화면 재표시 (글자가 깨졌을경우) 편집하기 복사, 붙이기, 합치기

편집하기

복사, 붙이기,
합치기
y :복사하기
yy한줄복사
 2yy두줄복사
 nyyn줄 복사 (n 은 임의의숫자)
 yw한단어 복사
 y2w두단어 복사
 y$그줄 끝까지 복사
 y0(y^)그줄 처음까지 복사
 yG문서의 끝까지 복사
 Y한줄복사 (yy 와 동일)
마지막 명령어의
반복
.마지막에 수행한 명령어를 반복한다.
2.명령어를 2번 반복한다.
 p :붙이기
 p아래로(오른쪽으로) 붙이기
 2p아래로(오른쪽으로) 두번 붙이기
 P위로(왼쪽으로) 붙이기
 2P위로(왼쪽으로) 두번 붙이기
 J :두줄 합치기
 J현재줄을 윗줄에 붙이기 (두줄 합치기)
 3J세줄합치기
지우기, 복구
하기, 바꾸기
d :지우기
dd한줄지우기
 2dd두줄지우기
 nddn줄지우기 (n 은 임의의숫자)
 dw한단어 지우기
 d2w두단어 지우기
 d$그줄 끝까지 지우기
 d0(d^)그줄 처음까지 지우기
 dG문서 끝까지 지우기
 D그줄 끝까지 지우기(d$ 와 동일)
 u :복구하기
 u한번복구하기
 2u두번복구하기
 c :바꾸기
 cc한줄바꾸기
 2cc두줄바꾸기
 ncc여러줄 바꾸기 (n 은 임의의숫자)
 cw한단어 바꾸기
 ce한단어 바꾸기 (공백 제외)
 c2w두단어 바꾸기
 c$그줄 끝까지 바꾸기
 c0(c^)문서 끝까지 바꾸기
 C그줄 끝까지 바꾸기 (c$ 와 동일)
 r :한글자 바꾸기
 r한글자 바꾸기
 2r두글자 바꾸기 (r 명령어는 insert 모드로 바뀌지 않는다.)
 R :바꾸면서 덮어 쓰기
 s :)한글자 지우고 insert 모드로 (cl 와 동일)
 – S :한줄지우고 insert 모드로 (cc 와 동일)
 ~ :대문자 <-> 소문자 바꾸기 (영문자에만 해당)
 지우기와 바꾸기의 차이점은 바꾸기 명령어 후에 vi 편집모드로 바뀐다.
찾기/patternpattern라는 단어 찾기 (위에서 아래로)
 ?patternpattern라는 단어찾기 (아래로 위에서)
 / :찾기반복 – 위에서 아래로
 n :찾기반복 – 위에서 아래로
 ? :찾기반복 – 아래에서 위로
 N :찾기반복 – 아래에서 위로
 fx :현재줄에서 x문자 찾기 (x 는 한개의 글자)
 Fx :현재줄에서 반대방향으로 x문자 찾기 (x 는 한개의 글자)
 tx :현재줄에서 x문자를 찾아서 바로전에 커서놓기
 Tx :현재줄에서 반대방향으로 x문자를 찾아서 바로후에 커서놓기
 ; :현재줄에서 한글자 찾기반복
 ‘ :현재줄에서 한글자 찾기반복 (반대방향으로)
찾기와 편집
명령의 응용
d/simplesimple 이라는 단어가 나올때까지 지우기
d/^scully줄의 맨앞에 scully 라는 단어가 나올때까지 지우기
 y/yahooyahoo 라는 단어가 나올때까지 복사하기 편집모드 지정하기
 i :insert 현재커서위치
 10i* *문자를 10개 집어넣기
 25i=-=- 를 25개 반복하기
 I :현재커서가 위치한 줄의 맨처음에
 a :append 현재커서위치 바로 다음에
 A :현재커서가 위치한 줄의 맨끝에
 o :open 현재커서위치 바로 아래줄에
 O :Open 현재커서위치 바로 윗줄에 위치 기억하기
 mx :mark 현재의 커서위치를 x 라는 문자로 기억
 `x :기억된 x 위치로 이동
 “ :이동하기 전의 위치로 (제자리)
 ‘x :기억된 x 위치의 맨 앞으로 이동
 ” :이동하기 전 위치의 맨앞으로 이동 버퍼 이용하기
 “xyy :x 라는 이름의 버퍼에 한줄 복사 하기
 “xp :x 라는 이름의 버퍼에 저장된 내용을 붙이기
잠시 쉬었다
가기
:=현재 줄번호 보여주기
:/pattern/= pattern 이 위치한 줄번호 보여주기

관련글

[펌] 리눅스/유닉스 에디터 ‘vi’ (2) – VI 활용

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다