GVIM相关

Gvim基础操作(正则表达式)-02

常用设置


colorscheme evening
set nu
set linespace=2
set lines=40 columns=180
winpos 450 20
set tabstop=4
set guifont=Consolas:h14  linux为:set guifont=Consolas\ Regular\ 14
set ai

设置中文字体:

set fileencodings=utf-8,gbk,big5

快捷键

操作 快捷键
剪切一整行 dd
复制一整行 yy
粘贴 p
向下查找并高亮显示 Shift+‘*’
向上查找并高亮显示 Shift+‘#’
高亮显示光标所属单词 g+d或者*
删除具有特定关键词的行 g/string/d 100,200g/string/d
删除不含特定关键词的行 g!/string/d 100,200g!/string/d

特殊符号

功能 符号
全词匹配 \<the\>

录制

具体使用:

第一步:在正常模式下(非insert模式、非visual模式)按下q键盘

第二步:选择a-z或0-9中任意一个作为缓冲器的名字,准备开始录制宏

第三步:正常的操作,此次所有的操作都会被记录在上一步中定义的缓冲器中

第四步:在非insert模式下输入q停止宏的录制

第五步:使用 6 @ + 第二步中定义的缓冲器的名字即可(重复6次)。

例如想把下面的文字
line1
line-2
line3-1
l4

变成如下的文字
System.out.println(line1);
System.out.println(line1);
System.out.println(line-2);
System.out.println(line3-1);
System.out.println(L4);

观察可以发现他们的规律,在每行文字的开头添加“System.out.println(”,结尾添加“);”就变成下面的信息了。下面简单介绍一下如何使用recording来完成这样的操作。
首先把光标移动line1上,输入qt,准备开始录制,缓冲器的名字为t,
录制的动作为:shift + ^ 回到行首、按下i键进入insert模式、输入“System.out.println(”、按下esc键回到正常模式、shift + $ 回到行尾部、按下i键进入insert模式、输入“);”按下esc键回到正常模式,按下q停止录制。
然后把光标移动到下面一行的任意位置输入 @ + t 即可。

快速注释or取消注释

批量注释

ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i),再插入注释符,比如"//",再按Esc,就会全部注释了

批量去注释

ctrl+v,进入列编辑模式,横向选中列的个数(如"//"注释符号,需要选中两列),然后按d, 就会删除注释符号

快速选中、删除、复制引号或括号中的内容

引用:https://www.topbyte.cn/2010/09/vim-quick-select-copy-delete/

以下命令可以对标点内的内容进行操作。
ci'、ci"、ci(、ci[、ci{、ci< - 分别更改这些配对标点符号中的文本内容
di'、di"、di(或dib、di[、di{或diB、di< - 分别删除这些配对标点符号中的文本内容
yi'、yi"、yi(、yi[、yi{、yi< - 分别复制这些配对标点符号中的文本内容
vi'、vi"、vi(、vi[、vi{、vi< - 分别选中这些配对标点符号中的文本内容

另外如果把上面的i改成a可以连配对标点一起操作。

举个例子:

比如要操作的文本如下:

111"222"333

将光标移到"222"的任何一个字符处输入命令 di" ,文本会变成: 111""333

若输入命令 da" ,文本会变成: 111333

正则表达式-捕获匹配的变量

使用符号()括起来的正则表达式,搜索得到的内容可以在后面的正则表达式进行引用\1、\2表示前面搜索到的第一个和第二个,例如下面的正则表达式将带有“BB”的单词都添加"AA_"前缀

%s/\(\w*BB\)/AA_\1/g

例化模块:该命令会将module头变为例化

s/.* \(\w*\),/    .\1(\1),/

在包含src的单词后面添加[i]

1977,2005s/\(\<\w*src_\w*\>\)/\1\[i\]/g

统计某个单词出现的次数

%s/test/&/gn

二进制文本处理

打开二进制文本:gvim -b test.bin
以文本形式显示二进制文件:%!xxd
将文件转回二进制形式显示:%!xxd -r
posted @   笑着刻印在那一张泛黄  阅读(491)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示