'vi'에 해당되는 글 1건

  1. 2008.06.29 유용한 VI 명령어
OS/Linux2008. 6. 29. 03:44
삽입
I: 줄의 제일 앞에서 입력
A: 줄의 제일 끝에서 입력

콤보command
4w: 4단어 skip후 이동
4b: 4단어 skip후 이동
4j,h,k,l: 커서이동시 지정한 수만큼 건너뛰므로 이동을 좀 더 빨리 할 수 있다.

줄의 결합(J)
2줄이 있고, 2째줄을 1째줄 끝에 붙이고 싶다면, 1째줄에서 J를 입력하면 된다.

커서이동
0: 줄의 처음
^: 줄의 처음(글자가 시작되는 처음)
$: 줄의 끝
w: 단어단위 이동
e: w와 같으나 단어의 끝으로 이동
b: w의 반대방향으로 이동
H, M, L: 커서를 화면 상,중,하로 이동

검색(/후 검색할 단어입력)
n: 뒤로 검색
N: 앞으로 검색

매크로
ab aa aaaa: aa를 입력하면 aaaa로 자동변환

치환
s/pattern/replace:   현재줄의 첫번째 matching pattern치환
s/pattern/replace/g: 현재줄의 모든 matching pattern치환
%s/pattern/replace/g:  모든 줄의 치환
line,lines/pattern/replace: 해당 범위의 치환

저장
w>> file: 지정한 파일에 추가

윈도 split
vi내에서 위아래로 윈도가 분활되면서 2개의 파일을 동시에 open/편집할 수 있다.
ex-mode(:프롬프트상태)에서 'sp 파일이름'
윈도우가 전환은 Ctrl+ww

기타
1. d의 경우 command모드로 계속 남아 있으나 c는 삭제후 insert모드로 변환한다.
   cc, c$, cw등은 유용하게 사용될 수 있다.
2. .은 마지막 명령을 되풀이한다.

visual모드
윈도의 텍스트 에디터와 같이 선택부분이 반전되면서 복사,삭제등을 할 수 있다.
v로 visual모드로 집입하여 커서키를 사용해 원하는 부분을 선택한다.
복사는 y, 삭제/잘라내기는 d로 할 수 있다.

vi설정(vim설정)
자신의 홈디렉토리에 .vimrc를 생성하고 다음과 같이 할 수 있다.

set ai
set ts=4
set nu

각각 auto-indent, tab stop, numbering

윈도에서 작업중 vi에 붙여넣기시 계단현상발생 방지
:set paste

위치기억(UltraEdit의 ALT-F2, F2와 동일한 기능)
m{a-z}: 현재위치를 {a-z}로 북마크함
`{a-z}: 기억해둔 {a-z}로 이동. 보통 한개만 등록했다면 그냥 ``를 사용하면 된다.

레코딩
설정파일의 주석추가/삭제시 유용하게 사용할 수 있다.(이미 vi에 매크로기능이 있지만, 레코딩이
UltraEdit의 매크로기능과 유사하다.)
q{a-z}: {a-z}로 레코딩 시작. {a-z}만 가능한게 아니고 실제 {0-9a-zA-Z"}를 적기 번거로워 이렇게
표시만 한 것이다.
q:      레코딩 종료
@{a-z}: 레코딩 내용 적용(@@를 하면 바로 이전의 레코딩내용을 적용, N@@은 N으로 지정한
숫자만큼 적용)



명령) :marks
설명) 원래는 a-z,A-Z,0-9까지의 마크를 각각의 문서에 대해 할수 있는기능
그냥 marks라고 하면 기본적으로 vim이 저장하는 최근 10개 문서(0-9마크)를 보여줍니다.
이동은 `0 또는 `3

명령) :args
설명) 명령행 인자로 여러개의 파일을 열었을 경우, 이들을 보여주고, 문서간 이동시 편리
저는 F8키를 :args로 맵핑,F9키를 :prev 로 맵핑, F10키를 :ne로 맵핑해서
F8로 현재 열려진 문서들을 확인하고, F9나 F10으로 빠른이동

명령) :ts my_function
설명) my_function이란 태그를 찾을때
Ctrl+]로 이동하는 것만큼이나 자주 쓰게 되죠.

명령) :tn
설명) 매칭되는 태그가 여러개일 경우 다음 매칭되는 태그로의 이동
vim은 자체적으로 매칭되는 태그들에 대해서 우선순위별로 보여주는데
가끔은 찾고자 하는 태그가 바로 안나오는 경우가 있죠... 이때 편리

명령) Ctrl+^
설명) 직전편집문서로 이동
:e#과 동일합니다. 둘중편한것 이용하시면 되죠.

명령) :ls
설명) 현재 열려있는 버퍼들을 확인
편집중에 다른 화일들을 여러개 연경우, 이미 열린화일을 찾기 쉽게 하죠.
이동은 :buffer 1 또는 :buffer 3 등으로.

명령) vim .
설명) 디렉토리 자체를 열고, 화일삭제나, 이름변경등 파일매니저로
vim을 쓸때 편합니다. vim이 디렉토리를 편집할때는 또다른 명령셋을
?로 확인하실수 있어요.

명령) :sp
설명) 화면을 위아래로 분할해서 두개의 윈도우로 작업하는 기능
평소에는 가뜩이나 작은25행 을 분할할 필요까지야 없지만, 위에서 처럼
디렉토리에 대해 작업할때는 윗창은 디렉토리 이동창으로 아래창은 파일 미리보기
창(파일미리보기는 p)으로 쓰면 편리합니다. 높은 해상도로 콘솔을 셋팅하신분들이나
x-window에서 조그만 글씨로 작업하시는분들한테도 소스비교하면서 작업할때도 편리.
위아래 창간의 이동은 Ctrl+ww 로....
Posted by skensita