[vim] Vim / vi에서 백 스페이스 키가 작동하지 않음

방금 .vimrc파일과 .bash_aliases파일 을 약간 변경 했는데 그때부터 백 스페이스 키로 단어를 삭제할 수 없습니다.

.vimrc파일은 다음과 같습니다.

set nocompatible

set number
set incsearch
set autoindent
set ruler
set autowrite
set smarttab
set linebreak
set spell
set et
set title

set mouse=v
set history=50
set tabstop=4
set matchtime=2
set matchpairs+=<:>

syntax enable
filetype plugin indent on
filetype indent on
set sw=4

map <f2> :w\|!python %

hi SpellBad ctermfg=000 guifg=#000

.bash_aliases파일에는 Vim에 대한 두 줄이 있습니다.

alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc"
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc"

~/.vim디렉토리에는 플러그인이나 스크립트가 하나도 없으므로 플러그인이이 문제를 일으킬 가능성이 없습니다.

~/.vim/.vimrc심볼릭 링크입니다. 실제 .vimrc파일은 ~/vimrc/git 저장소 인 디렉토리에 있습니다.



답변

삽입 모드 (자동 삽입 들여 쓰기, 줄 바꿈 및 삽입 시작 포함)의 모든 항목에 백 스페이스를 허용하려면 다음 backspace옵션을 설정할 수 있습니다.

:set backspace=indent,eol,start

또는

:set backspace=2  "compatible with version 5.4 and earlier

기본적으로이 옵션은 비어 있으며 위에서 언급 한 내용을 백 스페이스 할 수 없습니다. 이것이 표준 Vi 동작입니다.

vimrcVim이 시작될 때 자동으로 설정되도록 이 줄을 파일에 넣을 수 있습니다 .

set backspace=indent,eol,start  " more powerful backspacing

또한 사용자 vimrc 파일이없는 경우 Vim 8.0부터 스크립트 backspace를로드하여 Vim 이이 값으로 설정 됩니다 defaults.vim.


답변

linux-newb와 마찬가지로 저는 Ubuntu 18.04를 새로 설치하고 vim 편집기가 제가 사용하는 다른 컴퓨터에서 사용했던 것과 다르게 동작했습니다 (설명하는 백 스페이스 동작 포함). 나는 실제로 vim이 아닌 vi를 사용 하고 있다는 것을 알지 못했습니다 (둘 다으로 실행됩니다 ).vi

vim을 설치 한 다음 파일을 편집하면 내가 예상했던 것처럼 백 스페이스 작업을 포함하여 익숙했던 동작이 다시 나타납니다.

sudo apt install vim


답변

~/.vimrc파일에 내용이 있습니다 set nocompatible. 백 스페이스가 작동하도록 동일한 파일에 다른 줄을 추가했습니다.

set backspace=indent,eol,start

그리고 그냥 달려

source ~/.vimrc

변경 사항이 동일한 쉘에서 즉시 적용되도록 동일한 터미널에서. vi를 열고 실행할 필요가 없습니다.

:set backspace=indent,eol,start


답변

urxvt + tmux의 SSH를 통해 Debian 7.8에서 동일한 문제가 발생했습니다. 나는 vim과 vim-tiny를 설치했습니다.

vim-tiny를 제거하면 문제가 해결되었습니다.


답변

저에게는 아래 설정이 있었지만 백 스페이스는 여전히 작동하지 않습니다.

set backspace=indent,eol,start

마지막으로 다음 줄이이 문제를 일으킨다는 것을 발견했습니다.

inoremap <expr><C-h> neocomplete#smart_close_popup()

이 설정을 삭제하면 백 스페이스 키가 삽입 모드에서 잘 작동합니다.

Reason: Vim이 CTRL-H를 백 스페이스로 인식하고이 줄은 삽입 모드에서 neocomplete # smart_close_popup ()으로 다시 매핑되기 때문입니다.


답변

나에게 (다른 리눅스에서 “Konsole”로 연결된 데비안 서버) vim-tiny 패키지를 제거하고 vim 패키지를 설치 한 후 백 스페이스 키와 화살표 키 문제가 해결되었습니다.


답변

Putty와 같은 SSH 클라이언트를 사용하는 경우 선택한 getty 유형의 기능이기도합니다. 가장 표준적인 에뮬레이션이므로 vt100 +를 사용하는 것이 가장 좋습니다.

나는 이미 :fixdel작동하지 않았습니다. 나는 그것을 제거하고 그것을 작동시키기 위해 첫 번째 제안으로 교체해야했습니다.