简单地说,如何在vim中完全禁用替换模式?我从不使用替换模式,但有时在重新进入插入模式时会偶然结束。当然,在实现我处于替换模式之前,我先键入几个字符。那么,有没有办法完全禁用替换模式,无论是通过配置设置还是?
答案 0 :(得分:14)
您无法禁用替换模式,但您可以进行自动命令,将替换和虚拟替换模式更改回插入模式:
function s:ForbidReplace()
if v:insertmode isnot# 'i'
call feedkeys("\<Insert>", "n")
endif
endfunction
augroup ForbidReplaceMode
autocmd!
autocmd InsertEnter * call s:ForbidReplace()
autocmd InsertChange * call s:ForbidReplace()
augroup END
答案 1 :(得分:3)
不确定这是否是最好的方法,但您可以将.r和r映射到.vimrc中的任何内容:
map R <C-V><C-V>
map r <C-V><C-V>
编辑:或者:
map R <Nop>
map r <Nop>
答案 2 :(得分:3)
只需添加.vimrc imap <Insert> <Nop>
这就够了
答案 3 :(得分:3)
我发现这个解决方案更好。插入键进入插入模式工作,但第二次插入命中的替换模式被禁用。将下两行放入.vimrc
imap <Insert> <Nop>
inoremap <S-Insert> <Insert>
(由garyjohn @ superuser网站提及)
答案 4 :(得分:0)
使用 I 键进入Insert而不是使用 Insert 键
这样你就不会重新进入插入模式