zoukankan      html  css  js  c++  java
  • Vim使用技巧及基本命令分类

    Vim 有三种模式,命令模式、插入模式、低行模式
    有vi 进入文件后就是命令模式,接着输入 a 或 i 或 o  进入插入模式,接着按Esc回到命令模式,然后输入:进入低行模式。
     
    插入命令  
    a(后 ) 在光标后插入
    A(尾 ) 在光标所在行尾插入
    i(前 ) 在光标前插入
    I(首 ) 在光标所在行首插入
    o(下 ) 在光标下插入新行
    O(上 ) 在光标上插入新行
     
    定位命令  
    :set nu 显示行号
    :set nonu 隐藏行号
    gg 到第一行
    G 到最后一行
    nG 到第n行
    :n 到第n行
    $ 移至行尾
    0 移至行首
     
    删除命令  
    x 删除光标所在处字符
    nx 删除光标后n个字符
    dd 删除光标所在行
    ndd 删除光标所在行的下n行
    dG 删除光标所在行到文件末尾内容
    D 删除光标所在行到行尾内容
    :起始行,截至行d 删除指定范围的行
     
    复制和剪切命令  
    yy 复制当前行
    nyy 复制当前行以下n行
    dd 剪切当前行
    ndd 剪切当前行以下n行
    p(行下) 、 P(行上) 粘贴在当前光标所在行下或行上
     
    替换和取消命令  
    r 取代光标所在处字符
    R 从光标所在处开始替换字符,Esc结束
    u 取消上一步操作
     
    搜索和搜索替换命令  
    /搜索的字符 搜索是忽略大小写:set ic
    n 搜索指定字符串的下一个出现位置
    :%s/old/new/g
    全文替换
    old(需替换的字符)
    new(替换后的新字符)
    :起始行,截至行s/old/new/g
    在指定范围内替换字符串
    old(需替换的字符)
    new(替换后的新字符)
     
    保存和退出命令  
    :w 保存修改
    :w new_filename 另存为指定文件
    :wq 保存修改并退出
    ZZ :wq 的快捷键
    :q!  不保存修改退出
    :wq! 保存修改并退出
     
     

        vi有3个模式:插入模式、命令模式、低行模式。

    插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
    命令模式:可以移动光标、删除字符等。
    低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

    一、打开文件、保存、关闭文件(vi命令模式下使用)

    vi filename           //打开filename文件
    :w                      //保存文件
    :w vpser.net //保存至vpser.net文件
    :q                      //退出编辑器,如果文件已修改请使用下面的命令
    :q!                     //退出编辑器,且不保存
    :wq                    //退出编辑器,且保存文件

    二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

    a        //在当前光标位置的右边添加文本
    i         //在当前光标位置的左边添加文本
    A        //在当前行的末尾位置添加文本
    I         //在当前行的开始处添加文本(非空字符的行首)
    O        //在当前行的上面新建一行
    o        //在当前行的下面新建一行
    R        //替换(覆盖)当前光标位置及后面的若干文本
    J         //合并光标所在行及下一行为一行(依然在命令模式)

    三、移动光标(vi命令模式下使用)

    1、使用上下左右方向键

    2、命令模式下:h   向左、j   向下 、k   向上、l  向右。
    空格键 向右、Backspace  向左、Enter  移动到下一行首、-  移动到上一行首。

    四、删除、恢复字符或行(vi命令模式下使用)

    x           //删除当前字符
    nx         //删除从光标开始的n个字符
    dd         //删除当前行
    ndd       //向下删除当前行在内的n行
    u           //撤销上一步操作
    U           //撤销对当前行的所有操作

    五、搜索(vi命令模式下使用)

    /vpser       //向光标下搜索vpser字符串
    ?vpser       //向光标上搜索vpser字符串
    n              //向下搜索前一个搜素动作
    N              //向上搜索前一个搜索动作

    六、跳至指定行(vi命令模式下使用)

    n+          //向下跳n行
    n-           //向上跳n行
    nG          //跳到行号为n的行
    G            //跳至文件的底部

    七、设置行号(vi命令模式下使用)

    :set  nu        //显示行号
    :set nonu     //取消显示行号

    八、复制、粘贴(vi命令模式下使用)

    yy         //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
    nyy       //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
    yw        //复制从光标开始到词尾的字符。
    nyw      //复制从光标开始的n个单词。
    y^        //复制从光标到行首的内容。 
    y$        //复制从光标到行尾的内容。
    p          //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
    P          //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

    九、替换(vi命令模式下使用)

    :s/old/new               //用new替换行中首次出现的old
    :s/old/new/g            //用new替换行中所有的old
    :n,m s/old/new/g     //用new替换从n到m行里所有的old
    :%s/old/new/g         //用new替换当前文件里所有的old

    十、编辑其他文件

    :e otherfilename         //编辑文件名为otherfilename的文件。

    十一、修改文件格式

    :set fileformat=unix       //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

    本文为博主原创文章,知识共享,开源精神,转载注明出处。欢迎技术交流 QQ819509322
  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/kangvcar/p/5556976.html
Copyright © 2011-2022 走看看