Mac 终端 Vim 只在行尾使用退格

我的 Mac 10.6终端或者 .vimrc似乎有点奇怪。

当我在笔记本电脑的键盘上键入 backspace时,它只有在光标位于行尾时才能工作。试图从行内删除操作不会产生任何效果。MacVim 运行正常。谷歌没有帮助,因为我甚至不知道该怎么称呼这种行为。

我的终端中的所有其他退格命令都能正常工作,所以我倾向于使用 Vim 特定的退格命令。

这是我的 ~/的输出。Vimrc 的映射,我看不到任何东西,能让 Vim 在终端这样运行:

cflewis@coral-reef ~> egrep ".*map.*" ~/.vimrc
"inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
let mapleader = ","
map Q gq
nmap <silent> <leader>s :set nolist!<CR>
" extended '%' mapping for if/then/else/end etc
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
nmap <silent> <C-N> :silent noh<CR>
nmap <C-E> :b#<CR>
nmap <C-P> :NERDTreeToggle<CR>
nmap <leader>p :NERDTreeFind<CR>
nmap <leader>/ :call NERDComment(0, "invert")<cr>
vmap <leader>/ :call NERDComment(0, "invert")<cr>
nmap <leader>t :TlistToggle<CR>
nmap <leader>e :e **/
nmap <Leader>b :MiniBufExplorer<cr>
nmap <Leader>sh :ConqueSplit bash<cr>
nmap <Leader>r :ConqueSplit
" map ,y to show the yankring
nmap <leader>y :YRShow<cr>
imap <silent> <Down> <C-o>gj
imap <silent> <Up> <C-o>gk
nmap <silent> <Down> gj
nmap <silent> <Up> gk
cmap w!! %!sudo tee > /dev/null %
inoremap jj <Esc>
nnoremap JJJJ <Nop>

我试着翻转删除键来发送 ^ H 或 ^ ? ,没有任何区别。

19103 次浏览

这是我的配置中唯一显式的退格映射。我不知道它是否会帮助你的问题,但它可能是值得一试?

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

最有可能的是,您看到的“问题”是无法删除在当前插入模式会话期间未键入的任何内容。这是由于 “后退空间”选项的默认设置造成的。将 set backspace=indent,eol,start添加到 ~/.vimrc是您可能希望的行为。