행 단위 편집기
한 줄 단위로 화면에서 입력 : ed, ex, sed
화면단위 편집기
화면단위로 입출력 : vi(최근엔 vim), emacs, nano(메뉴 기반 에디터) 등
GUI 편집기
: gedit
CTRL 이나 ALT 같은 특수 키와 함께 사용vim : vi 이후에 개발된 Editor
sudo apt-get install vim
vi 를 시작하면 명령모드로 진입
명령모드 -> 입력모드 : i , I , a , A , o , O
입력모드 -> 명령모드 : ESC
명령모드에서 저장 및 종료 : ZZ
명령모드 -> 마지막 행 모드 : : , \ , ?
마지막 행 모드 -> 명령모드 : Enter , ESC
마지막 행 모드에서 저장하지 않고 종료 : :q , :q!
마지막 행 모드에서 저장하고 종료 : :wq , :wq!

vim 파일경로
| 모드 | 명령키 | 기능 |
|---|---|---|
| 마지막 행 모드 | :q | 작업한 것이 없을 때 그냥 종료 |
:q! | 작업한 내용을 저장하지 않고 종료 | |
:w [파일명] | 작업한 내용을 저장만 함. 파일명을 지정하면 새 파일로 저장한다 | |
:wq ,:wq! | 작업한 내용을 저장하고 vi를 종료한다 | |
| 명령모드 | ZZ | 작업한 내용을 저장하고 vi를 종료한다 |
| 명령키 | 기능 |
|---|---|
i | 현재 커서 자리에 입력 |
a | 현재 커서 다음자리에 입력 |
o | 커서가 위치한 행의 다음 행에 입력 |
I | 커서가 위치한 행의 첫 컬럼으로 이동하여 입력 |
A | 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력 |
O | 커서가 위치한 행의 이전 행에 입력 |
| 명령키 | 기능 |
|---|---|
k | 한 행 위로 이동 |
j | 한 행 아래로 이동 |
l | 한 글자 오른쪽으로 이동 |
h | 한 글자 왼쪽으로 이동 |
^ or 0 | 현재 행의 맨 앞으로 이동 |
$ | 현재 행의 맨 뒤로 이동 |
- | 앞 행의 맨 처음으로 이동 |
+ or Enter | 다음 행의 처음으로 이동 |
H or M or L | 화면의 맨 위/ 중간 / 아래로 이동 |
w or e | 다음 단어의 처음 / 마지막으로 이동 |
b | 앞 단어의 첫 글자로 이동 |
| 명령키 | 기능 |
|---|---|
CTRL + u | 반 화면 위로 이동 |
CTRL + d | 반 화면 아래로 이동 |
CTRL + b | 한 화면 위로 이동 |
CTRL + f | 한 화면 아래로 이동 |
CTRL + y | 화면을 한 행만 위로 이동 |
CTRL + e | 화면을 한 행만 뒤로 이동 |
| 명령키 | 기능 |
|---|---|
Shift + g | 파일의 마지막 행으로 이동 |
행번호 Shift+g | 지정한 행 번호로 이동 |
:행번호 | 지정한 행 번호로 이동 |
:$ | 마지막 행으로 이동 |
| 명령키 | 기능 |
|---|---|
r | 커서가 위치한 글자를 다른 글자로 수정 |
cw, #cw | 커서 위치부터 현재 단어의 끝까지 수정하는데 #자리에 숫자를 지정하면 수정할 단어의 수가 된다 |
s, #s | 커서 위치부터 esc를 누를 때 까지 수정하는데 #에는 수정할 글자 수를 설정 |
cc | 커서가 위치한 행의 내용을 모두 수정 |
C | 커서 위치부터 행의 끝까지 수정한다 |
| 명령키 | 기능 |
|---|---|
x, #x | 커서 위치의 글자를 삭제, #에 삭제할 글자 수 지정 |
dw, #dw | 커서 위치의 단어 삭제, #에 삭제할 단어 수 지정 |
dd, #dd | 커서 위치의 행 삭제, #에 삭제할 행 수 지정 |
Shift + d | 커서 위치부터 행의 끝까지 삭제 |
| 명령키 | 기능 |
|---|---|
u | 명령을 취소 |
U | 해당 행에서 한 모든 명령을 취소 |
:e! | 마지막으로 저장한 이후의 것을 모두 버리고 새로 작업 |
| 명령키 | 기능 |
|---|---|
yy, #yy | 커서가 위치한 행을 복사, #은 복사할 행의 수 지정 |
p | 커서가 위치한 행의 아래쪽에 붙여넣기 |
P | 커서가 위치한 행의 위쪽에 붙여넣기 |
dd, #dd | 커서가 위치한 행을 자르기, #은 잘라둘 행의 수 지정 |
버퍼 : 저장할 수 있는 공간
"문자나숫자(a,..)복사나잘라내기(yy,dd) 수행"버퍼이름+p1. vi로 새로운 파일인 exec.txt 파일을 생성
vim exec.txt
2. 아래 내용을 입력
i : 입력모드 변환 후 작성
Good morning everyone.
Nice to meet you.
I am a linux beginner.
Now introduce yourself.
3. 파일의 내용 저장
ESC : 명령모드 변환
:w : 파일 내용 저장
4. 마지막 행에 Welcome Linux World 추가
:$ : 마지막 행 이동
i : 입력모드 전환
Welcome Linux World 추가
5. 파일 저장 후 종료
ESC : 명령모드 변환
:wq : 파일 내용 저장 후 종료
:r 파일 : 파일 경로를 이용하면 파일을 읽어서 현재 커서 위치에 삽입
:e 파일 : 파일 경로를 이용하면 지정한 파일로 전환하는데 기존 파일을 저장한 후 실행해야 함
:n : vi를 시작할 때 여러 파일을 열었다면 다음 파일로 전환
:! 셸명령 : vi 작업을 잠시 중단하고 셸 명령을 실행하는데 vi로 돌아오려면 Enter 를 누름
:sh : vi를 잠시 빠져나가서 셸명령을 실행한다. vi로 돌아오려면 exit 명령 입력
CTRL + l : 현재 화면을 다시 출력CTRL + g : 현재 커서 위치의 행 번호를 마지막 행에 출력Shift + j : 현재 행과 아래 행을 연결해서 한 행으로 만듬. : 바로 직전에 수행했던 명령을 반복~ : 커서 위치의 글자를 대문자나 소문자로 변경.exrc 파일로 저장# vi .exrc
set nu
set list
다른 파일을 열 때 적용되어서 나옴
EXRINIT에 지정EXINIT = 'set nu list'
export EXINIT
set nu : 행 번호를 표시 ✅
set nonu : 행 번호를 숨김
set list : 눈에 보이지 않는 특수문자를 표시
set nolist : 눈에 보이지 않는 특수문자를 숨김
set showmode : 현재 모드를 표시
set noshowmode : 현재 모드를 숨김
set : vi 환경설정 값을 출력
set all : 모든 환경변수와 현재 값을 출력
