리눅스 vi(vim) 편집기 기본 사용법
본문
vi 명령어
리눅스의 vi 에디터는 문서 편집기로 메모장 같은 기능입니다.
vi 에디터의 기능을 확장시킨 vim 에디터가 정확한 명칭입니다.
기본 사용 형식은 vi 파일명 형식입니다.
파일명에 해당되는 파일이 있으면 열어서 보여줍니다.
파일이 없다면 입력한 파일명으로 된 새로운 파일이 생성되고 편집 가능한 화면이 나옵니다.
|
$ vi 파일명 -> 파일명으로 된 문서 편집창으로 이동 |
vi 명령어는 명령 모드와 입력 모드로 나눠져 있습니다.
vi 순서
1. vi 모드를 실행
$ vi 파일명 을 입력하여 vi 모드를 실행하고 파일의 생성 또는 편집이 가능합니다.
2. 명령 모드
i / a / o 등을 입력하여 입력이 가능한 편집 모드로 진입합니다.
|
i |
현재 커서의 위치부터 입력 |
|
a |
현재 커서의 다음 칸부터 입력 |
|
o |
현재 커서의 다음 줄에 입력 |
|
s |
현재 커서 위치에서 한 글자 지우고 입력 |
|
I (대문자 i) |
현재 커서 행의 맨 앞부터 입력 |
|
A (대문자) |
현재 커서 행의 맨 마지막부터 입력 |
|
O (대문자) |
현재 커서의 이전 줄에 입력 |
|
S (대문자) |
현재 커서 행을 지우고 입력 |
맨 아래에 '-- insert --' 또는 '-- 끼워 넣기 --'가 나오면 입력이 가능합니다.
3. 편집(입력) 모드
글자를 입력해서 문서작성이 가능합니다.
입력 후 저장 또는 종료를 하기 위해 [esc] 키를 눌러 명령 모드로 전환해야 합니다.
4. 명령 모드
저장, 종료, 치환, vi 환경설정 등을 수행합니다.
|
:q |
종료 |
|
:q! |
강제 종료(저장 X) |
|
:w |
저장 |
|
:wq |
저장, 종료 |
|
:wq 파일명 |
저장할 파일 이름 지정 |
vi 입력 모드 기능
< 커서 이동 >
|
←, space, h |
커서 왼쪽으로 한 칸 이동 |
|
↑, k |
커서 위로 한 칸 이동 |
|
↓, j |
커서 아래로 한 칸 이동 |
|
→, l |
커서 오른쪽으로 한 칸 이동 |
|
+, w |
다음 단어의 처음으로 이동 |
|
- |
바로 위의 행의 처음으로 이동 |
|
m |
현재 화면의 가운에 행으로 이동 |
|
home, ^ (shift+6) |
행의 맨 처음으로 이동 |
|
end / 0 (숫자) , $ (shift+4) |
행의 맨 뒤로 이동 |
|
‘ 더블클릭 |
문서의 맨 아래 또는 맨 위로 이동 |
|
L(대문자), G(대문자) |
파일의 맨 마지막 행으로 이동 |
|
H(대문자), gg |
파일의 첫 행으로 이동 |
|
:숫자+enter, 숫자 G |
숫자 행으로 이동 |
|
ctrl + b |
이전 페이지로 이동 |
|
ctrl + d |
화면의 가운데 행으로 이동 |
|
page Down, ctrl + f |
다음 페이지로 이동 |
|
page Up, ctrl + b |
이전 페이지로 이동 |
|
[[ |
맨 처음으로 이동 |
|
]] |
맨 뒤로 이동 |
< 삭제 >
|
x (= delete 키) |
커서가 있는 문자 삭제 |
|
X(대문자) |
커서 앞에 있는 문자 삭제 |
|
dw |
한 단어 삭제 또는 문자 삭제 |
|
dd |
커서가 있는 행 삭제 |
|
숫자 dd |
커서 행 포함해서 숫자만큼 행 삭제 |
|
db |
커서 기준으로 앞에 문자 전부 삭제 |
< 복사 >
|
yw |
커서 기준 뒤 글자 복사 |
|
yb |
커서 포함 앞 문자 복사 |
|
yy |
커서 행 복사 |
|
숫자 yy / yb / yw 가능 |
커서 행 포함 숫자만큼 행 복사 |
|
숫자 dw |
커서 포함 맨 뒤까지 복사 |
< 붙여넣기 >
|
p(소문자) |
복사한 행 커서 행 아래 붙여 넣음 |
|
P(대문자) |
복사한 행을 커서 행 위에 붙여 넣음 |
< 바꾸기 >
|
:%s/test/new |
각 행의 처음 나오는 test를 찾고 new로 변경 |
|
:1 s/ee/vv |
1행에 있는 ee를 vv로 변경 |
|
:%s/test/new/g |
모든 test를 찾고 new로 변경 |
|
:%s/test/new/gc |
모든 test를 찾고 new로 변경하기 전에 물어봄 |
< 되돌리기, 검색 >
|
u |
Undo(되돌리기) 직전에 수행한 명령을 취소 |
|
ctrl + r |
Redo(다시 실행) 되돌린 것 다시 되돌리기 |
|
/문자열 + enter |
위에서부터 찾음 |
|
?문자열 + enter |
아래에서부터 찾음 |
|
n |
뒤(아래)로 이동 |
|
N |
앞(위)으로 이동 |
< 행 번호 >
|
:set number (= :set nu) |
행 번호 출력 |
|
:set nonumber (= :set nonu) |
행번호 숨김 |
|
:cd |
현재 디렉터리 출력 |
< 오류 >
|
Found a swap file by the name ".test_file01.swp” → 파일의 수정이 정상적으로 종료되지 않았을 때 임시 파일이 생겨났고 vi로 열리지 않는 것 swp 파일을 삭제하면 정상적으로 작업 가능함. |
< swp 파일 삭제 >
|
1. 파일 확인 |
$ ls -a로 '.test_file01.swp' 존재 확인 |
|
2. swp 파일 삭제 |
$ rm -f .파일명.swp 입력 > 삭제 |
관련자료
-
이전
-
다음






