解决vim在insert模式下面用backspace键无法删除的问题

vim 在插入模式下<BS>有几种工作方式,默认是设置成vi兼容,这样就会出现无法删除此次插入前文字的情况。改成 ":set backspace=indent,eol,start" 就好了。 

具体看 ":h 'backspace'" 的帮助。 

 

转自:http://mail07.iteye.com/blog/184566

vim,Backspace可以通过映射其他来代替。如果你发现Backspacevim无法正常工作,可以尝试以下步骤来设置映射: 1. 打开vim。 2. 输入`:set backspace=indent,eol,start` 命令,这会设置vim的backspace选项,允许你在插入模式下像在大多数其他文本编辑器那样使用退格删除字符和退到上一行的开头。 3. 如果你想要使用其他来代替Backspace,比如使用`<Esc> + h`(在普通模式下按Esc,然后按h),可以使用以下映射命令: ``` :nnoremap <silent> <Leader>h <Esc>h ``` 这里 `<Leader>` 是一个映射前缀,默认是反斜杠(`\`),你可以根据自己的喜好更改它。这个命令将 `<Leader>h` 映射为在普通模式下按一下Esc,然后向左移动一格。 如果你想完全禁用Backspace,可以使用: ``` :nnoremap <silent> <Backspace> <Nop> ``` 这会将Backspace映射为没有操作(No Operation,即<Nop>)。 至于代替Tab,如果你想使用空格来代替Tab,可以使用以下命令: ``` :nnoremap <silent> <Tab> <Space> ``` 这样,在普通模式下按下Tab插入一个空格。 如果你想在插入模式下用空格代替Tab,可以使用: ``` :inoremap <silent> <Tab> <Space> ``` 这样,在插入模式下按下Tab同样会插入一个空格。 如果你想设置Tab插入多个空格来模拟制表符,可以使用如下设置: ``` :let &ts=4 " 设置制表符占用4个空格 :let &sw=4 " 设置每次移动时跳过4个空格 :let &et=0 " 不用空格来填充空白字符 :nnoremap <Tab> >gv :nnoremap <S-Tab> <gv :inoremap <Tab> <C-O>:normal! >gv<CR> :inoremap <S-Tab> <C-O>:normal! <gv<CR> ``` 这段设置使Tab和Shift-Tab分别向前和向后缩进,并且插入模式下会使用正确的缩进设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值