vi 에서 사용자정의 키 매핑을 사용하는 방법을 알아본다.
F8 키를 누르면 현재 날짜와 시간이 입력되도록 해 보자.
vi 의 커맨드 라인에서 아래와 같이 입력한다.
:map <F8> :read !date<CR>
map 은 키 매핑을 정의하는 명령이다.
<F8> 은 F8 키를 누른다는 의미이다.
:read !date<CR> 부분을 살펴보자.
: 는 vi 의 커맨드 라인을 시작한다.
read 는 명령의 출력 결과를 현재 커서 아래에 삽입한다.
!date 는 vi 내부에서 실행되는 date 명령이다.
<CR> 는 엔터 키를 누르는 것과 같다.
아래 명령으로 <CR> 과 같은 키보드 키의 표기법을 확인할 수 있다.
:help key-notation
키 매핑을 정의하고 나서 기본 모드에서 F8 키를 눌러 보자. 현재 커서의 아래 줄에 날짜와 시간이 삽입될 것이다.
Sat 08 Oct 2022 06:24:32 AM KST
키 매핑은 기본 모드에서 사용한다. 입력 모드에서는 효과가 없다.
map 명령만 실행해 보자.
:map
현재 정의되어 있는 모든 키 매핑의 리스트가 출력될 것이다.
커맨드 라인에서 정의한 키 매핑은 해당 키 매핑을 정의한 세션에서만 사용 가능하다. vi 를 재시작하면 사용할 수 없다.
키 매핑을 ~/.vimrc 파일에 등록해 두면 영구적으로 사용 가능하게 된다.
~/.vimrc 파일을 열고 아래 내용을 추가한다.
map <F8> :read !date<CR>
이렇게 해 두면 vi 가 시작될 때마다 해당 키 매핑이 정의될 것이다.
vi 를 재시작하지 않고 ~/.vimrc 파일에 정의한 키 매핑을 사용할 수도 있다.
vi 커맨드 라인에서 아래 명령을 실행하면 된다.
:!source ~/.vimrc