반응형
두둥탁
이래저래 선배님들께 여쭤보기가 좀 그래서, 공부도 할겸 정리했다.
해당 명령어는 linux, unix 에서 사용하는 vi 편집기에서 사용하는 명령어 입니다.
1️⃣명령 모드(command mode)의 명령어들
- esc 눌렀을 때 또는 vi를 들어가면 나오는 첫 상태
- 별도의 다른 입력없이 바로 명령이 들어간다.
vi 명령어 | 동작 |
i | - 현재 커서 위치에 삽입 (입력모드로 넘어감) |
a | - 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감) |
o | - 현재 줄 다음 위치에 삽입 (입력모드로 넘어감) - 영문 오(o) |
x | - 커서가 위치한 곳의 글자 1개 삭제 (5x : 문자 5개 삭제) |
dw | - 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지) |
dd | - 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능) |
u | - 방금 한 명령 취소 (ctrl + z 라고 생각하면 된다) |
yy | - 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면 된다.) - 5줄 복사 : 5yy |
p | - 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v 한다고 생각하면 된다.) - 5dd를 이용해서 다섯줄을 지운 것도 p 한번으로 붙여넣기 가능하다. - 그렇다면 : 잘라내기 dd -> 붙여넣기 p |
(N)dd | - N 행 삭제 (삭제가 되는 것 처럼 보이지만 실제로는 버퍼에 들어가 있다. 버퍼에 들어가 있기 때문에 p를 이용해서 붙여넣기 가능) - 잘라내기 라고 생각하면 된다. (ctrl + x) - vi에서 여러줄을 삭제하고 싶다면 (N)dd 를 사용하면 된다. (N에는 숫자가 들어간다) |
k | - 위로 (커서가 한 줄 위로 올라감.) |
j | - 아래로(커서가 한 줄 아래로 내려감) |
l | - 오른쪽으로 (커서가 한칸 우측으로감) - 영문자 엘 |
h | - 왼쪽으로 (커서가 한칸 좌측으로감) |
0 | - 커서가 있는 줄의 맨 앞으로 - 숫자 0(영) |
$ | - 커서가 있는 줄의 맨 뒤로 감 (end 키라고 생각하면 됩니다) |
( | - 현재 문장의 처음 |
) | - 현재 문장의 끝 |
{ | - 현재 문단의 처음 |
} | - 현재 문단의 끝 |
숫자- | - 숫자 만큼 윗 줄로 이동 |
숫자+ | - 숫자 만큼 아래 줄로 이동 |
G | - 파일의 끝으로 이동 - 대문자로 사용해야한다. (Shift + g) |
r | - 한 문자 변경 |
cc | - 커서가 있는 그 줄의 내용 변경 |
2️⃣마지막 행 모드(last line mode)에서의 명령어들
: esc 누르고, 콜론(:)을 누르면 나오는 상태
: 아래 명령어를 입력 후에 엔터를 치면 명령이 들어간다
vi 명령어 | 동작 |
w | - 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) |
w [파일명] | - 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) |
q | - vi 종료 (저장되지 않음) |
q! | - vi 강제 종료 ( ! 가 붙으면 강제로 수행) |
wq | - 저장 후 종료 |
wq! | - 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행) |
f [파일명] | - 파일이름을 [파일명]으로 변경 - 예시 : f abc.txt |
숫자 | - 해당 라인으로 커서 이동 |
$ | - 파일의 맨 끝 줄로 이동 |
e! | - 마지막 저장 이후 모든 편집 취소 |
/문자열 | - 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색 |
?문자열 | - 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색 |
set nu | - vi 라인 번호 출력 |
set nonu | - vi 라인 번호 출력 취소 |
쓰다보면 알겠지만, 자주 쓰는 단축키는 정해져 있다.
dw / x / :wq/ :wq!/ set nu / /문자열 / ?문자열
매번 정리하고 공부하면서 느끼는 것이지만, 백문이 불여일견이듯 it쪽은 특히 듣거나 눈으로 하는 것보다 직접 해봐야 와닿는다. 반박시 님말맞
반응형
'Language & Framework & GIT > LINUX' 카테고리의 다른 글
[LINUX] LINUX 터미널 단축키 (24) | 2023.07.03 |
---|---|
[LINUX] find, grep의 차이 (13) | 2023.06.29 |
LINUX 우분투 터미널 다중 창 - 터미네이터(Terminator) (9) | 2023.06.20 |
LINUX VI 편집기 (4) | 2023.06.20 |
LINUX VI구조 (0) | 2023.04.13 |
댓글