zoukankan      html  css  js  c++  java
  • vim/vi编辑工具

    原文链接:https://www.cnblogs.com/kmsfan/p/vim_beginner.html

    一、三种模式

    1. 普通模式

    在普通模式中,用的编辑器命令,比如移动光标、删除文本等等。这也是Vim启动后的默认模式。

    2. 插入模式

    在这个模式中,大多数按键都会向文本缓冲中插入文本。

    在插入模式中,可以按ESC键回到普通模式。

    3. 命令行模式

    在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

    命令行模式中输入wq回车后保存并退出vim。

    注:三种模式的切换:

    • 普通模式 --> 插入模式:按 i 键
    • 普通模式 --> 命令行模式:按 : 键等

    二、常用命令

    1. 使用 vim practice_1.txt 进入界面

    2. 普通模式下的游标移动

    • h:左
    • l:右(小写L)
    • j:下
    • k:上
    • w:移动到一个单词
    • b:移动到上一个单词

    3. 插入模式编辑

    • i:在当前光标处进行编辑
    • I:在行首插入
    • A:在行末插入
    • a:在光标后插入编辑
    • o:在当前行后插入一个新行
    • 0:在当前行前插入一个新行
    • cw:替换从光标所在位置后到一个单词结尾的字符

    4. 命令行模式下保存文档

    从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下。

    5. 退出vim

    • 命令行模式保存并退出 :wq
      • :q! —— 强制退出,不保存
      • :q —— 退出
      • :wq! —— 强制保存并退出
      • :w <文件路径> —— 另存为
      • :saveas <文件路径> —— 另存为
      • :x —— 保存并退出
      • :wq —— 保存并退出
    • 普通模式下退出:输入Shift+zz即可保存退出vim

    6. 删除文本

    • 普通模式下删除
      • x —— 删除游标所在的字符
      • X —— 删除游标所在前一个字符
      • Delete —— 同x
      • dd —— 删除整行
      • dw —— 删除一个单词(不适用于中文)
      • d$ 或 D —— 删除至行尾
      • d^ —— 删除至行首
      • dG —— 删除到文档 结尾处
      • d1G —— 删至文档首部

      还可以在命令之前加上数字,表示一次删除多行,如:2dd表示一次删除2行。

    7. 复制粘贴和剪切

    (1) 复制粘贴

    • 普通模式中使用y复制
      • yy复制游标所在的整行(3yy表示复制3行);
      • y^复制至行首,或y0,不含光标所在处字符;
      • y$复制至行尾,,含光标所在处字符;
      • yw复制一个单词;
      • y2w:复制两个单词;
      • yG复制至文本末;
      • y1G复制至文本开头;
    • 普通模式中使用p粘贴
      • p(小写)代表粘贴至光标后(下);
      • P(大写)代表粘贴至光标前(上);

    (2) 剪切与粘贴

    其实前面讲得dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:ddp,就这么简单,即实现了快速交换光标所在行与它下面的行。

    8. 查找

    (1) 快速查找

    普通模式下输入 / 然后键入需要查找的字符串,按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找。

    (2) 高级查找

    • 普通模式下输入 * 寻找游标所在处的单词;
    • 普通模式下输入 # 同上,但 * 是向前(上)找,#则是向后(下)找;
    • 普通模式下输入g*同* ,但部分符合该单词即可;
    • 普通模式下输入g#同# ,但部分符合该单词即可;

    以上查找n,N 的继续查找命令依然可以用。

    9. 替换和撤销

    替换和Undo命令都是针对普通模式下的操作。

    • r+<待替换字母> :将游标所在字母替换为指定字母;
    • R :连续替换,直到按下Esc键;
    • cc : 替换整行,即删除游标所在行,并进入插入模式;
    • cw :替换一个单词,即删除一个单词,并进入插入模式;
    • C(大写) : 替换游标以后至行末;
    • ~ : 反转游标所在字母大小写;
    • u{n} :撤销一次或n次操作;
    • U(大写) : 撤销当前行的所有修改;
    • Ctrl+r :redo,即撤销undo的操作。

    10. 行号的显示和隐藏

    在普通模式下按:进入命令行模式,输入set number 或 set nonumber

  • 相关阅读:
    [硬件驱动_蓝牙]蓝牙Bluez的编程实现
    二分查找
    LeetCode-35.Search Insert Position
    LeetCode-34.Find First and Last Position of Element in Sorted Array
    LeetCode-704.Binary Search
    剑指offer-最小的k个数
    树的各种遍历
    LeetCode-912.Sort an Array
    排序
    LeetCode-209.Minimum Size Subarray Sum
  • 原文地址:https://www.cnblogs.com/myitnews/p/12217060.html
Copyright © 2011-2022 走看看