2012-07-19 28 views
41

Tôi vừa thực hiện một số thay đổi đối với tệp .vimrc và tệp .bash_aliases và từ thời điểm đó tôi không thể xóa các từ bằng phím xóa lùi.Phím xóa lùi không hoạt động ở Vim/vi

tập tin .vimrc của tôi có:

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 

Và tập tin .bash_aliases tôi có hai dòng cho Vim:

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

thư mục ~/.vim của tôi không có một plugin đơn hoặc kịch bản, do đó isn' t bất kỳ cơ hội mà plugin sẽ gây ra điều này.

~/.vim/.vimrc là liên kết tượng trưng. Tệp thực tế .vimrc nằm trong thư mục ~/vimrc/ là một kho lưu trữ git.

Trả lời

87

Để cho phép backspacing qua tất cả mọi thứ trong chế độ chèn (bao gồm thụt đầu dòng tự động chèn vào, ngắt dòng và bắt đầu chèn) thiết lập các tùy chọn sau đây:

:set backspace=indent,eol,start 

hoặc

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

Theo mặc định tùy chọn này trống rỗng, không cho phép bạn lùi lại trên những điều đã đề cập ở trên. Đây là hành vi Vi tiêu chuẩn.

Xem :help 'backspace'.

+0

Bạn có thể giải thích chi tiết những gì thực sự đã xảy ra không? và câu trả lời của bạn đã giải quyết vấn đề này như thế nào? –

+0

Điều này có khắc phục được sự cố của bạn không? Bạn đã đọc bài viết trợ giúp được liên kết chưa? Về cơ bản nó thiết lập những gì được phép xóa bằng cách sử dụng phím xóa lùi. – Conner

+0

nó vẫn không hoạt động cho tôi =/tôi đã có 'đặt backspace = 2' ' đặt backspace = indent, eol, bắt đầu' 'fixdel' – holms

1

Đối với tôi (máy chủ Debian được kết nối với "Konsole" từ Linux khác), sự cố với phím xóa và phím mũi tên đã được giải quyết sau khi gỡ cài đặt gói vim-tiny và cài đặt gói vim.

+1

Có lẽ, các gói này cài đặt các tệp vimrc khác nhau. –

1

Tôi đã gặp sự cố tương tự trên Debian 7.8 qua SSH trong urxvt + tmux. Tôi đã cài đặt vim và vim-tiny.

Loại bỏ vim-tiny đã khắc phục được sự cố.

1

Nhiều lần nó cũng là một chức năng của loại getty được chọn nếu một người đang sử dụng ứng dụng khách SSH như Putty hoặc một số ứng dụng như vậy. Tốt nhất là sử dụng vt100 + vì nó là mô phỏng tiêu chuẩn nhất.

Tôi đã có :fixdel không hoạt động. Tôi đã phải gỡ bỏ nó và thay thế nó bằng gợi ý đầu tiên để làm cho nó hoạt động

1

Đối với tôi , Tôi đã có cài đặt bên dưới, tuy nhiên, backspace vẫn không hoạt động.

set backspace=indent,eol,start

Cuối cùng, tôi thấy dòng sau dẫn đến vấn đề này.

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

Khi thiết lập này sẽ bị xóa, xóa lùi công trình trọng điểm tốt trong chế độ chèn.

Reason: Đó là bởi vì Vim thấy CTRL-H là một không gian lùi và dòng này làm cho ánh xạ lại thành neocomplete # smart_close_popup() trong chế độ chèn.

0

My ~/.vimrc tệp có nội dung set nocompatible. Thêm dòng khác để cùng một tập tin để làm cho công việc xóa lùi -

set backspace=indent,eol,start 

Và chỉ cần chạy

source ~/.vimrc 

tại nhà ga cùng cho sự thay đổi có hiệu lực ngay lập tức trong cùng một vỏ. Không cần mở vi và chạy

:set backspace=indent,eol,start 
Các vấn đề liên quan