ctrl+c = esc
V J L的作用
w b
W
e B
ge
f,再按想匹配的字符,会跳到当前行匹配的位置。;会匹配下一个
i光标前插入
a光标后插入
s 替换,把光标位置删掉,变成插入模式
跳到行开头编辑,大写的i
快速到行尾编辑,A
S直接替换整行
新起一行 a然后回车。更快的方式,是o
O向上新起一行
操作多行,移动到下方
清空选中的所有内容
【第二期】Vim基础&高级技巧教学切合实际工作-基础知识、基础操作
【第三期】Vim基础&高级技巧教学切合实际工作-更多常用指令进阶操作
vim经过各种配置之后,也就勉强能有近似IDE的水准,所以一般其实没必要使用…
更多是因为在服务器环境,没有IDE,所以…
不一定使用原始的vim工具,但vim有一些操作是很不错的,这些可以借鉴(印象深刻的有: 从前n行中搜索; 以及某列如str1,str1,str1,使得其自增)
从前n行中搜索;
在 Vim 中从前 500 行中检索关键字 “shuang”:
在 Vim 中打开文件后,你可以使用以下的命令来执行这个检索:
1 | :1,500g/shuang/ |
:1,500g 命令会在第 1 行到第 500 行之间进行搜索。/shuang/ 是你要查找的关键字。
某列如str1,str1,str1,使得其自增
我有一段文本,100行,均为str1,如何使用vim使得其数字自增,即使其变为str1,str3,str3…str100。 不要用宏
你可以通过 Vim 的 :normal 命令以及 Vim script 的 for 循环来实现这个功能。下面是具体的步骤:
打开你的文本文件。
在 Vim 的命令模式中,敲入以下命令:
1 | :let i=1 | g/str1/ s//\='str'.i/ | let i=i+1 |
这个命令的解释如下:
let i=1:这个命令初始化一个变量i,并设置其值为1。g/str1/:这是一个全局搜索命令,它会在整个文本中搜索 ‘str1’。s//\='str'.i/:这是一个替换命令,它会把搜索到的 ‘str1’ 替换为 ‘str’ 后面跟着i的值。注意这里我们使用\=来执行表达式的替换。let i=i+1:这个命令增加i的值。
这个命令会遍历文本中的每一行,每找到一次 ‘str1’,就把它替换为 ‘str’ 后面跟着当前的 i 值,然后 i 的值就会增加1。这样,你就得到了 ‘str1’,’str2’,’str3’,…,’str100’。
比较知名的vim配置:
https://github.com/spf13/spf13-vim
所以不如直接vscode或goland安装vim插件
设置使用 相对行号,即以当前光标所在行为起点,向上向下编号
相对行号可以直接:set rnu
ddp: 两行代码位置互换
guiw: 将某部分变为大写
宏:
先录制,再执行…
有点像自动化软件
比如有这样的json,很长。发现没加id字段,这个字段是递增的。那就可以录制一下,写上“id”:1,再“id”:2,然后就录制完成了…
输入xx,执行n次
vim选中全部行,在前面加一个 -
你可以使用 Vim 编辑器的以下步骤在选中的所有行的前面添加一个连字符 -:
进入命令模式(按
Esc键确保你在普通模式)。使用移动命令或鼠标来选择你想要添加
-的所有行。例如,你可以使用V键来进入可视模式,然后使用上下箭头键或j和k键选择行,或者你也可以使用Shift键加鼠标选择多行。选中所有行后,按
:进入命令行模式,并且你会看到底部命令行提示符显示为:'<,'>,这表示你正在处理选中的区域。在命令行中输入以下命令并按回车键:
1
:'<,'>s/^/-/
这个命令的含义是:在选中的行中(
'<,'>),将行首(^)的位置替换为-。所有选中的行现在都在行首添加了
-。
这个操作会在选中的每一行的开头添加一个 -,并且保留了你的选中状态。如果你想保存更改,可以输入 :w 来保存文件,然后输入 :q 退出 Vim。
‘<,’>s/^/-/这都什么意思?
'<,'> 和 s/^/-/ 是 Vim 中执行替换操作时的标记和命令。
'<,'>:这部分表示你正在处理的范围,它指示 Vim 在选中的文本范围内执行命令。当你在可视模式下选择一些文本时,Vim 会自动在命令行中添加'<,'>,以表示当前操作的是选中的文本。这个范围是 Vim 的一种特殊标记方式。s/^/-/:这部分是实际的替换命令。它使用正则表达式进行匹配和替换:s表示替换操作。^是一个正则表达式模式,它匹配每一行的开头位置。-是要替换的内容,这里是在每一行的开头添加的连字符。
所以,'<,'>s/^/-/ 的完整含义是在选中的文本范围内,将每一行的开头位置(^)替换为 -,从而在每一行的开头添加一个连字符 -。
在 Vim 中,'<,'>s/^/-/ 是一个替换命令,用于在选定范围内的每一行的开头添加一个连字符(-)。下面是这个命令的详细解释:
'<,'>:这是一个范围选择,表示最后一次高亮选定的文本块的开始和结束行。当你在 Vim 的可视模式(Visual mode)中选定一块文本后,'<和'>分别代表这块文本的开始行和结束行。s:这是 Vim 中的替换命令(Substitute)的简写。/^/-/:这是替换命令的参数。在这里,^是一个正则表达式,表示行的开始。-是你想要插入的字符。所以,/^/-/的意思是:在每一行的开始(^)插入一个连字符(-)。
vim移动到行尾,行头
在 Vim 中,移动到行尾和行头的快捷键如下:
移动到行尾:
$- 移动到本行的行尾g_- 移动到本行的最后一个非空白字符
移动到行头:
0- 移动到本行的行头^- 移动到本行的第一个非空白字符
示例:
1 | // 移动到行尾 |
另外,还可以使用 A 在行尾插入,I 在行头插入。
这些快捷键可以极大的提高在 Vim 中的编辑效率,值得记忆。
https://blog.csdn.net/yiqishangxuewu/article/details/105647272
原文链接: https://dashen.tech/2020/09/03/Vim入门/
版权声明: 转载请注明出处.