Vim中的常用命令总结(持续补充完善)

文章目录

    • 前言
    • VIM命令
      • Vim的三种模式
        • (1) 命令模式
        • (2) 插入模式
        • (3) 退出模式
      • 跳转
        • (1) gg :跳转到文件开头
        • (2) Shift + g :跳转到文件结尾
      • 分割窗口
        • (1) :vsplit :垂直分割
        • (2) :split :水平分割窗口
    • VIM中常用文本处理命令
      • 查找
        • (1) /pattern : 从上往下查找关键词 pattern 并高亮显示
        • (2) ?pattern : 从下往上查找关键词 pattern 并高亮显示
        • (3) : 100 : 跳转到文件的第100行
        • (4) /pattern1 [ ]\+ pattern2: 查找关键词 pattern1 之后为任意个空格之后是关键词 pattern2
        • (5) /^C.*\spattern : 查找行头第一个字符为C之后任意多个字符后是空格且空格后是pattern关键词的内容
      • 添加
        • (1) :%s/^/pattern/ : 将每行行首添加 pattern 字符串
        • (2) :%s/$/pattern/ : 将每行行尾添加 pattern 字符串
        • (3) :3,521 s/^/pattern/ : 将从第3行到第521行的行首添加 pattern 字符串
      • 替换
        • (1) :%s/.*pattern/pattern/g : 将每行中内容为 \*pattern 的内容替换为 pattern
        • (1) :1,5s/.*pattern/pattern/g : 将1到5行中的内容为 \*pattern 的内容替换为 pattern
      • 删除
        • (1) :g/pattern/d : 将有关键词 pattern 的行删除
        • (2) :g/^$/d : 删除不包含任何空格的空行
        • (3) :g/^\s*$/d : 删除包含空格的空行
        • (4) :%g!/pattern/d : 删除不包含关键词pattern的所有行
      • 字符匹配
        • (1) * : 匹配0到任意个任意字符
        • (1) ? : 匹配单个任意字符
    • 总结

前言

本文章旨在总结自己工作学习中一些常用且能显著提高工作效率的Vim命令。每个命令基本都会跟着例子。

VIM命令

Vim的三种模式

(1) 命令模式

(1) :set nu : #添加行号 (临时设定)
(2) p : #粘贴
(3) u : #撤销
(4) dw : #删除一个单词
(5) dd : #删除一行
(6) 3dd : #删除三行

(2) 插入模式

i #在光标所在位置插入字符
I #在光标所在行的行首插入字符
o #光标所在行的下一行新行插入字符
O #光标所在行的上一行新行插入字符
s #删除光标所在字符并插入字符
S #删除光标所在行并插入字符
a #光标所在字符的下一个字符插入
A #光标所在行的行尾插入字符

(3) 退出模式

:q #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! #当vim进入文件对文件内容有操作但不想保存退出
:wq #正常保存退出
:wq! #强行保存退出,只针对于root用户或文件所有人生效

跳转

(1) gg :跳转到文件开头
(2) Shift + g :跳转到文件结尾

分割窗口

(1) :vsplit :垂直分割
(2) :split :水平分割窗口

VIM中常用文本处理命令

查找

(1) /pattern : 从上往下查找关键词 pattern 并高亮显示
(2) ?pattern : 从下往上查找关键词 pattern 并高亮显示

n 向下匹配关键字
N 向上匹配关键子

(3) : 100 : 跳转到文件的第100行
(4) /pattern1 [ ]+ pattern2: 查找关键词 pattern1 之后为任意个空格之后是关键词 pattern2

Vim中的常用命令总结(持续补充完善)_第1张图片

(5) /^C.*\spattern : 查找行头第一个字符为C之后任意多个字符后是空格且空格后是pattern关键词的内容

Vim中的常用命令总结(持续补充完善)_第2张图片

添加

(1) :%s/^/pattern/ : 将每行行首添加 pattern 字符串
(2) :%s/$/pattern/ : 将每行行尾添加 pattern 字符串
(3) :3,521 s/^/pattern/ : 将从第3行到第521行的行首添加 pattern 字符串

替换

(1) :%s/.*pattern/pattern/g : 将每行中内容为 *pattern 的内容替换为 pattern
(1) :1,5s/.*pattern/pattern/g : 将1到5行中的内容为 *pattern 的内容替换为 pattern

注:g替换出现的所有关键字,如果不加"g"只替换出现的第一个

删除

(1) :g/pattern/d : 将有关键词 pattern 的行删除
(2) :g/^$/d : 删除不包含任何空格的空行
(3) :g/^\s*$/d : 删除包含空格的空行
(4) :%g!/pattern/d : 删除不包含关键词pattern的所有行

字符匹配

(1) * : 匹配0到任意个任意字符
(1) ? : 匹配单个任意字符

总结

以上命令会持续补充,可以说“条条大路通罗马”,为完成一个任务可能不止一种方法,有好的方法可以完成相同的任务也欢迎大家提出宝贵的意见。

你可能感兴趣的:(Linux,vim,linux)