vim学习笔记(致敬vim作者)

vim cheat sheet

30. vim 删除大法

vim 删除某个字符之后改行的其他的字符?删除某行之后的其他行?删除某个字符之后的其他字符?【1】删除单个字符?

跳到要删除的字符位置

  1. 按下d键
  2. 然后按下shift + 4键

【2】删除某行之后的其他行?

按下d

按下shift + G

【3】删除某个字符之后的其他字符?(可以额拆解为)

  1. 按下v
  2. 按下shift + G
  3. 按下x

【4】删除单个字符?

x

【5】删除某个单词?

  • 先用'b'命令把光标先移动到词首,然后执行dw删除整个单词.按键3个
  • 执行反向删除命令'db'(会剩余最后的"e"字符),再执行'x'删除单个字符.按键3个
  • 直接执行daw,删除单词并会删除一个空格(其他的不会),光标停留在下一个单词末尾上.按键3个(推荐使用这个,方便快捷。)

【6】删除某一行中任意字符之间的数据

如何界定之间,你来界定

看下面的例子,需求: 删除第一个双引号之间的内容

bash 复制代码
if [ "${UbuntuCheck}" ] && [ "${UbuntuCheck}" -lt "16" ];then

光标移动到双引号上, dt" 即可

31、插入模式深入理解

【Normal】模式下如果需要往某行插入内容,一般是将光标移动到指定位置,然后【insert】模式插入。 这种操作是最容易理解的但并不是最优雅的。

a → 在光标后插入

o → 在当前行后插入一个新行

O → 在当前行前插入一个新行

cw → 替换从光标所在位置后到一个单词结尾的字符

32、光标移动大法

【1】% : 匹配括号移动,包括 (, {, [. (需要把光标先移到括号上)

【2】**#: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(是下一个,#是上一个) 对应的就是search模式的N和n。

【3】NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行

【4】gg → 到第一行。(陈皓注:相当于1G,或 :1)

【5】G → 到最后一行。

【6】按单词移动

w → 到下一个单词的开头。

e → 到下一个单词的结尾

【7】移动到指定字符开始的位置

fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。

fs

fr ....

Fa 向前移动

【8】t, → 到逗号前的第一个字符。逗号可以变成其它字符。

超级好用,当你观察一下这行数据,可以去到任何你想去的地方。

如果是win的话可以需要鼠标才可以完成你想到的任何一个地方。

T, 是反方向

【9】3fa → 在当前行查找第三个出现的a。<ninesun: 查找域为光标之后>

33、复制大法

当掌握了移动大法之后,可以使用 随意进行复制

【1】复制一个单词

ye

【2】复制一整行

不论光标处于何处

0y$

  • 0 → 先到行头
  • y → 从这里开始拷贝
  • $ → 拷贝到本行最后一个字符

【3】 复制字符串之间的内容 very import

光标键在第一个 o的位置

bash 复制代码
(map (+) ("foo"))

vi" → 会选择 foo.

va" → 会选择 "foo".

vi) → 会选择 "foo".

va) → 会选择("foo").

v2i) → 会选择 map (+) ("foo")

v2a) → 会选择 (map (+) ("foo"))

相关推荐
rechol42 分钟前
C++ 继承笔记
java·c++·笔记
aesthetician3 小时前
Node.js v25 重磅发布!革新与飞跃:深入探索 JavaScript 运行时的未来
javascript·node.js·vim
JJJJ_iii3 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
Han.miracle4 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
知识分享小能手5 小时前
uni-app 入门学习教程,从入门到精通,uni-app基础扩展 —— 详细知识点与案例(3)
vue.js·学习·ui·微信小程序·小程序·uni-app·编程
●VON6 小时前
重生之我在大学自学鸿蒙开发第九天-《分布式流转》
学习·华为·云原生·harmonyos·鸿蒙
无妄无望6 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
水月wwww7 小时前
操作系统——进程管理
linux·操作系统·vim·进程·进程调度
Larry_Yanan9 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
能不能别报错9 小时前
K8s学习笔记(十九) K8s资源限制
笔记·学习·kubernetes