zoukankan      html  css  js  c++  java
  • 【转】一些常用的Vi命令,可帮助脱离鼠标

    使用Vi编写代码时,如果想脱离鼠标,需要使用一些命令快捷键,下面罗列了一些常用的并且容易记住的:

    1. 命令模式下,移动光标或跳转

    0到行首

    ^到行首第一个非空字符

    $到行尾非空字符

    fx向后移动光标到本行的x字符处

    Fx向前移动光标到本行的x字符处

    gg跳转到文件头部

    G跳转到文件尾部

    nG、ngg或者:n跳转到第n行

    %跳到与当前括弧([{}])相匹配的位置处

    2. 命令模式下,进入插入模式

    i在当前光标位置左边添加文本

    I在当前行首(第一个非空字符处)添加文本

    a在当前光标位置的右边添加文本

    A在当前行尾添加文本

    o在当前行的下面新建一行

    O在当前行的上面新建一行

    3.命令模式下,删除文本

    x删除当前光标处字符

    nx删除从当前光标处字符开始算起的n个字符

    cw删除当前光标处字符,并且进入插入状态

    d/xxx删除从当前光标处到xxx字符的所有文本

    dtxxx删除从当前光标处到本行的xxx处

    dw删除从当前光标到当前word尾部

    dd删除当前行

    ndd删除从当前行开始的n行

    d}删除当前行直到下一个空行

    d{删除当前行直到前一个空行

    d$删除从当前光标处字符直到行尾

    :n,md删除n到m行

    :%s/^[ ]*//g删除文件内所有行行首的空格和tab

    :%s/[ ]*$//g删除文件内所有行行尾的空格和tab

    删除多行可以分三步:1. mz标记某一行;2. 光标移动到目标结束行;3. d'z

    4.命令模式下,复制,粘贴

    p粘贴内容到当前光标后

    P粘贴内容到当前光标前

    条目3中很多命令将d换为y即可,如复制多行:1. mz标记某一行;2. 光标移动到目标结束行;3. y'z

    5.命令模式下,替换

    :s/old/new/g替换当前行内所有old字符串为new

    &重复上一次替换

    :%s/old/new/g替换当前文件内所有old字符串为new

    :n,ms/old/new/g替换从行n到行m内所有old字符串为new

    ZZ = :wq 保存并退出

    6.命令模式下,其他编辑命令

    u撤销上一个编辑操作(undo)

    ctrl+r重复上一个编辑操作(redo)

    J合并当前行跟下一行

    块编辑:ctr+v进入块编辑,从当前行往下移动光标直到目标结束行,然后按大写的I进入插入状态,输入xxx,然后按esc后,在所有的块内行首均会加上xxx

    7.其他命令

    /xxx向下搜索xxx

    ?xxx向上搜索xxx

    n跳转到下一个搜索位置

    N跳转到上一个跳转位置

    ZZ保存当前文件并退出,等同于:wq

    ctrl+[切换回命令模式,等同于esc

    插入模式下,自动补全:ctrl+p或ctrl+n

    tag跳转:ctrl+]跳转到符号定义处,T调回到原来位置

    -----乐观处世,诚实做人,不骄不躁,积极进取; 勇于创新,踏实实现,谨慎规划,付诸实践; 事在人为
     
    转自:http://www.cnblogs.com/chinsonliu/p/3612299.html
  • 相关阅读:
    cJSON库源码分析
    cJSON 使用详解
    day23
    day22
    作业21
    day21
    作业20
    day20
    作业
    day19
  • 原文地址:https://www.cnblogs.com/nhlinkin/p/3618812.html
Copyright © 2011-2022 走看看