Vim笔记(2)-编辑操作

简介

  • Vim 提供了强大的编辑命令, 并且多个基础命令按一定规则组合可以完成各种复杂的编辑操作, 可以帮助我们快速高效地完成任务

基本语法

  • 编辑操作的基本语法如下:
what to do (delete, change...)
    /
    /      how many times
    /         /
v         v
{operator}{count}{motion}
                    ^
                /
                /
        where to perform
            the action

例如:d2w 就是删除从光标处开始的两个单词, 如果你想撤销就按 u , 取消撤销<Ctrl-R>

  • 删除操作 d

    删除操作一般都和 d 相关

    • dd : 删除光标所在的一行, 相当于 0d$, 不过行号还要减 1
    • D : 删除光标到行尾的内容, 相当于 d$
    • ggdG : 删除全文, 即先到文件开头, 再删除到文件末尾的内容
  • 改变操作 c

    改变操作就像 di 的结合一样, 它的特点是执行后会转为 Insert 模式, 便于我们添加内容

    • cc : 删除光标所在行并进入 Insert 模式
    • C : 删除光标到行尾的内容并进入 Insert 模式

    当然除了 c 之外还有几个我们比较常用的改变操作

    • a : 在当前光标后进入 Insert 模式
    • A : 在行末(含空格)进入 Insert 模式, 相当于 $a
    • I : 在行首(非空格)进入 Insert 模式, 相当于 ^i
    • o : 在下一行创建一个新行并进入 Insert 模式
    • O : 在上一行创建一个新行并进入 Insert 模式
  • 重复操作 .

    这个命令允许我们重复上一次的改变操作, 可以大大节省批量操作的时间, 如下例子 : 将 polite 改为 angry

    start here
    /
    /
    v
    const politeSalute = "I polite salute you good person.";

    我们可以输入命令:/po<Enter>cfeangry<Ctrl-C>n.

其它操作

  • 复制操作 y

    可以类比 c 操作

    • yw : 复制光标到单词尾部的内容
    • yy : 复制当前行的内容
  • 粘贴操作 p

    在光标后粘贴复制的内容

  • 大小写转换 g~

    • gu : 将字符转为小写, 例如 ggguG 就是使全文变为小写
    • gU : 将字符转为大写
  • 缩进操作

    • > : 将选中文本向右缩进一个 Tab
    • < : 将选中文本向左缩进一个 Tab
  • 格式化代码 =

    将选中的代码格式化

    • gg=G : 全文格式化

更多复合操作

  • x : 相当于 dl
  • X : 相当于 dh
  • s : 相当于 cl
  • r : 替换单个字符
  • ~ : 转换单个字符的大小写, 大转小(小转大)