初步信息:
- 问题在终端VIM中,而不是GVIM
- 我将CMDER(基于CONEMU(用作终端模拟器
- 我在Windows 10
详细说明:
当我处于插入模式时,我可以按正常键入文本,但是backspace无能为力。在正常模式下,BackSpace键删除文本。这完全是我今天早些时候的行为。我在线阅读了许多其他帖子,描述了VIM的非正统背部行为,但是建议的配置设置(即BS = 2或BS =缩进,EOL,启动(什么也没做。
更不寻常的是,GVIM的行为"正常"即:Backpace以正常模式将光标移动到左侧,并以插入模式删除文本。
我想要的是backspace以插入模式删除文本(就像大多数其他程序一样(,并在正常模式下导航/禁用。我该如何恢复这种行为?
以下是我的_vimrc的副本:(我将其放在github上,但目前我的git弄乱了,我尚未解决。。我不知道它做什么,但省略了以节省空间。如果您想查看我是否可以在答复中发布它。
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
" Pathogen - Plugin manager
execute pathogen#infect()
set nocompatible " Turns off Vi compatability gubbinz
" Color Theme
if !has("gui_running") " Allows some 256 color themes to work in Terminal
set term=xterm
set t_Co=256
let &t_AB="e[48;5;%dm"
let &t_AF="e[38;5;%dm"
colorscheme gruvbox
endif
let g:gruvbox_dark_contrast = 'hard' " Both of these are just visual gruvbox tweaks
let g:gruvbox_light_contrast = 'hard'
set guifont=Consolas:h10:cANSI:qDRAFT " Changes font
set bs=indent,eol,start " Makes backspace be normal
set filetype=ON " Has vim check for filetype
set showcmd " Displays incomplete commands
set ruler " Shows position of cursor in document
set syntax=ON " Turns on syntax highlighting
set number " Show line numbers
set linebreak " Break lines at word (requires Wrap lines)
set showbreak=+++ " Wrap-broken line prefix
set textwidth=100 " Line wrap (number of cols)
set showmatch " Highlight matching brace
set hlsearch " Highlight all search results
set smartcase " Enable smart-case search
set incsearch " Searches for strings incrementally
set autoindent " Auto-indent new lines
set shiftwidth=4 " Number of auto-indent spaces
set smartindent " Enable smart-indent
set smarttab " Enable smart-tabs
set softtabstop=4 " Number of spaces per Tab
set undolevels=1000 " Number of undo levels
set backspace=indent,eol,start " Backspace behaviour
set go=egrLTm " Changes flags that specify how the GUI loads
很可能,您的插入模式backspace映射为无需执行的操作(即<nop>
(。通过键入:verbose imap <bs>
来验证这一点。这将显示是否映射了backspace键以及设置地图的位置。
我想要的是backspace以插入模式删除文本(就像大多数其他程序一样(,并在正常模式下导航/禁用。我该如何恢复这种行为?
您可以做:
iunmap <bs>
nnoremap <bs> <nop>
在插入模式下的第一行Unmaps <bs>
,因此<bs>
将恢复其默认功能。第二行映射<bs>
在正常模式下什么都不做。