안녕하세요. 이번 포스터는 "오늘은 팔선생 탕수육 먹고 싶은 그런 날" 이 업로드 합니다.
리눅스를 공부하면서 Vi editor를 많이 사용하게 되는 것 같습니다. 그래서 vi 에디터 단축키에 대해서 포스팅 해보려고 합니다.
1. Vi editor란?
vi 편집기는 1976년 빌조이가 개발하였고, 유닉스 계열에서 가장 많이 사용되는 편집기이다.
vi 편집기는 한 화면을 편집하는 비주얼 에디터( Visual Editor ) 이다.
2. VI ( Visual editor ) 편집기의 특징
vi는 Emacs와 함께 Unix 환경에서 가장 많이 쓰이는 문서 편집기이다. 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다. vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터라는 뜻에서 유래했다. 간결하면서도, 강력한 기능으로 열광적인 사용자가 많다.
현재는 오리지널 vi를 사용하는 경우는 거의 없고, 일반적으로 기능을 모방하여 만들어진 클론을 사용하고 있다. 이런 클론 중 많이 쓰이는 것은 기능이 다양한 것을 장점으로 내세우며, 리눅스 배포판에 포함되는 Vim, 그리고 BSD 라이센스로 제공되며 원본 vi의 동작과 호환성으로 정평이 나 있는 nvi, 독자적인 팬층을 확보한 elvis 등이 있다.
vi 편집기가 동작하는 원리를 보면 버퍼에서 작업을 하게 된다. 그러므로 저장을 시키는 명령어를 입력하지 않는 이상 디스크상에 파일의 내용으로 저장되는 것은 아니다.
출처 : https://tear94fall.github.io/lecture/2020/02/10/vi-keyboard-short-cut.html
3. Vi 단축키
3-1. 명령 모드에서 입력 모드로 전환하기 위한 단축키
키 | 설명 | 키 | 설명 |
i | 현재 커서의 위치부터 입력 | I | 현재 커서 줄의 맨 앞에서부터 입력 ( Shift + i ) |
a | 현재 커서의 위치 다음 칸부터 입력 | A | 현재 커서 줄의 맨 마지막부터 입력 ( Shift + a ) |
o | 현재 커서의 다음 줄에 입력 | O | 현재 커서의 이전 줄에 입력 ( Shift + o ) |
s | 현재 커서 위치의 한 글자를 지우고 입력 | S | 현재 커서의 한 줄을 지우고 입력 ( Shift + s ) |
3-2. 명령 모드에서 커서를 이동하기 위한 키
키 | 설명 | 키 | 설명 |
h | 커서를 왼쪽으로 한 칸 이동( ←와 같은 의미) | j | 커서를 아래로 한 칸 이동( ↓와 같은 의미 ) |
k | 커서를 위로 한 칸 이동(↑와 같은 의미) | l | 커서를 오른쪽으로 한 칸 이동( → 와 같은 의미 ) |
Ctrl + F | 다음 화면으로 이동( Page Down 과 같은 의미 ) | Ctrl + B | 이전 화면으로 이동 ( Page Up과 같은 의미 ) |
^ | 현재 행의 처음으로 이동( Home 과 같은 의미 ) | $ | 현재 행의 마지막으로 이동( End와 같은 의미) |
gg | 제일 첫 행으로 이동 | G | 제일 끝 행으로 이동 |
숫자 + G | 해당 숫자의 행으로 이동( 숫자 다음 Shift + G ) | :Enter | 해당 숫자의 행으로 이동 |
명령 모드에서 커서를 이동할 때는 4개의 화살표 키와 Page Up/Page Down 등을 이용하면 되지만, 그 외에도 일반 키보드로 그러한 효과를 낼 수 있다.
위의 표를 잘 기억하면 편리하게 사용할 수 있다.
3-3 명령 모드에서 삭제, 복사, 붙여넣기 관련 키
키 | 설명 | 키 | 설명 |
x | 현재 커서가 위치한 글자 삭제( Del과 같은 의미) | X | 현재 커서가 위치한 앞 글자 삭제 ( = Backspace ) |
dd | 현재 커서의 행 삭제( D 연속 두 번 입력) | 숫자+dd | 현재 커서부터 숫자만큼의 행 삭제 |
yy | 현재 커서가 있는 행을 복사 ( Y 연속 두 번 입력 ) | 숫자+yy | 현재 커서부터 숫자만큼의 행을 복사 |
p | 복사한 내용을 현재 행 이후에 붙여넣기 | P | 복사한 내용을 현재 행 이전에 붙여넣기 |
명령 모드에서 삭제, 복사, 붙여넣기와 관련된 키는 위의 표와 같다.
3-4 명령모드에서 문자열 찾기
키 | 설명 | 키 | 설명 |
/문자열 + Enter | 해당 문자열을 찾음( 현재 커서 이후로 ) | n | 찾은 문자 중에서 다음 문자로 이동 |
그 외에도 ex 모드(라인 명령 모드)에서 가장 많이 사용하는 두 가지 정도를 더 소개한다.
키 | 설명 | 예시 |
:%s/기존문자열/새문자열 | 'Linux' 라는 글자를 모두 'CentOS'로 치환 | :%s/Linux/CentOS |
그리고 ':set number', ':se nu' 를 입력하면 vi 에디터 앞에 행 번호가 표시되므로 더 편리하게 사용할 수 있다.
짧은 글 읽어주셔서 감사합니다 - 오늘은 팔선생 탕수육 먹고 싶은 그런 날 -
오늘은 팔선생 탕수육이 별로 땡기지 않습니다. 감사합니다.
'OS > Linux' 카테고리의 다른 글
[Linux] 리눅스 파일시스템 (0) | 2022.04.22 |
---|---|
[Linux] CentOS - 사용자 관리 - 패스워드 정책 (0) | 2022.04.19 |
[Linux] CentOS - 사용자 관리 - 사용자 및 그룹 관리 명령어 (0) | 2022.04.12 |
[Linux] CentOS - 사용자 관리 - 사용자 관리 파일 (0) | 2022.04.05 |
리눅스 기본 (1) | 2022.04.04 |
댓글