BackEnd/Linux
[ Linux ] 리눅스 문서 편집기 - vi 편집기
jimin-log
2023. 2. 21. 14:38
리눅스 편집기의 종류
구분 | 종류 |
행 단위 쳔집기 | ed, ex, sed |
화면 단위 편집기 | vi, emacs |
GUI 편집기 | gedit |
vi
1. vi 시작
명령 | 설명 |
$vi | 빈파일 이 열리고 저장시 이름을 별도로 지정하여 저장한다. |
$vi 파일이름 | 지정한 파일을 열어준다. 파일이 없을시 빈파일을 해당 파일명으로 열게된다. |
2. 입력모드로 전환
명령 키 | 기능 |
i | 현재 커서 자리에 입력 |
a | 현재 커서 다음 자리에 입력 |
o | 커서가 위치한 행의 다음 행에 입력 |
I(대문자 i) | 커서가 위치한 행의 첫 칼럼으로 이동하여 입력 |
A | 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력 |
O | 커서가 위치한 행의 이전 행에 입력 |
3. 이동
1) 커서 이동
명령 키 | 기능 |
k | 커서를 한 행 위로 이동 |
j | 커서를 한 행 아래로 이동 |
l | 커서를 한 글자 오른쪽으로 이동 |
h | 커서를 한 글자 왼쪽으로 이동 |
^ 또는 0 | 커서를 현재 행 처음으로 이동 |
$ | 커서를 현재 행의 마지막으로 이동 |
- | 커서를 앞 행의 처음으로 이동 |
+ 또는 Enter | 커서를 다음 행의 처음으로 이동 |
H | 커서를 화면의 맨 윗행으로 이동 |
M | 커서를 화면의 중간행으로 이동 |
L | 커서를 화면의 맨 아랫행으로 이동 |
w | 커서를 다음 단어의 첫글자로 이동 |
d | 커서를 앞 단어의 첫 글자로 이동 |
e | 커서를 다음 단어의 마지막 글자로 이동 |
2) 화면 이동
명령 키 | 기능 |
Ctrl + u | 반 화면 위로 이동 |
Ctrl + d | 반 화면 아래로 이동 |
Ctrl + b | 한 화면 위로 이동 |
Ctrl + f | 한 화면 아래로 이동 |
Ctrl + y | 화면을 한 행만 위로 이동 |
Ctrl + e | 화면을 한 행만 아래로 이동 |
3) 특정 행으로 바로 이동
명령 키 | 기능 |
G | 파일의 마지막 행으로 커서 |
행 번호G | 지정한 행 번호로 커서가 이동 |
:행 번호 | 지정한 행 번호로 커서가 이동 |
:$ | 파일의 마지막 행으로 커서 이동 |
4. 수정
1) 내용 수정
명령 키 | 기능 |
r | 커서가 위치한 글자를 다른 글자로 수정 |
cw,#cw | 지정한 행 번호로 커서가 이동 #에는 수정할 단어수를 입력 |
s,#s | 커서 위치 부터 ESC 키를 입력할때까지 수정 #에는 수정할 글자 수를 입력 ex ) 3s ![]() |
cc | 커서 위치한 행의 내용을 모두 수정 |
C | 커서 위치부터 행의 끝까지 수정 |
2) 내용 삭제하기
명령 키 | 기능 |
x, #x | 커서 위치의 글자를 삭제, #에는 삭제할 글자수를 입력 |
dw, #dw | 커서 위치의 단어를 삭제, #에는 삭제할 단어 수를 입력 |
dd,#dd | 커서 위치의 행을 삭제, #에는 삭제할 행 수를 입력 |
D | 커서 위부터 행 끝까지 삭제 |
C | 커서 위치부터 행의 끝까지 수정 |
3) 명령 취소
명령 키 | 기능 |
u | 명령을 취소 |
U | 해당 행에서 한 모든 명령을 취소 |
:e! | 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업 |
4) 복사하기/ 잘라내기 / 붙이기
명령 키 | 기능 |
yy, #yy | 커서가 위치한 행을 복사, #에는 복사할 행 수를 입력 |
p | 커서가 위치한 행의 아래쪽에 붙힌다. |
P | 커서가 위치한 행의 위쪽에 붙힌다. |
dd, #dd | 커서가 위치한 행을 잘라둔다(삭제와 같은 기능), #에는 잘라둘 행의 수를 입력 |
5. 검색하기
1) 검색
명령 키 | 기능 |
/문자열 | 문자열을 아래 방향으로 검색 |
?문자열 | 문자열을 위 방향으로 검색 |
n | 원래 찾던 방향으로 다음 문자열을 검색 |
N | 반대 방향으로 다음 문자열을 검색 |
2) 바꾸기
명령 키 | 기능 |
:s/문자열1/문자열2 | 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꾼다 |
:%s/문자열1/문자열2 | 파일 전체의 모든 문자열1을 문자열2로 바꾼다 |
:<범위>s/문자열1/문자열2 | 범위 내의 모든 각 행에서 첫번째로 나오는 문자열1을 문자열2로 바꾼다 |
:<범위>s/문자열1/문자열2g | 범위 내의 모든 행에서 문자열1을 문자열2로 바꾼다 |
:<범위>s/문자열1/문자열2/gc | 범위 내의 모든 행에서 문자열1을 문자열2로 바꿀 때 수정 여부를 묻는다 |
6. 파일 읽어오기, 여러 파일 편집
명령 키 | 기능 |
:r 파일 | 지정한 파일을 읽어들여 현재 커서 위치에 삽입 |
:e파일 | 지정한 파일로 전환 (기존 파일을 :w로 저장 후 실행 가능) |
:n | vi 시작 시 여러 파일을 지정 했을 경우 다음 파일로 작업을 이동 |
7. vi 환경 설정 명령 (set)
명령 키 | 기능 |
set nu | 파일 내용의 각 행에 번호를 표시한다. |
set nonu | 행번호를 감춘다 |
set list | 눈에 보이지 않은 특수문자를 표시 |
set nolist | 특수문자를 감춘다 |
set showmode | 현재 모드를 표시한다. |
set noshowmode | 현재 모드를 감춘다 |
set | set으로 설정한 모든 vi 환경 설정 값출력 |
set all | 모든 vi 환경 변수와 현재 값 출력 |