+1-1+1-1+1-1+1-1...
vi /vim 편집기 명령어 정리 (단축키 모음 / 목록) 본문
리눅스의 대표적인 에디터인 vi 편집기의 명령어들에 대해서 정리해보았습니다.
vi 시작 명령어
명령어 | 설명 | 예제 |
vi {파일명} | 파일열기, 작성 | vi test.txt |
vi +{행번호} {파일명} | 파일을 열고, 입력한 행으로 커서 이동 | vi -100 test.txt |
vi +/"{검색 문자열}" {파일명} | “문자열”의 처음발생 단어부터 열기 | vi -/"adc" test.txt |
vi –r {파일명} | 손상된 파일 회복 | vi -r test.txt |
view {파일명} | 읽기 전용으로 열기기 | view test.txt |
수정 파일 열기
"vi {파일명}"명령어로 입력했을 때, 입력한 파일명이 실제 존재 한 경우 파일을 수정.
신규 파일 생성
"vi {파일명}"명령어로 입력했을 때, 입력한 파일명이 실제 존재 하지 않는 경우 파일을 생성.
vi 커서 이동
커서 | 설명 |
h (←) | 왼쪽으로 커서 이동 |
j (↓) | 아래로 커서 이동 |
k (↑) | 위로 커서 이동 |
l (→) | 오른쪽으로 커서 이동 |
w | 오른쪽 한 단어의 끝 부분으로 커서 이동 |
e | 오른쪽 한 단어의 앞 부분으로 커서 이동 |
b | 왼쪽 한 단어의 앞 부분으로 커서 이동 |
Enter | 한 행 아래로 커서 이동 |
Back space | 한 문자 왼쪽으로 커서 이동 |
Space Bar | 한 문자 오른쪽으로 커서 이동 |
^ | 행의 맨 왼쪽으로 커서 이동 |
$ | 행의 맨 오른쪽으로 커서 이동 |
H | 화면의 맨 위로 이동 |
M | 화면의 중간으로 이동 |
L | 화면의 맨 아래로 이동 |
숫자G | ‘숫자’ 만큼 지정한 줄로 커서 이동 |
Ctrl + i | 한 화면 위로 이동 |
Ctrl + b | 한 화면 아래로 이동 |
Ctrl + d | 반 화면 위로 이동 |
Ctrl + u | 반 화면 아래로 이동 |
Ctrl + e | 한 줄씩 위로 이동 |
Ctrl + y | 한 줄씩 아래로 이동 |
문자, 행 , 삽입 명령어
커서 | 설명 |
a | 커서 오른쪽에 문자 삽입 |
A | 커서 오른쪽, 행의 끝에 문자 삽입 |
i | 커서 왼쪽에 문자 삽입 |
I | 커서 왼쪽, 행의 처음에 문자 삽입 |
o | 커서 아래에 행 삽입 |
O | 커서 위에 행 삽입 |
ESC | 종료 |
텍스트 변경 명령어
명령어 | 설명 |
cw | 단어 변경 |
cc | 행 변경 |
C | 커서 오른쪽의 행 변경 |
s | 커서가 위치한 문자열 대체 |
S | 커서가 위치한 라인의 문자열 대체 |
r | 커서 위치 문자를 다른 문자로 대체 |
r-Enter | 행 분리 |
J | 현재 행과 아래 행 결합 |
xp | 커서 위치 문자와 오른쪽 문자 교환 |
~ | 문자형(대, 소문자) 변경 |
u | 이전 명령 취소 |
U | 행 변경 사항 취소, 이전의 최종 행 취소 |
. | 이전 최종 명령 반복 |
텍스트 삭제 명령어
명령어 | 설명 |
x | 커서가 있는 문자 삭제 |
nx | 커서가 있는 위치부터 n개의 문자를 삭제 |
dw | 현재 커서에 있는 한 단어 삭제 |
dd | 커서가 있는 라인 삭제 |
ndd | 커서가 있는 라인부터 n개의 라인 삭제 |
db | 커서의 위치에서 거꾸로 한 단어 삭제 |
D | 커서 오른쪽 행 삭제 |
:5,10d | 5~10번째 행 삭제 |
복사 및 이동 명령어
명령어 | 설명 |
yy | 커서가 위치한 줄 복사 |
Y | 행 yank 또는 복사 |
yh | 커서의 왼쪽 문자 복사 |
yl | 커서에 위치한 문자 복사 |
yi | 커서가 위치한 줄과 그 아랫줄 복사 |
yk | 커서가 위치한 줄과 그 윗줄 복사 |
p | yank 되거나 삭제된 행 현재 행 위로 삽입 |
P | yank 되거나 삭제된 행 현재 행 아래에 삽입 |
:1,2 co 3 | 1~2행을 3행 다음으로 복사 |
:4,5 m 6 | 4~5행을 6행 위로 이동 |
- yank : 홱 잡아당기다
한줄 복사
해당 라인에서 'yy', 즉 y를 두번 누르면 캐시에 저장이 된다.
붙여넣기를 원하는 곳으로 이동하여 'p'를 누르면 커서 다음 라인에 붙여넣기가 된다.
블럭 복사
'v'키를 누른 후 커서를 이동하여 블력을 설정한다.
(putty의 경우 블럭이 설정되는 모습이 보이나, ssh의 경우 블럭 모습이 나타나지 않으나 실제로는 설정되고 있다.)
원하는 부분을 블럭으로 설정한 뒤(설정 완료키는 없다) 'y'키를 누르면 캐시에 복사가 된다.
같은 방법으로 원하는 곳으로 이동하여 'p'를 누르면 커서 다음 라인에 붙여넣기가 된다.
행 번호 설정 명령어
명령어 | 설명 |
:set nu 또는 :set number | 에디터의 각 행의 좌측에 행 번호 표시. |
:set nonu | 에디터의 각 행의 좌측 행 번호 숨기기 |
행 찾기 명령어
명령어설명
명령어 | 설명 |
G | 파일의 마지막 행으로 가기 |
21G | 파일의 21번째 행으로 가기 |
Ctrl + G | 현재 File name과 커서의 라인 정보 |
탐색 및 대체 명령어
명령어 | 설명 |
/{검색할 문자열} | 오른쪽 아래 방향으로 문자열 검색 |
?{검색할 문자열} | 왼쪽 위 방향으로 문자열 검색 |
n | 문자열의 다음으로 계속 검색 |
N | 문자열의 이전으로 계속 검색 |
:g/search-string/s/ | 각 발생 탐색 후 확인하고 대체 |
:s/string/rep | 현재 행의 str을 rep로 대체 |
:1,.s/string/rep/ | 1부터 현재 행의 str을 rep로 대체 |
:%s/string/rep/g | 파일 전체 str을 rep로 전부대체 |
:.$/aaa/bbb | 커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체 |
화면 정리 명령어
명령어 | 설명 |
Ctrl + l | 불필요한 화면정리 후 다시 표시 |
파일 명령어
명령어 | 설명 | 예제 |
:r {파일명} | 커서 다음에 파일 삽입 | :r test.txt |
:{행번호} r {파일명} | 입력한 파일을 입력한 행번호 다음에 삽입 | :10 r test.txt |
보관 및 종료 명령어
명령어 | 설명 |
:w | 변경사항 저장 |
:w {파일명} | 변경사항 입력한 파일명으로 저장 |
:wq | 변경사항 보관 후 vi 종료. ZZ 명령과 같음. :w(기록)과 :q(종료) 를 연속적으로 수행. |
ZZ | 변경사항 보관 후 vi 종료. 임시 버퍼의 내용을 vi로 호출할때 사용되었던 파일에 기록한 후 vi를 빠져나옴. |
:q! | 변경사항 보관하지 않고 종료 |
q | 수정한 파일을 저장하지 않고 vi 종료 |
e! | 수정한 것을 무시하고 다시 편집상태로 |
기타
문자 | 설명 |
. | 현재 line |
% | 전체 line |
$ | 파일 맨끝 line |
1,$ | % |
2,3 | 2 ~ 3 line |
vi/vim 단축키 (English)
vi/vim 단축키 (한글)
이동에 편리한 단축키
키보드 모양의 명령어 단축키
vi/vim lesson 1 - various commands
vi/vim lesson 2 - various commands
vi/vim lesson 3 - various commands
vi/vim lesson 4 - various commands
vi/vim lesson 5 - various commands
vi/vim lesson 6 - various commands
vi/vim lesson 7 - various commands
출처 : http://www.viemu.com
출처: https://iamfreeman.tistory.com/entry/vi-vim-편집기-명령어-정리-단축키-모음-목록 [자유인을 위하여~ *^^*]
'Linux > Sever Mangement' 카테고리의 다른 글
[Linux] 로그 기본 개념 설명 (0) | 2021.01.31 |
---|---|
리눅스 DNS 서버 구성 참고 (0) | 2021.01.12 |
리눅스 서버 기본 세팅 > 네트워크 환경 설정 - RHPL 7.3 (0) | 2021.01.12 |
[VirtualBox 네트워크 구성] 호스트 to 게스트, 게스트 to 게스트, 게스트 to 인터넷 연결 방법 (0) | 2021.01.08 |
VirtualBox, 가상 네트워크 설정하기 (0) | 2021.01.08 |