资讯动态

【VIM学习笔记】

发布时间:2026/9/2 11:40:17 来源:尧图企业网站定制
VIM命令按功能分类展示:窗口与分屏功能命令说明垂直分屏:vsp垂直分割当前窗口水平分屏:sp水平分割当前窗口关闭窗口:q关闭当前窗口文本替换功能命令说明全局替换:%s/XXX/YYY/g将文件中所有XXX替换为YYY删除包含指定字符串的行:g/string/d删除所有包含string的行替换数字为行号:%s/1/\=line('.')/g将1替换为当前行号替换数字为行号偏移:%s/1/\=line('.')-10/g将1替换为当前行号减10消除行尾空格:%s/\s\+$//删除所有行尾多余空格确认替换:s/from/to/c每次替换前需用户确认PS:替换命令还可以用+-表示相对偏移如: :.,.+4s/a/b/g操作:先按5:,vim下会出现:.,.+4,在输入后面的命令即可s/a/b/g光标移动功能命令说明移动到下个单词的词首w正向移动到单词首字母移动到上个单词的词首b反向移动到单词首字母移动到当前行首非空白字符^跳转到行首第一个非空格字符移动到当前行尾非空白字符g_跳转到行尾最后一个非空格字符跳转到第n行nG如100G跳转到第100行跳转到匹配括号%在(){}[]之间跳转跳转到变量定义处gd跳转到当前变量的首次定义位置标记与跳转功能命令说明设置标记ma当前光标位置标记为a跳转到标记`a跳转到标记a的位置返回上次修改位置`.跳转到最后一次修改的字符返回原始位置``回到跳转前的位置编辑操作--粘贴复制功能命令说明删除到行尾d$删除光标位置到行尾的内容删除整行dd删除当前行复制整行yy复制当前行合并行J将下一行合并到当前行大小写转换~切换光标下字符大小写(选中区域可用)重复操作n{cmd}如3dw删除3个单词,5J合并5行基础复制操作功能命令说明复制当前行yy等同于 Y复制当前行Y等同于 yy复制一个单词yw从光标位置到单词末尾复制到行尾y$从光标位置到行尾复制到行首y0从光标位置到行首复制到第一个非空字符y^从光标位置到行首第一个非空字符范围复制操作功能命令说明复制当前行及下一行2yy复制 2 行复制当前行及下两行3yy复制 3 行复制当前行及下四行5yy复制 5 行复制当前行及下两行y2j向下复制 2 行复制当前行及上三行y3k向上复制 3 行复制到文件末尾yG从当前行到文件末尾复制到文件开头ygg从当前行到文件开头文本对象复制功能命令说明复制当前单词(不含空格)yiw复制单词内容复制当前单词(含空格)yaw包含单词周围空格复制引号内内容yi"复制双引号内文本复制引号及其内容ya"包含双引号复制圆括号内内容yi)复制括号内文本复制圆括号及其内容ya)包含圆括号复制花括号内内容yi}复制花括号内文本复制花括号及其内容ya}包含花括号高级复制技巧功能命令说明复制到上一个段落开始y{复制到段落开头复制到下一个段落开始y}复制到段落结尾复制到匹配模式处y/pattern复制到匹配的文本模式复制到字符 x(包含 x)yfx从光标到字符 x(含 x)复制到字符 x(不含 x)ytx从光标到字符 x 前(不含 x)基础剪切操作功能命令说明剪切当前行dd整行剪切剪切到行尾D/d$从光标处剪切至行尾剪切到行首d0从光标处剪切至行首剪切单词dw从光标处剪切至单词结尾剪切字符x剪切光标所在字符范围剪切操作功能命令说明多行剪切2dd剪切当前行及下一行多行剪切3dd剪切当前行及下两行向下多行剪切d5j剪切当前行及下五行向上多行剪切d3k剪切当前行及上三行剪切至文件末尾dG从当前行剪切到文件末尾剪切至文件开头dgg从当前行剪切到文件开头精确剪切操作功能命令说明剪切单词内容diw剪切当前单词(不含周围空格)剪切整个单词daw剪切当前单词(含周围空格)剪切引号内内容di"剪切双引号内的文本剪切引号及内容da"剪切双引号及其内部文本剪切段落d{/d}剪切至上一个/下一个段落起始位置基础粘贴操作功能命令说明向后粘贴p在光标后/下一行粘贴向前粘贴P在光标前/上一行粘贴粘贴后移动光标gp粘贴后光标停留在新内容末尾粘贴前移动光标gP粘贴前光标移动到新内容末尾重复粘贴操作功能命令说明多次向后粘贴3p重复粘贴3次到光标后多次向前粘贴3P重复粘贴3次到光标前多次向后粘贴5p重复粘贴5次到光标后寄存器粘贴操作功能命令说明指定寄存器粘贴"ap粘贴寄存器a中的内容最近复制内容粘贴"0p粘贴最后一次复制的内容系统剪贴板粘贴"+p粘贴系统剪贴板内容(需GUI支持)选择缓冲区粘贴"*p粘贴系统选择缓冲区内容对齐与格式功能命令说明左对齐:2,5left 8将2-5行按左对齐,宽度8字符右对齐:2,5right 8将2-5行按右对齐,宽度8字符表格中的命令均以Vim原生语法为准,部分特殊符号(如[])需转义处理。GVIM一键对齐(按列对齐)不带字符,默认是以【空白字符(空格 / 制表符)】来分列对齐的·先选中你要对齐的所有行(用V行选,或者Ctrl+V块选)·输入命令::','!column -t(:,' 是选中区域的命令前缀,输入 !column -t 即可)!在 Vim 里调用 系统外部命令为什么要有!?因为:column不是 Vim 自己的命令column是 Windows / Linux 系统里的一个外部工具Vim看到!就明白:“哦,这不是我内部的命令,你要把选中的文本交给系统终端去跑一下”不带字符,可以以其他字符(如, = ;) (等)来分列对齐,类似execl表的分列方式:','!column -t -s ',' -o ' ,'·!→交给系统执行(不是 Vim 内部命令)·column→ 系统对齐工具·-t→ 自动排成表格·-s ','→以逗号,作为分隔符分列·-o ' ,'→输出时列之间变成【空格+逗号】PS:类似execl分列最常用参数-t自动创建表格(最核心!)-s符号指定【分隔符】(按什么切分列)-o符号指定【输出连接符】(列之间用什么连)-n识别空列(不丢空数据)-d不压缩空格模块接口格式对齐-快捷键方式

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价