필요한 명령어는 ctrl+f 키로 찾으면서 봅시다
리눅스의 문서 편집기 - vi (visual editor)
vi 란 유닉스에서 제공하는 기본 편집기이다
vim은 리눅스에서 제공하는 편집기이고, vi를 업그레이드 한 버전이다.
하지만, 둘의 사용법은 동일하다
리눅스의 문서 편집기
모드형
입력 모드와 명령 모드를 구분
입력 모드 : 텍스트를 입력할 수 있는 모드
명령 모드: 텍스트 수정/삭제/복사/붙이기 등 편집 모드
비모드형
모드 구분이 없다 (워드, 한글 등)
alt, ctrl, shift 등으로 편집 명령 수행
vi 시작과 종료
# text.txt 라는 파일을 열려고 할 때
# test.txt 라는 파일을 연다. 다만 파일이 없으면 빈 파일을 연다
$ vi test.txt
# 빈파일 열기, 이름은 나중에 정한다
$ vi
#### vi 진입시 명령어 모음 ####
# 작업 한 것이 없을 때 종료
$ :q
# 작업한 내용을 저장하지 않고 종료
$ :q!
#작업 내용을 저장, 파일명 지정시 다른 이름으로 저장
$ :w (파일명)
#작업 내용 저장 후 vi 종료
$ :wq
$ :wq!
명령 모드 → 입력 모드 || 입력 모드 → 명령 모드
# 현재 커서 자리에 입력
$ i
# 현재 커서 다음 자리에 입력
$ a
#커서가 위치 한 행의 다음 행에 입력
$ o
# 커서가 위치한 행의 첫 칼럼으로 이동후 입력
$ I
#커서가 위치한 행의 마지막 칼럼으로 이동하여 입력
$ A
# 커서가 위치한 행의 이전 행에 입력
$ O
#### 입력 모드 -> 명령 모드 ####
#esc 키 입력
i 와 a의 차이점:
커서를 기준으로, i는 커서 위치에 글자를 입력, a는 커서의 다음(오른쪽)으로 글자 입력
o는 현재 커서기준 아래 행으로 이동
커서 이동
k : 위로 이동
j : 아래로 이동
l : 오른쪽으로 이동
h : 왼쪽으로 이동
o : 현재 행의 처음으로 이동
$ : 현재 행의 마지막으로 이동
- : 이전 행의 처음으로 이동
+ : 다음 행의 처음으로 이동
H / M / L : 제일 위/ 중간 / 아래로 이동
w : 다음 단어의 처음으로 이동
e : 다음 단어의 마지막 글자로 이동
b : 이전 단어의 앞으로 이동
화면 이동
# 여기서 ^ 는 ctrl 키를 의미
^u : 반 화면 위로 이동
^d : 반 화면 아래로 이동
^b, pageUp : 한 화면 위로 이동
^f, pageDown : 한 화면 아래로 이동
^y : 화면을 한 행만 위로 이동
^e : 화면을 한 행 아래로 이동
특정 행으로 바로 이동
G : 파일의 마지막 행으로 커서 이동
행번호 G : 지정한 행번호로 커서 이동
내용 수정
r : 커서가 위치한 글자를 다른 글자로 수정 (한글자)
cw ,#cw : 커서 위치부터 현재 단어 끝까지 수정
s, #s : 커서 위치부터 esc를 입력할 때까지 수정
cc : 커서가 위치한 행 전체 수정
C : 커서 위치부터 행의 끝까지 수정
내용 삭제
x : 커서 위치의 글자를 삭제
dw : 커서 위치 단어 삭제
dd : 커서 위치의 행 삭제
D : 커서 위치부터 행의 끝까지 삭제
되돌리기(명령 취소)
u : 명령 취소
U : 해당 행의 모든 명령 취소
:e! : 마지막으로 저장한 내용 이후것 버리고 새로 작업
복사, 붙이기
yy, #yy : 커서가 위치한 행을 복사
p : 커서가 위치한 행의 아래쪽에 붙인다
P : 커서가 위치한 행의 위쪽에 붙인다
dd : 삭제와 같은 기능, 커서가 위치한 행을 잘라두기
네임드 버퍼
언네임드 버퍼 : 이름을 붙이지 않은 버퍼
네임드 버퍼 : 이름을 붙여 사용할 수 있는 버퍼
ex) “add , “bdd
예시)
- 2행을 잘라서 “a 라는 버퍼에 저장 → 2행의 제일 처음에 커서를 두고 → “add
- 3행을 잘라서 “b 라는 버퍼에 저장 → 3행의 제일 처음에 커서를 두고 → “bdd
- 커서를 1행으로 이동, b 버퍼의 내용을 1행 위 행으로 붙여 넣기 → “bp
- 커서를 1행으로 이동, a 버퍼의 내용을 1행 아래에 붙여 넣기 → “ap
마지맥 행 모드에서 복사하기, 잘라내기, 붙이기
- 2행에 커서를 둔다
- 2행 3행 잘라내기 → 2,3d
- 2행 뒤에 붙이기 → 2pu
- 1행 2행 복사하기 → 1,2y
- 4행 다음 붙이기 → 4pu
검색 명령키
/문자열 : 문자열을 아래 뱡향으로 탐색
?문자열 : 문자열을 윗 방향으로 탐색
n : 찾던 방향의 다음 찾고 있는 문자열로 이동
N : 역방향으로 다음 문자열 탐색
파일 읽어오기, 여러 파일 편집하기
:r : 지정한 파일을 읽어들여 현재 커서 위치에 삽입
:e : 지정한 파일로 전환한다
vi에서 셸 명령 사용하기
:! 셸 명령 -> vi 작업 중단, 셸 명령 실행 (enter 키로 vi 복귀)
:sh : vi를 잠시 빠져나가 셸 명령 실행 (exit 명령어로 vi복귀)
'Linux' 카테고리의 다른 글
[Linux] 프로세스, 관리 명령, 포그라운드/백그라운드 프로세스의 작업제어, crontab (0) | 2024.12.02 |
---|---|
[Linux] Shell , Bash, Alias (1) | 2024.10.16 |
[Linux] 디렉토리 및 파일 명령어 (1) | 2024.10.12 |
[Linux] Unix와 Linux , GUI 와 CLI, 리눅스 기본 명령어 (0) | 2024.10.12 |