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"))

相关推荐
程序员东岸25 分钟前
C语言入门指南:字符函数和字符串函数
c语言·笔记·学习·程序人生·算法
xiezhr34 分钟前
一款带有AI功能的markdown笔记工具
笔记·程序员·产品
潘潘潘潘潘潘潘潘潘潘潘潘37 分钟前
【MySQL】从零开始学习MySQL:基础与安装指南
linux·运维·服务器·数据库·学习·mysql
东风西巷1 小时前
全能的3D创作平台,Blender(免费开源3D建模工具)
学习·3d·开源·blender·软件需求
汉堡包0011 小时前
【靶场练习】--DVWA第一关Brute Force(暴力破解)全难度分析
学习·安全
Katzelala5 小时前
[K8S学习笔记] Service和Ingress的关系
笔记·学习·kubernetes
有谁看见我的剑了?5 小时前
k8s-init容器学习
学习·容器·kubernetes
HAH-HAH6 小时前
【Python 入门】(2)Python 语言基础(变量)
开发语言·python·学习·青少年编程·个人开发·变量·python 语法
递归不收敛7 小时前
PyCharm项目上传GitHub仓库(笔记)
笔记·pycharm·github
递归不收敛7 小时前
一、Java 基础入门:从 0 到 1 认识 Java(详细笔记)
java·开发语言·笔记