zoukankan      html  css  js  c++  java
  • vim中delete(backspace)键不能向左删除

    vim中delete(backspace)键不能向左删除

     

    MacOS修改为英文语言之后,忽然出现如题问题:delete键不能向左删除,只可以删除本次插入模式下插入的文本。原因:

    转载:https://www.smslit.top/2016/11/27/vim-backspace-invalid/

    MacOS下打开vim编辑文本,进入插入模式,要删除编辑之前的保存过的几个字符,按下delete键删除它们,万万没想到呀!只听到”duang duang duang”,竟然无效!

    有一点先明确一下,在mac的键盘中没有backspace键,有个键叫delete,其实相当于window下的backspace键,编辑文本时按下都具有向左删除字符的功能。

    原因

    网上搜索得知,出现开头说的令人恼火的问题的原因是:

    VIM使用了 compatible 模式,或者把 backspace 变量设置为空了…其实compatible模式是VIM为了兼容vi而出现的配置,它的作用是使VIM的操作行为和规范和vi一致,而这种模式下backspace配置是空的。即意味着backspace无法删除 indent , end of line , start 这三种字符。

    在默认状态下,delete(backspace)按下只会删除本次插入模式下插入的文本,这跟backspace的模式设置有关,其模式可以设置为以下三种模式:

    • 0 same as “:set backspace=” (Vi compatible)
    • 1 same as “:set backspace=indent,eol”
    • 2 same as “:set backspace=indent,eol,start”

    解决

    知道了原因,就好解决了,只需要将backspace的模式设置成2就可以了,在~/.vimrc中添加了一下内容,保存,下次进入vim就可以在插入模式下任意使用delete(backspace)键了:

    " 解决插入模式下delete/backspce键失效问题
    set backspace=2

    参考

    1. Mac 的 Vim 中 delete 键失效的原因和解决方案
    2. Vim

  • 相关阅读:
    C#分割字符串
    Android中this、super的区别
    Android activity跳转方式
    Android中的各种单位
    Android布局方式_RelativeLayout
    Parallelism , Partitioner
    编译hadoop,spark遇到的问题总结
    scala,spark练习题提高
    元组复杂例子
    sparksql 操作hive
  • 原文地址:https://www.cnblogs.com/mouseleo/p/14106578.html
Copyright © 2011-2022 走看看