본문 바로가기
OS/Linux

[Linux] Vi editor - 단축키

by 알 수 없는 사용자 2022. 4. 14.

 

 

 

안녕하세요. 이번 포스터는 "오늘은 팔선생 탕수육 먹고 싶은 그런 날" 이 업로드 합니다.

리눅스를 공부하면서 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 에디터 앞에 행 번호가 표시되므로 더 편리하게 사용할 수 있다.

 

 

 

 



 

짧은 글 읽어주셔서 감사합니다 - 오늘은 팔선생 탕수육 먹고 싶은 그런 날 -

오늘은 팔선생 탕수육이 별로 땡기지 않습니다. 감사합니다.

댓글