vim - 是否可以在 vim 中禁用替换模式?

标签 vim replace

简而言之,如何在 vim 中完全禁用替换模式?我从不使用替换模式,但有时我会在重新进入插入模式时意外使用它。自然地,在意识到我处于替换模式之前,我通过输入几个字符来搞砸。那么,有没有办法完全禁用替换模式,无论是通过配置设置还是通过?

最佳答案

您不能禁用替换模式,但您可以创建自动命令,将替换和虚拟替换模式更改回插入模式:

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

关于vim - 是否可以在 vim 中禁用替换模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110348/

相关文章:

vim - 在vim中编辑时,初始化事件太多

batch-file - bat 文件修改 web.config 设置

c++ - 为什么 string::replace 在 C++11 中不指定分配器的异常?

vim - Vim 中的任务标签

windows - cygwin 中的 vim 病原体错误

vim - 在 Vim 中计算出现次数而不标记缓冲区已更改

crystal-reports - 替换功能在 Crystal Reports 中不起作用

jquery - 延迟 5 秒后用文本替换图像

Javascript 替换单引号不起作用

ruby - 替换所有未引用的事件