Vi editor
- 유닉스에서 가장 보편적으로 사용되는 screen editor
- 유닉스, 리눅스 운영체제에서는 vi에디터가 윈도우의 메모장이라고 볼 수 있음.
- 간단한 명령어만으로 문서를 작성하고 편집하고 저장할 수 있음.
vi 편집기 실행: vi [파일명]
vi editor 모드

- 입력 모드: 파일에 내용을 입력할 수 있는 상태
- i/a/A/o/O 중 하나를 클릭하면 입력모드로 전환.
| 단축키 | 기능 |
| i | 커서 있는 위치 앞에서 입력(insert) |
| a | 커서 있는 위치 뒤에서 입력 (append) |
| A | 커서 있는 행의 끝부터 입력 |
| o | 커서 있는 행의 다음 줄에 새로운 행이 추가되면서 입력 |
| O | 현재 커서의 행의 윗줄에서 새로운 행이 추가되면서 입력 |
- 명령 모드 -> vi 시작 시 기본 모드: 텍스트를 삭제하고 커서를 움직이고 저장하는 등의 명령어를 입력할 수 있는 모드.
- 입력모드 상태에서 ESC 버튼 클릭 시 명령모드로 전환.
| 단축키 | 기능 |
| x | 한 글자 삭제 |
| dd | 한 라인 삭제 |
| 3dd | 3 라인 삭제 |
- 라스트 라인모드(last-line mode 혹은 EX mode): 단어 찾기, 라인 이동, 파일 저장 및 Vi 에디터 종료 등의 명령 실행.
- 명령모드에서 :, /, ? 클릭 시, 라스트라인모드 혹은 실행모드로 전환됨.
- 라스트라인 모드에서 명령을 실행하면 명령 모드로 자동 전환
- `/`, `?` 해당 파일에서 특정 단어를 찾을 때 실행하는 명령어
- `:` 문서를 저장하거나 vi에디터를 종료하고 나갈 때 주로 실행
| 단축키 | 기능 |
| :w | Vi 파일 저장 |
| :q | 편집기 종료 |
명령어
ls: 파일, 폴더 등 리스트 확인.
vi [파일명]: vi 편집기를 사용해서 파일 편집, 파일 존재하지 않을 시 새로 만듬.
요약
Vi editor 기본 명령어
1. 파일 내에서의 이동
- ctrl+f: 다음 화면의 첫 글자로
- ctrl+b: 이전 화면의 마지막 행 첫 글자로
- ctrl+d: 화면의 1/2을 다음 내용으로
- ctrl+u: 화면의 1/2을 이전 내용으로
- nG: 파일의 n번째 행으로
ex) 23G : 23행으로 이동
G, $G: 파일의 마지막 행으로 이동
2. 내용 삽입
새로운 텍스트를 입력하려면 명령모드에서 입력모드로 전환
입력모드 전환 방법
- a:커서 바로 다음부터 입력(append)
- A: 현재 행 끝부터 입력
- i: 커서 바로 앞부터 입력(insert)
- o: 커서 다음에 새로운 행이 추가되면서 입력
- O: 커서 위에 새로운 행이 추가되면서 입력
3. 내용 삭제
명령모드에서 파일 내용 일부를 삭제하기 위한 명령들
- x: 현재 커서 위치의 한 문자가 삭제
- dw: 현재 커서 위치의 한 단어가 삭제
- dd: 현재 커서 위치의 한 행이 삭제
- D: 현재 커서부터 그 행의 마지막까지 삭제
4. 단어나 문자 찾기
파일 내용 중 특정 단어나 문자를 찾고자 할 경우 명령모드에서 실행
/little: 첫 little 단어를 차일 아래로 내려가면서 찾음
?little: 첫 little 단어를 차일 위로 올라가면서 찾음
n: 이전의 찾기 명령을 동일 방향으로 실행
N: 이전의 찾기 명령을 반대 방향으로 실행
5. vi 종료하기
Vi는 잘못 종료할 경우 작업 내용이 모두 사라지므로 주의 필요
ZZ :
:wq [파일이름] : 저장하고 종료(vi 시작 시 파일이름이 없었다면 반드시 지정)
:q! : 저장하지 않고 무조건 종료
:w : 지금까지 작업 내용 저장(종료x)
:w [파일이름] : 지정한 이름으로 저장(종료x)
Nano editor
- Vi 대신 사용 가능한 screen editor
nano [파일명]: 파일 존재 시 파일 편집, 없으면 새로운 파일 편
Nano editor 단축키
| 단축키 | 기능 |
| ctrl+x (F2) | 도움말 표시 |
| ctrl+r (F5) | 현재 편집 중인 파일 저장 |
| ctrl+w (F6) | test 검색 |
| ctrl+k (F9) | 현재의 line 혹은 선택된 test 삭제 |
| ctrl+j (F4) | 한 문단을 한 줄로 붙임 |
| ctrl+c (F11) | 현재의 cursor 위치 표시 |
| ctrl+x (F2) | nano 종료(현재의 file buffer를 닫음) |
| ctrl+r (F5) | 현재 file에 다른 file의 내용을 추가 |
| ctrl+\ | 찾고 대체하기 |
| ctrl+u (F10) | 붙여넣기(paste) |
| ctrl+t (F12) | spell check 시작 |
| 입력한 행번호, 열번호로 이동 |
'러닝커뮤니티 > 웹프로그래밍' 카테고리의 다른 글
| 1회차 오답 노트 (0) | 2025.11.10 |
|---|---|
| 리눅스쉘 명령 (0) | 2025.11.10 |
| putty와 WinSCP (0) | 2025.11.05 |
| 클라우드 컴퓨팅의 기본 개념과 AWS 사용 방법 (0) | 2025.11.02 |
| 인터넷과 웹앱의 기본 이해 (0) | 2025.11.02 |