p 붙이기
[VI 명령어 모음]
1. 삽입 명령어
a : 커서 뒤에 입력
A : 라인 끝에 입력
i : 커서 앞에 입력
I : 라인시작 부분에 입력
o : 커서있는 라인 밑에 입력
O : 커서있는 라인 위에 입력
2. 커서이동 명령어
h : 왼쪽으로 커서 한칸 이동 (←)
l : 오른쪽으로 커서 한칸 이동 (→ , SpaceBar)
j : 아래쪽으로 커서 한칸 이동 (↓)
k : 위쪽으로 커서 한칸 이동 (↑)
e : 다음 단어의 마지막으로 이동
E : 커서를 공백으로 구분된 다음단어 끝으로 이동
b : 한 단어 뒤로 이동
B : 커서를 공백으로 구분된 이전단어로 이동
w : 커서를 한 단어 뒤로 이동(단어 단위)
W : 커서를 공백으로 구분된 다음단어의 앞칸으로 이동(공백 단위)
k : 커서를 한 라인 위로 이동
0 : 커서를 라인의 시작으로 이동 (숫자 0, Home)
^ : 커서를 라인의 시작으로 이동하되 첫 글자의 앞으로 이동
$ : 커서를 라인의 끝으로 이동
H : 현재 보이는 화면의 처음으로 이동(화면의 상)
M : 커서를 현재화면의 중간 라인으로 이동(화면의 중)
L : 현재 보이는 화면의 끝으로 이동(화면의 하)
Enter : 커서를 다음 라인 시작으로 이동
- : 커서를 이전 라인의 시작으로 이동
+ : 다음 라인의 시작으로 이동
Ctrl+F : 다음 화면으로 이동 (PageDown)
Ctrl+D : 화면의 반만 앞으로 이동
Ctrl+B : 이전 화면으로 이동 (PageUp)
Ctrl+U : 화면의 반만 뒤로 이동
G : 커서를 문서의 마지막 라인으로 이동
숫자G : 커서를 숫자 라인만큼 아래로 이동
( : 문단의 시작으로 이동하여 첫단어의 시작위치에 커서이동
) : 문단의 끝으로 이동하여 첫단어의 시작위치에 커서이동
{ : 문단의 시작으로 이동
} : 문단의 끝으로 이동
3. 삭제/잘라내기 명령어
x : 커서가 있는 부분의 문자 삭제
X : 커서가 있는 문자 앞에 있는 문자 삭제
dw : 커서가 있는 단어 삭제
db : 커서가 앞에 있는 단어 삭제
dW : 공백으로 구분된 뒷 단어 삭제
dB : 공백으로 구분된 앞 단어 삭제
dd : 커서가 있는 라인 삭제
D : 커서가 있는 곳부터 그 라인의 뒷부분 삭제
d) : 커서가 있는 곳부터 그 문단의 나머지 삭제(커서가 있는곳이 공백줄이면 그 줄만 삭제)
d} : 커서가 있는 곳부터 문단의 나머지 삭제(커서가 있는곳이 공백줄이라도 그줄을 포함해서 뒷문단 삭제)
dG : 커서가 있는 곳부터 열린 문서의 나머지 삭제
dH : 커서가 있는 곳부터 화면의 시작까지 삭제
dL : 커서가 있는 곳부터 화면의 마지막까지 삭제
dM : 커서가 있는 곳부터 화면의 중간까지 삭제
J : 아래 라인을 현재 라인의 뒤에 붙임(현재라인 끝의 \r\n을 없앰)
4. 바꾸기 명령어
r : 커서에 있는 문자 대치 ( r 누르고 문자입력)
R : 입력모드로 한 문자씩 덮어씀(실제 입력모드는 아님)
s : 커서가 있는 문자 삭제 후 입력모드로 전환
S : 커서가 있는 줄을 삭제 후 입력모드로 전환
cb : 커서가 있는 앞 문자 삭제 후 입력모드로 전환
cW : 공백으로 구분된 뒷 단어를 삭제 후 입력모드로 전환
cB : 공백으로 구분된 앞 단어를 삭제 후 입력모드로 전환
cc : 커서가 있는 라인을 삭제하고 입력모드로 전환
C : 커서가 있는 곳부터 라인의 나머지를 삭제하고 입력모드로 전환
c0 : 커서가 있는 곳부터 라인의 시작까지 삭제하고 입력모드로 전환
c) : 커서가 있는 곳부터 문단의 나머지부분을 삭제하고 입력모드로 전환(커서가 있는곳이 공백줄이면 그 줄만 삭제)
c} : 커서가 있는 곳부터 문단의 나머지부분을 삭제하고 입력모드로 전환(커서가 있는곳이 공백줄이라도 그줄을 포함해서 뒷문단 삭제)
cG : 커서가 있는 곳부터 현재문서의 끝까지 삭제하고 입력모드로 전환
cH : 커서가 있는 곳부터 화면의 시작까지 지우고 입력모드로 전환
cM : 커서가 있는 곳부터 화면의 중간까지 지우고 입력모드로 전환
cL : 커서가 있는 곳부터 화면의 끝까지 지우고 입력모드로 전환
5. 텍스트 이동/붙여넣기 명령어
p : 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입
P : 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입
dw p : 커서가 있는 단어를 삭제(dw)한 후 이를 원하는 곳에 커서 뒤로 삽입(p)
dw P : 커서가 있는 단어를 삭제(dw)한 후 이를 원하는 곳에 커서 앞로 삽입(P)
dd p : 커서가 있는 라인을 삭제(dd)한 후 이를 원하는 곳에 커서 뒤로 삽입(p)
6. 복사 명령어
yy : 커서가 있는 라인을 복사
y + 방향키 : 커서가 있는 곳부터 방향키로 지정한 방향의 라인 또는 문자까지 복사
yw : 커서가 있는 단어를 복사
yb : 커서가 있는 앞 단어를 복사
yW : 커서가 있는 곳부터 공백으로 구분된 다음 단어 복사
yB : 커서가 있는 곳부터 공백으로 구분된 이전 단어 복사
y) : 커서가 있는 곳부터 문단의 나머지 부분을 복사(커서가 있는곳이 공백줄이면 그 줄만 복사)
y} : 커서가 있는 곳부터 문단의 나머지 부분을 복사(커서가 있는곳이 공백줄이라도 그줄을 포함해서 뒷문단 복사)
yG : 커서가 있는 곳부터 현재 문서의 마지막까지 복사
yH : 커서가 있는 곳부터 현재 화면의 시작까지 복사
yM : 커서가 있는 곳부터 현재 화면의 중간까지 복사
yL : 커서가 있는 곳부터 현재 화면의 끝까지 복사
7. 검색 명령어
/[pattern] : 텍스트에서 앞으로 패턴 검색 (정규표현식)
>[pattern] : 텍스트에서 뒤로 패턴 검색 (정규표현식)
/문자열 : 문자열 검색
n : 검색결과에서 다음검색 반복
N : 검색결과에서 이전검색 반복
? : 전 검색을 뒤로 반복(검색문자의 해당라인 맨 앞에 커서 위치)
8. 매크로
ab [매크로실행명령] [실행시 출력문자열]
예) ab aa aaaa : aa를 입력하면 aaaa로 자동변환
9. 치환 명령어
s/pattern/replace : 현재줄의 첫번째 matching pattern 치환
s/pattern/replace/g : 현재줄의 모든 matching pattern 치환
%s/pattern/replace/g : 모든 줄의 치환
line1,line2/pattern/replace : line1부터 line2 까지 범위를 치환
- 옵션설명 :
c 치환전 확인 유무 물음
g 글로벌 치환
p 치환된 마지막 라인 출력
10. 기타 명령어
4w : 4단어 skip후 이동(-> 방향으로 이동)
4b : 4단어 skip후 이동(<- 방향으로 이동)
4j, 4h, 4k, 4l : 커서이동시 지정한 수 만큼 건너띄어 이동(숫자 + 방향키)
~ : 대문소는 소문자로, 소문자는 대문자로 치환
숫자 + 방향키 : 해당 숫자만큼 상,하,좌,우로 이동
c + 방향키 : 방향키로 지정한 방향의 라인 또는 문자를 지우고 입력모드로 전환
c + 숫자 + 방향키 : 방향키로 지정한 방향의 숫자만큼을 지우고 입력모드로 전환
K : 현재 커서가 있는곳의 shell 명령어(echo등)에 대한 메뉴얼 보여줌.
w>> file명 : 현재 문서(또는 visual로 정한 영역)을 지정한 file(단, 파일은 존재해야함)에 추가
. : 마지막 명령어 반복
v : visual mode
선택부분(방향키로 영역반전)을 복사, 삭제할 수 있다.
예) v + 방향키로 영역설정(반전) + y : 선택영역을 복사
11. 팁
* vi편집모드에서 붙여넣기시 탭의 계단현상발생 방지
:set paste
* marks - 위치기억(UltraEdit의 Alt+F2, F2와 동일한 기능)
:m{a~z} : 현재위치를 a~z로 북마크함
:`{a~z} : 기억해둔 a~z 로 이동, 보통 한개만 등록했다면 그냥 ``를 사용하면 된다.
- 저장된 마크(위치기억)를 보려면
:marks 를 치면 최근 10개의 마크된 파일또는 텍스트를 보여준다.
* 레코딩 - 설정파일의 주석추가/삭제시 유용하게 사용(UltraEdit의 매크로기능과 유사)
:q{a~z} : a~z로 레코딩 시작.
:q : 레코딩 종료
:@{a~z} : 레코딩 내용적용(@@를 하면 바로 이전의 레코딩 내용을 적용, 숫자@@는 지정수만큼 적용)
* :sp [파일명] : 윈도우를 2개로 분할한다.(명령수에 따라 계속 분할됨)
윈도우의 이동은 Ctrl+ww 로 순차적으로 이동
- 문서 편집과 동시에 디렉토리 확인가능
:sp . (현재 디렉토리의 tree를 화면분할하여 불러옴)
- 디렉토리 tree에서 선택한 디렉토리 또는 파일에 커서를 두고 p 를 누르면
화면분할이 되면서 미리보기가 가능함.
* :ls : 현재 열려진 buffer목록을 본다.
이동은 :buffer 1 또는 buffer 3등으로 이동한다.
12. vim설정
자신의 홈디렉토리에 .vimrc 를 생성할 수 있다.
set ai : autoindent, 자동 indent(디폴트 off)
set ts=4 : tabstopp=n, 탭이동공간을 4로 지정(디폴트 8)
set nu : number, 줄번호를 보여줌(디폴트 off)
set ap : autoprint, 줄이 바뀔때 현재 줄을 화면상에서 출력(디폴트 on)
set ed : errobells, 명령에러가 발생시 삑 소리를 나게함(디폴트 off)
set report : report, 편집시 메세지를 보낼 편집 변화 크기 지정(디폴트 5)
set sm : showmatch, 가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌(디폴트 off)
set wam : wam, 저장하지 않고 종료할때 경고 메시지를 뿌려줌(디폴트 on)
set ic : ignorecase, 검색패턴에 사용되는 대소문자를 구별하지 않음(디폴트 on)
set wm=4 : wrapmargin=n, 텍스트 오른쪽 여백을 n수만큼 지정(디폴트 0)
13. 버퍼 이용하기 (" 따옴표)
- 현재파일을 수정할때 필요한 내용을 버퍼에 담고 해당 내용을 다른 파일 수정할때도 유지하게 할 수 있습니다.
"[버퍼명(a-z)][줄수][명령]
예)
1. a 버퍼에 10줄 복사하여 담기
"a10yy
2. a 버퍼에 추가로 5줄 담기
"A5yy
줄수의 기준은 현재 커서가 있는 줄부터 아래쪽으로 셈 합니다.
13. 파일 오가며 편집하기
:e 파일명
사용예) aaa.txt 파일의 현재커서부터 4줄을 버퍼에 복사하고 다른파일로 이동하여 해당버퍼에
저장된 문자열을 붙여넣기하는 방법
$bash> vi aaa.txt
"a4yy (a버퍼에 4라인 복사, 4 lines yanked 메시지확인)
:w (현재파일을 수정했다면 저장)
:e bbb.txt (aaa.txt 를 닫고 bbb.txt 파일열기)
"ap (a버퍼에 저장된 내용을 붙여넣기)
원본글 주소 : http://najo.tistory.com/47
'시스템 > linux' 카테고리의 다른 글
WOL 리눅스에서 활성화 시키기 (0) | 2011.09.18 |
---|---|
vsftpd 설치 이용 가이드 (0) | 2011.09.16 |
[펌]VSFTP passive mod 포트 변경및 iptables 변경 (0) | 2011.09.16 |
FTP 명령어 (0) | 2011.09.14 |
sulinux 1.5 server 텍스트큐브 설치기(작성중..) (0) | 2011.09.14 |