美文网首页饥人谷任务饥人谷技术博客
入门任务2 VIM简明按键功能

入门任务2 VIM简明按键功能

作者: 饥人谷_zhangfan | 来源:发表于2017-05-16 10:29 被阅读0次

    Vim是从vi发展出来的一个高级文本编辑器,在编写程序时非常有用,经常被认为“程序员的编辑器”,支持Linux、Mac OS、Windows系统,它具有以下附加功能:语法突出显示,全面的帮助系统,本地脚本(vim script),文本选择的可视模式和文件比较(vim diff)。在终端中输入vim [filename]命令即可进入Vim编辑器对该文件进行编辑,若文件不存在,则会在当前目录下以这个文件名新建一个文件。

    vim 拥有** 插入模式 ** 、正常模式命令模式,进入vim后会直接进入编辑模式,按下i进入插入模式,按Esc退出插入模式,在编辑模式下输入:即可进入命令模式,进行保存、退出等操作。在这里总结一下vim入门的按键功能:

    移动光标
    要确保按Esc退出插入模式,回到正常模式当中

    | 按键 | 功能 |
    |: --- :| : --- : |
    |h|光标左移|
    |l| 光标右移
    |k| 光标上移
    |j |光标下移
    |Ctrl+f |向下翻一页
    |Ctrl+b |向上翻一页
    |Ctrl+d |向下翻半页
    |Ctrl+u |向上翻半页
    |0|数字键0表示移动光标到行首
    |$|从当前光标当前位置直到当前行末
    |w|从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符
    |e|从当前光标当前位置直到单词末尾,包括最后一个字符

    VIM的进入和退出

    | 按键 | 功能 |
    |: --- :| : --- : |
    |:w |保存数据
    |:w filename |保存数据到文件中
    |:w! |保存时强制写入数据,不管文件是否为只读文件
    |:q |关闭Vim,对所做的修改不做保存
    |:wq |强制保存数据并关闭Vim
    |:q! | 强制关闭vim

    文本编辑之插入

    | 按键 | 功能 |
    |: --- :| : --- : |
    |i|在光标前插入文本
    |a|在光标后插入文本
    |A|在一行后插入文本
    |o(小写)|在光标下方打开新一行并进入插入模式
    |O(大写)|在光标上方打开新一行并进入插入模式
    |y|(复制)高亮的文本
    |p|将最后一次删除或者复制的内容放置在当前行的下一行
    |r filename| 向当前文件插入另外的文件(filename)内容

    文本编辑之删除

    | 按键 | 功能 |
    |: --- :| : --- : |
    |x |删除光标所在位置的字符
    |dw|从光标处删除至一个单词的末尾,包括后面的空格(个人理解的意思
    |de|从当前光标处删除至单词的末尾,不包括后面的空格(个人理解的意思
    |d$| 从当前光标删除到行末
    |dd | 删除一整个当前行

    撤销类命令

    | 按键 | 功能 |
    |: --- :| : --- : |
    |u|撤销最后执行的(一次)命令
    |U|恢复该行的原始状态
    |Ctrl+R|重做(恢复)被撤销的命令
    |d$| 从当前光标删除到行末
    |dd | 删除一整个当前行

    替换类命令

    | 按键 | 功能 |
    |: --- :| : --- : |
    |r|替换光标所在位置的字符
    |R|可连续替换多个字符
    |ce|改变文本直到一个单词的末尾
    |cw|改变文本直到一个单词的末尾
    |:s/a/b/|可以把a替换为 b(只改变第一个匹配串)
    |:s/a/b/g|可以把a替换为 b(全局改变)
    |:#,#s/a/b/g| #,# 代表的是替换操作的若干行中 首尾两行的行号
    |:%s/a/b/g|替换整个文件中的每个匹配串
    |:%s/a/b/gc|会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。

    定位及搜索命令

    | 按键 | 功能 |
    |: --- :| : --- : |
    |v|进入可视模式进行选取
    |ctrl+G|显示当前编辑文件中当前光标所在行位置以及文件状态信息
    |G|跳转到文件最后一行
    |gg|跳转到文件第一行
    |行号+G| 返回到您第一次按下CTRL-G 时所在的行
    |/+字符串 | 在当前文件中查找该字符串
    |?+字符串 | 在当前文件逆向查找该字符串
    |n | 查找同上一次的字符串
    |N | 反向查找同上一次的字符串
    |% | 可以查找配对的括号 )、]、}

    关于命令和对象
    许多改变文本的命令都由一个操作符和一个动作构成,还可以加上数字表示计数
    operator number motion

    例如:d2w

    d - 删除操作符。
    2 -删除2次。
    motion - 操作符的操作对象(在下面列出)。

    一个简短的动作列表:
    w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
    e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
    $ - 从当前光标当前位置直到当前行末。

    只要明白这个格式,许多命令都是如此组合而来的,大家可以试试。

    本文只是为了简明地介绍一下 Vim 编辑器,vim还有很多很多的命令,本文所介绍的距离完整的差得很远。路漫漫其修远兮,吾将上下而求索~

    相关文章

      网友评论

        本文标题:入门任务2 VIM简明按键功能

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