나는 새로운 오전 VI 실제로 내가 오늘부터 VI를 배우기 시작하고 난의 행동에 붙어 가지고, 백 스페이스 키를 누릅니다. 실제로 Ubuntu 12.04에서 vi를 처음 시작했을 때 백 스페이스 키가 정상적으로 작동했지만 그 후에는 이상하게 동작하기 시작했습니다. 삽입 모드에서 백 스페이스를 누를 때마다 문자를 지우지 않고 왼쪽으로 한 자리 이동합니다. 기본 백 스페이스 기능을 다시 얻으려면 어떻게해야합니까? vim을 설치하거나 nocompatibilty를 설정하고 싶지 않습니다.
답변
때로는 vi
명령이 vi 모드 vim
를 vi
활성화 할 때 호출 될 때이 명령이 별명입니다 .
전통적인 모드에서도 백 스페이스는 문자를 삭제하지만 즉시 삭제 된 것으로 표시하지는 않습니다. (ESC를 누르면 문자가 사라집니다.)
사용 사이에서 선택을해야 추측 vi
설명 행동 오는 또는 사용 vim
그것에게 당신이 그것을 예상대로 할 수있다.
답변
-
실제로 일반을
vi
통해 사용하고 있는지 확인$ vi --version | head -n 1
이것은 내 컴퓨터에 제공합니다 (Debian 7)
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:27:59)
vim은 vi처럼 동작하도록 만들 수 있습니다. 명령 줄
vi
대신 명령을 제공하면 됩니다vim
. 여기서vi
sym 링크 만 있습니다.vim
이 경우 vim은 vi 모드에서 열립니다. 로 확인할 수 있습니다:set compatible?
. -
이전 답변에서 언급 한 바와 같이, 백 스페이스의 효과에 떠난 후에만 표시 될
insert mode
때set compatible
사용할 수 있습니다.
참고 : vi 호환 모드에서는 이전에 입력 한 (입력하기 전에 insert mode
) 또는 eol 또는 들여 쓰기 된 텍스트를 백 스페이스 할 수 없습니다 insert mode
. 보다 :help 'bs'
'backspace' 'bs' string (default "")
global
{not in Vi}
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
mode. This is a list of items, separated by commas. Each item allows
a way to backspace over something:
value effect
indent allow backspacing over autoindent
eol allow backspacing over line breaks (join lines)
start allow backspacing over the start of insert; CTRL-W and CTRL-U
stop once at the start of insert.
When the value is empty, Vi compatible backspacing is used.
For backwards compatibility with version 5.4 and earlier:
value effect
0 same as ":set backspace=" (Vi compatible)
1 same as ":set backspace=indent,eol"
2 same as ":set backspace=indent,eol,start"
다른 설정을 사용하여 의미를 이해하십시오. 삽입 모드에서 문자 / 줄 바꿈 및 들여 쓰기를 입력하고 삽입 모드를 종료하고 다시 입력 한 다음 백 스페이스를 시도하십시오.
vi 동작에 익숙하지 않고 일반 vi (어쨌든 권장하지 않음) 사용을 고집하지 않는 사용자는 :set backspace=indent,eol,start
. 데비안의 Afaik에는 일반적으로이 설정으로 설치된 시스템 전체 구성 파일이 있습니다.
를 통해 현재 설정을 얻을 수 있습니다 :set bs?
.
답변
.vimrc라는 사용자 홈 디렉토리에 새 파일을 작성하십시오 (아직없는 경우). 여기에서 vi와 동시에 만들고 편집 할 것입니다
sudo vi ~/.vimrc
호환 모드 해제 및 백 스페이스 키 지우기 기능을 포함하여 다음 명령을 추가하십시오.
set nocp
set backspace=indent,eol,start
다음을 사용하여 파일 저장 및 종료
:wq
호환성 모드를 끄면 예전의 사람들이 사용했던 화살표 키를 사용할 수 있습니다.
파일을 만들 때 sudo’d이므로 파일의 소유권은 아마도 루트 일 것입니다. 파일을 사용자에게 숨길 수 있습니다.
필자의 경우 이것은 라즈베리 파이 용이므로 사용자와 그룹은 pi입니다.
chown pi:pi ~/.vimrc
이제 vi를 다시 실행하고 즐기십시오!
답변
가장 좋은 방법은 VI / VIM cheatsheet를 보는 것입니다 : http://www.viemu.com/vi-vim-cheat-sheet.gif
일반 모드 (ESC)를 입력 한 다음 SHIFT + X를 입력하십시오.
답변
당신의 장소에 ~/.zshrc
bindkey "^?" backward-delete-char
답변
내 홈 디렉토리에 .vimrc 만 포함
nocp를 설정
백 스페이스 화면에서 문자 S를 제거하지 못하는 문제를 해결했습니다.