zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Excel.Application使用手册
    VMwareworkstationfull9.0.1894247+汉化补丁(2013.1.22)+有效密钥
    3个月ESET全系列产品试用用户名和密码
    各大安软官方卸载工具
    MDX语法学习filter与iif的使用
    SET XACT_ABORT 用法
    wcf传输List<t>
    存储过程中SELECT与SET对变量赋值
    SQL Server 定时备份数据库(作业)
    数据仓库MDX实际应用
  • 原文地址:https://www.cnblogs.com/shengulong/p/10530188.html
Copyright © 2011-2022 走看看