문서 편집기 vi


문서 편집기 vi




최초 작성일 : 2021-09-13 | 수정일 : 2021-09-13 | 조회수 : 417

파일을 작성하거나 수정하기 위해서는 편집기가 필요하다.
윈도우에서는 메모장을 편집기의 기본으로 지원하는 반면 리눅스에서는 기본 편집기로 vi 라는 편집기를 지원한다.
vi는 리눅스에서 일반적으로 사용하는 화면 편집기 이다.
명령이 매우 단순하여 빠르게 편집할 수 있어 사용법만 익힌다면 효율적으로 활용하실 수 있다.
이번 포스팅에서는 리눅스 문서 편집기 vi를 사용하는 방법에 대해 알아보도록 한다.

 

리눅스 문서 편집기 vi 열기

vi 초기화면

vi example.txt -> example txt 파일 실행 (example.txt 파일이 없으면 빈 파일이 실행된다.)
vi -> vi 편집기 실행 (빈파일)

vi를 시작할때는 파일을 지정할 수 있다.
지정한 파일이 존재하는 파일이면 해당 파일이 열리고 없는 파일이면 빈 파일이 열립니다.
빈파일을 열었을 경우에는 마지막 행 모드에서 파일명을 정할 수 있다.

 

vi 파일 저장 및 종료하기

모드명령키설명
마지막 행 모드:qvi에서 작업한것이 없을때 vi 종료한다.
:q!작업한 내용을 저장하지 않고 종료한다.
:w[파일명]작업한 내용을 저장만 한다.
파일명을 지정하면 새 파일로 저장한다.
:wq. :wq!작업한 내용을 저장하고 vi를 종료한다.
명령 모드ZZ (대문자)작업한 내용을 저장하고 vi를 종료한다.

내용을 편집한 후 vi를 종료하려면 명령모드나 마지막 행 모드에서 명령을 입력해야 한다.
마지막 행 모드로 가려면 : 을 누르면 된다.
명령모드에서 파일의 저장과 종료를 동시에 수행하려면 대문자ZZ를 누르시면 파일을 저장한 후 vi를 바로 종료한다.

 

vi 입력모드로 전환하기

명령키설명
i현재 커서 앞에 입력한다.
a현재 커서 뒤에 입력한다.
o커서가 위치한 행의 다음 행에 입력한다.
I(대문자 i)커서가 위치한 행의 첫 컬럼으로 이동하여 입력한다.
A커서가 위치한 행의 마지막 컬럼으로 이동하여 입력한다.
O커서가 위치한 행의 이전 행에 입력한다.

vi 편집기에서 내용을 입력하려면 입력모드로 전환해야 한다.

 

vi 커서 이동하기

명령키설명
k커서를 위로 이동한다.
j커서를 아래로 이동한다.
h커서를 왼쪽으로 이동한다.
l커서를 오른쪽으로 이동한다.
^ / O커서를 현재 행의 처음으로 이동한다.
$커서를 현재 행의 마지막으로 이동한다.
-커서를 한줄 위 처음으로 이동한다.
+ / Enter커서를 다음 행의 처음으로 이동한다.
H커서를 화면의 맨 윗행으로 이동한다.
M커서를 화면의 중간 행으로 이동한다.
L커서를 화면의 맨 아랫행으로 이동한다.
w커서를 다음 단어의 첫 글자로 이동한다.
b커서를 앞 단어의 첫 글자로 이동한다.
e커서를 다음 단어의 마지막 글자로 이동한다.
G파일의 마지막 행으로 커서를 이동한다.
행번호G지정한 행 번호로 커서를 이동한다.
:행번호지정한 행 번호로 커서를 이동한다.
(마지막 행 모드)
:$파일의 마지막 행으로 커서를 이동한다.
(마지막 행 모드)

vi에서는 마우스로 커서를 이동할 수 없고 오로지 키보드로만 커서를 이동할 수 있다.

 

vi 화면 이동하기

명령 키설명
Ctrl + u화면의 절반 만큼 위로 이동한다.
Ctrl +ㅇ화면의 절반 만큼 아래로 이동한다.
Ctrl + b / Page Up한화면 위로 이동한다.
Ctrl + f / Page Down한화면 아래로 이동한다.
Ctrl + y 화면을 한 행 위로 이동한다.
Ctrl + e화면을 한 행 아래로 이동한다.

파일의 크기가 터미널 화면의 크기보다 클 경우에는 화면을 이동하여야한다.

 

vi 내용 수정하기

명령 키설명
r커서가 위치한 글자를 다른 글자로 수정한다.
cw, [수정할 단어 수]cw커서위치에서부터 현재 단어의 끝까지 수정한다.
숫자cw는 커서 위치로부터 지정한 숫자의 단어 만큼 수정한다.
s, [수정할 글자 수]s커서 위치로부터 ESC키를 입력할때까지 수정한다.
숫자s는 커서 위치로부터 지정한 숫자만의 글자를 수정한다.
cc커서가 위치한 행의 내용을 모두 수정한다.
C커서 위치로부터 행의 끝까지 수정한다.

vi에서는 내용을 수정할 수 있는 다양한 명령어를 제공한다.

 

vi 내용 삭제하기

명령 키설명
x, [삭제할 글자 수]x커서가 위치한 글자를 삭제한다.
x앞에 삭제할 글자수를 지정할수도 있다.
dw, [삭제할 단어 수]dw커서가 위치한 단어를 삭제한다.
dw앞에 삭제할 단어수를 지정할수도 있다.
dd, [삭제할 행 수]dd커서가 위치한 행을 삭제한다.
dd앞에 삭제할 행의수를 지정할수도 있다.
D커서 위치로부터 행의 끝까지 삭제한다.

vi에서는 내용을 삭제할 수 있는 다양한 명령어를 제공한다.

 

vi 명령 취소하기

명령 키설명
u명령을 취소한다.
U해당 행에서 한 모든 명령을 취소한다.
:e!마지막으로 저장한 내용 이후의 것을 모두 취소한다.

vi에서 명령을 잘못 입력한 경우 그 명령을 취소할수도 있다.
윈도우에서의 Ctrl +Z와 비슷한 기능이라고 생각하시면 된다.

 

vi 범위 지정하기

명령 키설명
1, $, %1행부터 마지막 행까지 범위를 지정한다.
1,.1행부터 커서가 있는 행까지 지정한다.
.,$커서가 있는 행부터 마지막 행까지 지정한다.
.,.+2현재 행과 두번째 아랫행까지 지정한다.
10,2010행부터 20행까지 지정한다.

윈도우에서는 마우스를 드래그하면 범위를 지정할 수 있지만 vi에서는 위의 명령키를 입력하여 범위를 지정하여야 한다.

 

vi 내용 복사하기 / 잘라내기 / 붙이기

명령 키설명
yy, [복사할 행 수]yy커서가 위치한 행을 복사한다.
yy앞에 복사할 행의 수를 지정할 수도 있다.
dd, [잘라내기할 행 수]dd커서가 위치한 행을 잘라내기한다.
삭제와 같은 명령어이다.
dd앞에 잘라내기할 행 숫자를 입력할 수도 있다.
p커서가 위치한 행의 아래쪽에 붙여넣기를 한다.
P커서가 위치한 행의 위쪽에 붙여넣기를 한다.

vi에서도 일반적인 편집기처럼 내용을 복사하거나 잘라붙이기도 가능하다.

 

vi 내용 검색하기

명령 키설명
/문자열문자열을 커서 아래 방향으로 검색한다.
?문자열문자열을 커서 위 방향으로 검색한다.
n원래 방향으로 다음 문자열을 검색한다.
N반대 방향으로 다음 문자열을 검색한다.

윈도우에서 Ctrl+F를 하여 문자열을 검색하듯 vi에서도 문자열을 검색할 수 있다.

 

vi 내용 치환하기

명령 키설명
:s/[대상문자열]/[바꿀문자열]커서가 위치한 행에서 첫번째로 나오는 대상문자열을 바꿀문자열로 바꿉니다.
:%s[대상문자열]/[바꿀문자열]파일 전체에서 모든 대상문자열을 바꿀문자열로 바꿉니다.
:[범위]s[대상문자열]/[바꿀문자열]범위 내 모든 각 행에서 첫번쨰로 나오는 대상문자열을 바꿀문자열로 바꿉니다.
:[범위]s[대상문자열]/[바꿀문자열]g범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꿉니다.
:[범위]s[대상문자열]/[바꿀문자열]gc범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꾸되 수정할 지 여부를 묻습니다.

문자열을 바꿀 수도 있다.
다만 문자열을 바꿀때에는 마지막 행모드로 전환을 해야만 사용이 가능하다.

명령어 앞의  : 는 마지막 행모드로 전환하는 명령키이다.


Tags  #Linux  

닉네임:
댓글내용: