美文网首页上古神器Vim
vim学习笔记(1)

vim学习笔记(1)

作者: Fengya | 来源:发表于2016-05-27 18:25 被阅读120次

    vim中backspace失效解决办法

    现象

    在mac中使用vim打开文件后,在insert模式下使用backspace(delete)键只能编辑本次修改的内容,无法编辑文件中之前的内容。

    解决办法

    ~/.vimrc中设置backspace项的配置内容为2。
    即在~/.vimrc中加入一条配置

    set backspace=2
    

    分析原因

    vim官方文档对于backspace的解释如下:

    'backspace' 'bs' string (default "")            
                     global         
                     {not in Vi}    
    Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert mode. This is a list of items, separated by commas. Each item allows a way to backspace over something:
    --------------------------------------------------------------
    value   |    effect
    indent   |    allow backspacing over autoindent 
    eol   |    allow backspacing over line breaks (join lines)  
    start   |    allow backspacing over the start of insert; CTRL-W and CTRL-U stop once at the start of insert.    
    ---------------------------------------------------------------
    
    When the value is empty, Vi compatible backspacing is used. For backwards compatibility with version 5.4 and earlier:
    ---------------------------------------------------
    value   |    effect
    0       |    same as ":set backspace=" (Vi compatible)   
    1       |    same as ":set backspace=indent,eol"     
    2       |    same as ":set backspace=indent,eol,start"  
    ---------------------------------------------------
    
    See |:fixdel| if your <BS> or <Del> key does not do what you want.  NOTE: This option is set to "" when 'compatible' is set.
    

    根据文档中的内容可知,有三种值可以被设置,indent缩进,eol行尾,start刚开始插入。
    默认的vim的设置是设置为0,为了兼容vi的使用方法。(虽然在mac系统中vi命令只是vim的一个符号链接。)
    因此,我们将backspace的配置设置成2,即可使用backspaceinsert模式下进行编辑。

    相关文章

      网友评论

        本文标题:vim学习笔记(1)

        本文链接:https://www.haomeiwen.com/subject/vhlfdttx.html