본문 바로가기

Developer/Linux

vi편집기 명령어(확장모드)

반응형

리눅스에서 활용되는 vi편집기 명령어 정리2(확장모드)

할때마다 찾고, 돌아서면 자꾸 잊어버려서 아예 적어놓고 나중에 찾아보는걸로..ㅎㅎ

 

 


 :! shell command  ; 편집기를 벗어나지 않은 상태로 shell command 를 실행한다.

 :args 현재 편집하는 파일명을 보여준다.

 :w 편집하는 내용을 덮어쓰기로 저장한다.

 :w filename 현재 내용을 지정된 파일 이름으로 저장한다.

 :w! 강제로 덮어쓰기를 한다.

 :wq 현재 편집하는 내용을 저장하고 종료한다.

 :wq! 현재 편집하는 내용을 강제로 저장하고 종료한다.

 :q! 강제로 종료한다.

 :e filename ;새로운 파일을 편집한다.

 :e! 현재 파일을 저장하지 않고 편집이전의 상태에서 새로 작성한다.

 :r filename 현재 커서위치 다음에 파일을 끼워 넣는다.

 :14 r filename 14행 이후에 파일을 읽어 삽입한다.

 :n1,n2d n1번째 행에서 n2번째 행까지를 지운다.

 :n1,n2 w filename n1에서 n2행까지를 filename에 저장한다.

 :3,$d 3번째 행에서 끝항까지 지운다.

 :set 여러 가지 환경 변수를 설정한다. set all하면 현재 설정되어 있는 환경 변수를 보여준다.

 :set nu ; 라인 넘버 붙이기 (<=> set nonu)

 :set showmode ; 현재 명령 상태를 화면 하단에 표시

 :set bg=dark 편집기 글자색을 밝게 표시 (vim)

 :set ai 자동 들여쓰기

 :set ic 문자열 검색시 대소문자 구분 안한다.

 :ab문자 문자열? ; 문자열을 문자열 앞에 있는 문자로 줄여 사용할 수 있음.(아래아한글의 상용구 기능에 해당)

 :set ts=n 기본 tab size를 n column 으로 한다.

 :sp 편집기 화면 수평 분할(화면을 수평으로 여러 개 분할해서 사용할 때 쓴다) (vim)

 :^ww 분할된 화면으로 커서 이동. (vim)

문자열검색

 /패턴 ; 패턴에 해당하는 내용을 현재 커서위치로 부터 오른쪽에서 그리고 아래쪽으로 찾는다.

 n 정방향 다음 찾기 (현재 진행방향으로 => 아래쪽으로)

 N 역방향 다음 찾기 (현재 진행 방향 반대쪽으로 => 위쪽으로)

 ? 패턴 패턴에 해당하는 내용을 현재 커서위치로 부터 왼쪽에서 그리고 위쪽으로 찾는다.

문자열 치환

 :n1,n2s/serch/replace/g ( => 시작행번호, 마지막행번호s/찾을패턴/바꿀패턴/옵션 )

(g 는 global의 의미 해당 라인의 문자열을 전부 치환, g옵션이 생략될 경우에는 한 라인에서 치환해야할 패턴이
여러 개일 경우 맨 왼쪽 에  있는 것만 치환됨.)

*. 옵션에 i 가 사용되면 intractive 모드로 명령어 실행, 바꾸기 전에 물어본다.
* . 키보드에 있는 'Del', 'PageUp','Home','End' 및 방향키는 vi 편집기에서는 사용되지 않는다.
(vi 편집기 명령에 사용되는 키가 아니므로 시스템 환경에 따라서 될 수도 있고 안될 수도 있음)

vi 환경설정.

환경설정 파일을 만들면 자주 사용되는 vi 명령을 디폴트값으로 사용 할 수 있다.
환경설정파일은 확장 모드 명령어만 사용
위치 $HOME/.exrc 또는 .vimrc

설정 파일예

set nu(=set number)  : 라인번호를 붙임.

set ts=4 : tab 의 크기를 4칸으로 함

syn on(=syntax on) : syntax highlighting

set ai : 자동들여쓰기

set cindent : c 소스 코딩시 자동들여쓰기

set shiftwidth : 자동들여쓰기 간격

set showmode : 편집 상태를 화면 하단에 표시

set vb : visual beep (경고음을 시각적으로 표시)

set title : 제목표시줄에 현재 편집중인 파일

 

명 표시

set ic(=ignorecase) : 문자열 검색 할 때 대/소문자 구분 안함

set bg=dark : 글자색을 밝게 표시되도록 한다.

*. 기타
매크로
qa 라고 하면 a 레지스터에 입력하는 모든 키가 순서대로 매크로로 저장이 된다. 매크로가 실행줄일때는 아래에 기록중이라는 메세지가 보인다. q 를 누르면 매크로 저장이 돤료된다.

매크로에 저장된 명령을 실행할때는 @a 라고 하면 된다. 반복실행할때는 5@a 이렇게 숫자를 앞에 붙여주면 된다.

** vi 명령어 기타 **

vim 또는 vi에서 , Tab 문자를 보려면
:set list
그러면 현재 문서의 모든 탭문자가 ^I 라는 기호로 나타난다.
그리고 라인끝에는 $ 문자가 표시된다.
탭문자를 보이지 않게 하려면
:se nolist

반응형