zoukankan      html  css  js  c++  java
  • vim基本操作

    (命令模式)冒号+指令

    在vim命令模式界面想要退出,需要输入冒号和指令

    :wq   保存并退出
    :q 维修改退出
    :q! 强制退出并不保存

    (命令模式)移动光标

    在vim界面,命令模式下光标移动方法

    1、使用上下左右方向键

    2、命令模式下:
    h   向左
    j   向下
    k   向上
    l 向右

    空格键 向右
    Backspace 向左
    Enter 移动到下一行首
    - 移动到上一行首。

    :set nu     //显示行号
    :set nonu   //取消显示行号
    n+       //向下跳n行
    n-         //向上跳n行
    nG       //跳到行号为n的行
    G           //跳至文件的底部
    g         //跳转到文件头部

    (插入模式)编辑模式

    以下按键进入编辑插入模式

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

    ESC可以退出编辑模式

    (命令模式)删除和复制

    在vim中, 除了在编辑模式下修改文件,命令模式的时候可以删除和复制

    x         //删除当前字符
    nx         //删除从光标开始的n个字符
    dd       //删除当前行
    ndd      //向下删除当前行在内的n行
    u        //撤销上一步操作
    U        //撤销对当前行的所有操作
    yy       //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
    nyy      //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
    yw       //复制从光标开始到词尾的字符。
    nyw      //复制从光标开始的n个单词。
    y^       //复制从光标到行首的内容。 VPS侦探
    y$       //复制从光标到行尾的内容。
    p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
    P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

    (命令模式)搜索和替换

    /keyword     //向光标下搜索keyword字符串,keyword可以是正则表达式
    ?keyword     //向光标上搜索keyword字符串
    n           //向下搜索前一个搜素动作
    N         //向上搜索前一个搜索动作

    *(#)      //当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.

    g*(g#)        //此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而是匹配包含该单词的所有字符串.

    :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
    懒惰不会让你一下子跌到 但会在不知不觉中减少你的收获; 勤奋也不会让你一夜成功 但会在不知不觉中积累你的成果 越努力,越幸运。
  • 相关阅读:
    c++ 对象作为参数传递
    LeetCode总结 -- 树的性质篇
    【Bug笔记】The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    poj3642 Charm Bracelet(0-1背包)
    [笔试题] 阿里巴巴2013技术类笔试题(完整版手工记录+具体解析)
    swift-switch使用方法
    Android OpenGL ES 应用(二) 纹理
    【VBA研究】查找目录以下全部文件的名称
    解决com.ibatis.sqlmap.client.SqlMapException: There is no statement named in this SqlMap
    Android菜鸟的成长笔记(27)——ViewPager的使用
  • 原文地址:https://www.cnblogs.com/Rainingday/p/12365855.html
Copyright © 2011-2022 走看看