
스왑 파일을 생성할 때 vi /etc/fstab
루트로 발행합니다. fstab 파일이 표시됩니다. G
$
줄 끝으로 점프 하여 i
INSERT 모드로 전환합니다. 오른쪽 화살표를 누르면 커서가 한 문자 오른쪽으로 이동됩니다. 줄바꿈에 vi
대문자를 삽입합니다 . C
당황해서 왼쪽 방향키를 눌렀습니다. vi
대문자를 삽입하세요 B
.
혼란스러워요. 여기서 무슨 일이 일어나고 있는지 알아보려면 어디서부터 시작해야 합니까? 을 사용할 수 있어야 합니다 vi
.
답변1
향상된 vim을 사용할 수 있고 화살표 키를 사용할 수 있습니다. vi는 기본적으로 키를 사용하여 h j k l
커서를 이동합니다.
alias vi
그러니 $HOME/.vimrc
이 줄을 편집하고 넣으세요.
set nocompatible
유닉스에 관심이 있다면 보통 이 vimrc를 사용합니다.
set nocompatible
set backspace=indent,eol,start
syntax on
imap <esc>OH <esc>0i
cmap <esc>OH <home>
nmap <esc>OH 0
nmap <esc>OF $
imap <esc>OF <esc>$a
cmap <esc>OF <end>
답변2
OSX "vi"는 vim인 것 같습니다. 해당 버전 메시지는 다음과 같습니다(엘 캐피탄):
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 27 2015 16:22:14)
Compiled by [email protected]
Normal version without GUI. Features included (+) or not (-):
당신에게는 작은 기회가 있습니다아니요vim을 사용하지만 누구도 합리적인 대안을 제시하지 않습니다.
vim은 삽입 모드에서 커서 키 시퀀스를 허용합니다.
그러나 이것의 한 가지 단점은 실제 터미널 동작이 환경 변수에 의해 설정된 터미널 설명과 일치하지 않는다는 것입니다 TERM
. 예를 들어, "linux" 터미널 설명은 다음을 사용하지 않습니다.신청방법, 그리고 TERM
실제로 사용하도록 초기화된 터미널에서 작업하는 경우신청방법escapeOB, 그러면 vim은 을 검색할 때 시퀀스를 예상하지 않습니다 escape[B. 결과적으로 B
아래쪽 화살표 키를 누르면 시퀀스가 삽입됩니다.
추가 자료:
- 커서 키가 작동하지 않습니다(ncurses FAQ)
- 2. 특수특수버튼인-스페셜-스페셜(vim 문서)
답변3
화살표 키는 termcap(5)에서 이스케이프 시퀀스로 정의됩니다. 이것이 기본 VT100 설정입니다. 터미널에서 ^v 뒤에 아무 것도 오는 명령을 사용하여 시퀀스를 볼 수 있습니다. VT100 용어의 오른쪽 화살표는 ^[[C(^[)는 이스케이프 문자입니다. 이는 vi(1)에게 삽입을 종료하고 한 문단 위로 이동한 다음(이 경우에는 행이 없거나 한 행임) 행의 끝으로 변경하라는 지시입니다. 기능 키를 처리하도록 설계되지 않은 프로그램에서 기능 키를 사용할 때 비슷한 예상치 못한 결과가 발생할 수 있습니다.
이러한 유형의 문제에는 운영 체제, 프로그램 또는 터미널에 국한되지 않는 두 가지 해결 방법이 있습니다. 첫 번째 해결책은 삽입 모드에서 탐색을 처리하는 방법을 알고 있는 vi(1)를 사용하는 것입니다. vim(1)은 그러한 vi(1) 중 하나입니다. vt100 에뮬레이터와 잘 작동하며 그런 식으로 설치하려는 경우 자체 GUI가 있습니다. 그러나 많은 사람들은 vim(1)이 느리고 무겁다고 생각하는 소프트웨어라고 생각합니다. 다른, 어쩌면 더 성가신 옵션으로는 vwrapper 플러그인이 있는 Eclipse(1)와 Viper 플러그인이 있는 emacs(1)가 있습니다.
또 다른 해결책은 실제 VT100과 함께 사용하도록 고안된 vi(1)을 사용하는 것입니다. 삽입 모드에서는 화살표나 기타 다중 문자 기능 키를 사용하지 마십시오. 문제의 주요 서열:
G -- 파일의 마지막 줄로 이동 $ -- 현재 줄의 마지막 문자로 이동 i -- 현재 문자 앞에 삽입
이 작업에는 올바르지 않습니다. 대신 --를 사용하여 현재 문자를 추가하므로 줄의 마지막 문자를 지나갈 때 화살표 키가 필요하지 않습니다.
아니면, 더 나은
G - 마지막 줄 A - 현재 줄 추가