vim快捷键命令大全(vim与正则表达式)

:暂无数据 2026-08-25 07:00:01 :0

vim快捷键命令大全(vim与正则表达式)

本篇文章给大家谈谈vim快捷键命令大全,以及vim与正则表达式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

vim与正则表达式

纯文本文件 :由ASCII, Unicode 或其它编码的纯文字的文件

文本文件工具:

vi ——Visual editor,文本器

vim ——VIsual editor iMproved ,和vi 使用方法一致, 但功能更为强大

vim分很多种工作模式,操作之前 首先明确当前处于哪个模式

首要快捷键:模式之间相互切换

说明:

打开vim默认进入命令模式,所有按键操作在屏幕上不可见!!!

命令模式功能强大,只是 按键时看不到输入内容 ,所以需要大量的记忆才能更好的使用

ZZ 保存并退出

ZQ 不保存退出

字符间跳转:

单词间跳转:

句间移动:

段落间移动:

行间移动:

行首行尾跳转:

当前页跳转:

命令模式翻屏操作:

在命令模式下也能进行部分操作

y 复制,行为相似于d剪切

同理也可以结合光标跳转字符,实现范围操作

!!!应注意:单独按 d 或 y 是不起作用的

与 d 的功能完全一致,但是 完成操作后自动切换到插入模式

比如:

cc :即为删除本行并进入插入模式,cc=S

C:删除当前光标到行尾,并切换成插入模式,相当于c$

特别地: 范围操作

按“ : ”进入Ex模式 ,创建一个命令提示符: 处于底部的屏幕左侧

以行为基本单位

地址定界后跟一个命令,即可进行批量范围操作

特别地,s///也可以换为s@@@...等其他字符

以上所有设置的关闭方式相同:set noCMD

永久保存设置,保存在配置目录

用方向键和其他字符跳跃快捷键模拟鼠标选中操作
被选中的文字可被删除,复制,变更,过滤,搜索,替换等

进入此模式的快捷键:

单个文件切割后 相当于两个窗口同时显示同一个文件

寄存器即为 多个剪贴板

有26个 字母命名 寄存器和1个 无命 名寄存器,常存放不同的剪贴版内容, 可以不同会话间共享

未指定,将使用无命名寄存器, 即为普通的复制粘贴操作

还有10个 数字寄存器 ,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容
当新的文本变更和删除时,1转存到2,2转存到3,以此类推

数字寄存器不能在不同会话间共享

作用是标记书签

输入ma :将当前位置标记为a
输入 ’a 跳转到a标记的位置

26个字母均可做标记, mb 、 mc 等等

qa 录制宏 a,a为宏的名称
q 停止录制宏
@a 执行宏 a
@@ 重新执行上次执行的宏

录制宏 是录制位置还是录制一系列操作???

涉及 xxd 命令

1、在vim中设置tab缩进为4个字符

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

3、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行 的行首的#号

cat 可以查看文本内容

特别地,若无指定文件 或文件名为 - ,表示从标准输入接收信息

Windows中的文本文件与Linux中格式有所不同

对于一些类似换行、Tab...等不可见字符,可使用 -A 选项进行显示

两种逆向显示:

文本 篇幅较大 时,用cat查看不太方便,此时应使用more命令

使用more命令查看, 移动到最后一行时自动退出

为了反复查看文件,可使用less命令 (less终端内 不显示进度百分比 )

与管道配合使用

若已知输出结果会是大篇幅内容,可提前用管道连接more或less

大篇幅文件,若 只需要查看前几行 ,可使用head命令

不指定行数,head默认输出前10行

特别地,行数为负数时,如head -n -5 表示 去除最后5行

与之相反,tail命令则表示 显示文件指定的最后几行

不指定默认输出最后10行 ,同样也支持 -c 字节数

特别地, tail命令行数前使用 + 号 ,如 -n +3 表示 从第3行往后全部输出

@@tail实用功能( -f 选项):持续监测文件是否有追加内容

cut 命令 以指定分隔符 对文本文件或STDIN数据的 每行内容进行切割

默认分隔符为TAB

三种类似功能:指定 字节b/字符c/字段f 序号或范围

不常用功能:-b 、 -c

-nb的作用:防止切割多字节字符(可认为等效于-c)

#已知每个汉字大小为3byte!!!

常用功能:-f(需要先用-d指定分隔符,不指定则为tab)

其他功能: 在输出结果中指定需要显示的分隔符

其他功能: 取反 complement

默认以行为单位 ,合并多个文件同行号的列到一行

合并文件的 拼接处默认以TAB分隔

对指定文本文件或STDIN的 各项指标进行统计

包括:文件的行总数、单词总数、字节总数和字符总数

不加选项时默认统计前三项

应用举例:

对文件的所有 行进行排序

默认:数字在字母之前、字母排序不分大小写

以行为单位去除重复内容(只去除连续重复行)

对比分析两个普通文件的不同之处 (命令cmp比较两个 二进制文件 的区别)

选项 -y可以并排对比 -W指定并排的间距

选项 -u 用来输出统一的(unified)diif格式文件 (适合用于补丁文件)

patch命令 :利用diff比较结果输出的内容进行 还原

cmp命令 :比较二进制程序的源码不同之处

排除过滤 - v :

grep默认只显示符合条件的行,- v 选项 只显示不符合条件的内容

**忽略大小写- i **:gerp默认大小写敏感,- i 选项忽略大小写

显示行号 -n :文本过多时,显示行号方便查看
(显示
匹配结果在原文中的行号)

**显示行数量 - c **, 只显示有多少行符合条件

- o 只显示keywords :- o 只显示所有匹配的内容,可知 keywords数量

静默模式:- q 选项 执行命令但不输出结果,常用于脚本条件判断

ABC匹配结果附带前后行一起输出

选项 - e 多个条件满足其一 ( 几个条件就有几次 - e )
特别地, - E 表示使用扩展正则表达式

选项 - w 匹配单个单词
单词判断依据——字母数字下划线连续组合都视为单词
单词判断依据——字母数字下划线连续组合都视为单词
单词判断依据——字母数字下划线连续组合都视为单词

正则表达式把字符和次数分开表达
正则表达式把字符和次数分开表达
正则表达式把字符和次数分开表达
正则表达式把字符和次数分开表达

基本格式为 引号 括起来:

正则表达式的 元字符按功能分四类 ,下面分别介绍

指定某个内容出现的具体次数(keyword写在前)
只匹配前一个紧挨着的字符!!!!! !!!!!!!!!!!!!

在指定位置搜索 字符串

分组:将多个字符 作为整体 来进行处理

普通分组用法:

后向引用: 使用分组之后,后续再次引用只需要 使用 \1、\2 等表示第一个、第二个分组
最适合用于vim搜索替换(形如 r..t 替换成 r..ter 的情况)

逻辑 或
除了使用选项 - e 还有符号 \| (其中\用来转义)

为了在复杂规则中更加直观, 省略了转义符 \

Linux里面vi编辑器向右移动一个字符快捷键是什么

Vim继承自Vi,这种最基础的命令都是一样的。

向右移动一个光标的快捷键是j;如果是向右移动一个光标,并进行的快捷键是a。

Vim的移动

Vim的

Vim帮助手册


参考资料:《Vim8文本处理实战》、Vim帮助手册

vim 的快键键s 是啥意思,如何输入呢

题主你好,

像 《X-y》 这种写法, 表示这是一个按键组合,

    其中X是功能键(如C表示Ctrl键, A表示Alt键, S表示Shift键)

            y就是相应按键本身

因此 《C-w》 说白了就是同时按下   Ctrl键 和 字母w          //外层的《》其实就是想表达这是一个组合键

-----

而像题主问题中描述的《X-y》z这种格式, 比上面说的《X-y》组合键又多了个z,这个位置的z表示的就是按键本身, 举例来说更好理解一些:

 《C-w》s   你实际操作时: 先按下Ctrl键别松开,再按下w键别松开,再按下s键后所有的手都松开     //我其实不愿这么写, 因为这样描述不好去理解,但你上手可以立马看出效果,最后我会换一种描述

写在最后: 其实题主可以把《X-y》z 这种形式的按键理解为两个组合:

《X-y》是一个组合, 我们用大写的A来替代,  Az又是一个组合. 而理解的时候,题主可以将《X-y》理解为这是一个实现某类功能的开关, 这类功能可能有好多, 但具体要用哪一个再通过最后的那个z去控制. 拿题主的《C-w》s来说, 你可以这样去理解, 同时按住 Ctrl键和w键是触发分屏的开关, 但分屏你可以水平分也可以垂直分,具体要怎么分呢? 如果我要水平分,则按下s键, 如果要垂直分,则按下v键.

此时再说一下《C-w》s的按键过程: 首先先同时 按下Ctrl键和w键 触发分屏功能, 然后点击s键明触告知vim我要水平划分(s键按下后就可松开), 最后再松开Ctrl键和w键. //写的比较繁索, 题主实际按照这个逻辑操作一下, 感觉应该会更好一些, 等玩熟了, 再操作的时候就会成浅意识里面的东西了.

-----

希望可以帮到题主, 欢迎追问.

   

vim在.vimrc里配置快捷键

在vim的使用中很多时候都要按好几个键来实现一个功能,其实我们可以通过设置一些快捷键来加快效率。

我们先设置一个前缀键。前缀键是 vim 使用率较高的一个键(最高的当属 Esc),选一个最方便输入的键作为前缀键,将有助于提高效率。找个无须眼睛查找、无须移动手指的键 —— 分号键,挺方便的,就在你右手小指处:

let mapleader=";"
用Esc退出插入模式很麻烦,可以将另外的键映射到这个键上,比如将Ctrl-i映射为Esc:

:imap 《C-I》 《Esc》
在插入模式,设置ctrl+\为保存并推出文件退出文件 :

:map! 《C-\》 《ESC》:wq《CR》
《Esc》代表Escape键:《CR》代表Enter键;《D》代表Command键。
Alt键可以使用《M-key》或《A-key》来表示。《C》代表Ctrl.
对于组合键,可以用《C-Esc》代表Ctrl-Esc;使用《S-F1》表示Shift-F1.

下面是一些命令什么时候能使用的表格

vim f和t的快捷方式



上面的命令都是行间移动(除h, l外),也就是从当前行移动到另外一行。如果我们想在当前行内快速移动,可以使用f, t, F, T命令。

"f"命令移动到光标右边的指定字符上,例如,"fx",会把移动到光标右边的第一个’x’字符上。"F"命令则反方向查找,也就是移动到光标左边的指定字符上。

"t"命令和"f"命令的区别在于,它移动到光标右边的指定字符之前。例如,"tx"会移动到光标右边第一个’x’字符的前面。"T"命令是"t"命令的反向版本,它移动到光标左边的指定字符之后。

这四个命令只在当前行中移动光标,光标不会跨越回车换行符。

可以在命令前面使用数字,表示倍数。例如,"3fx"表示移动到光标右边的第3个’x’字符上。

";"命令重复前一次输入的f, t, F, T命令,而","命令会反方向重复前一次输入的f, t, F, T命令。这两个命令前也可以使用数字来表示倍数。

vim的三种模式

vim的三种模式如下:
1、命令模式:在该模式下是不能对文件直接,可以输入快捷键进行一些操作如:删除行,复制行,移动光标,粘贴等等。
2、模式:在该模式下可以对文件的内容进行。
3、末行模式:可以在末行输入命令来对文件进行操作如搜索、替换、保存、退出、撤销、高亮等等。

VIM 在Windows环境下的Ctrl+v系列快捷键

td;dr
Windows环境下的VIM在启动时加载了一个针对其特殊配置的Script mswin.vim ,对Ctrl+v等Windows熟知的命令映射到VIM上,实现其在系统上本身的功能。这就导致了VIM本身的Ctrl+v的列选择功能被屏蔽了。
解决方法有两个:

使用 :scriptnames 命令查看启动加载的所有script,会发现一个$VIMRUNTIME\mswin.vim文件,该文件就是用于在Windows环境下做一些对应的调整。

其中如下部分对Ctrl系列的快捷键做了映射调整:

"+ 指的是系统的剪贴板
gP 命令即是粘贴命令

参考URL:
1. gvim 使用Ctrl+V
2. VIM Ctrl-V Conflict with Windows Paste

tmux和vim很配哦:使用vim风格的快捷键

tmux默认使用emacs模式的快捷键,这对我们使用vim的用户其实很不友好,而且我们认为tmux和vim才是真正的cp。另外,tmux窗口跳转的快捷键也很不优雅,我也会将这些改造成vim风格。二话不说,开始tmux大改造。

打开tmux配置文件,如果没有就创建一个:

添加下面的配置:

现在你就可以在tmux的copy-mode下使用vim的快捷键来操作了,下面就来试一下吧!

虽然指令前缀加方向键可以切换面板,但方向键太远,不够快,不够Geek。没关系,我们可以将面板切换升级为熟悉的h、j、k、l键位。

-r表示可重复按键,大概500ms之内,重复的h、j、k、l按键都将有效,完美支持了快速切换的Geek需求。
除了上下左右外, 还有几个快捷指令可以设置。

关于vim快捷键命令大全,vim与正则表达式的介绍到此结束,希望对大家有所帮助。

vim快捷键命令大全(vim与正则表达式)

本文编辑:admin

更多文章:


mariadb忘记密码(mysql用户密码忘记了怎么办)

mariadb忘记密码(mysql用户密码忘记了怎么办)

大家好,mariadb忘记密码相信很多的网友都不是很明白,包括mysql用户密码忘记了怎么办也是一样,不过没有关系,接下来就来为大家分享关于mariadb忘记密码和mysql用户密码忘记了怎么办的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月15日 07:50

mysql端口号(如何查看自己数据库的端口号)

mysql端口号(如何查看自己数据库的端口号)

“mysql端口号”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mysql端口号(如何查看自己数据库的端口号)!

2026年10月15日 06:30

printf打印16进制(C语言 十六进制怎么输出)

printf打印16进制(C语言 十六进制怎么输出)

大家好,今天小编来为大家解答以下的问题,关于printf打印16进制,C语言 十六进制怎么输出这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 06:00

avantage怎么设置为中文(Avantage安装丢失GIT)

avantage怎么设置为中文(Avantage安装丢失GIT)

大家好,如果您还对avantage怎么设置为中文不太了解,没有关系,今天就由本站为大家分享avantage怎么设置为中文的知识,包括Avantage安装丢失GIT的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 03:00

ospf协议的作用是什么(OSPF路由协议的作用是什么)

ospf协议的作用是什么(OSPF路由协议的作用是什么)

“ospf协议的作用是什么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ospf协议的作用是什么(OSPF路由协议的作用是什么)!

2026年10月15日 02:40

方案对比特效js(在一个网页中如何实现两个JS特效)

方案对比特效js(在一个网页中如何实现两个JS特效)

各位老铁们好,相信很多人对方案对比特效js都不是特别的了解,因此呢,今天就来为大家分享下关于方案对比特效js以及在一个网页中如何实现两个JS特效的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 02:10

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

今天给各位分享登陆视频监控网页时提示activex控件未注册,怎么解决的知识,其中也会对登陆视频监控网页时提示activex控件未注册,怎么解决进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:30

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

今天给各位分享用C语言编程学生信息管理系统!的知识,其中也会对用C语言编程学生信息管理系统!进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:20

excel连接sql数据库教程(excel怎么连接sql数据库)

excel连接sql数据库教程(excel怎么连接sql数据库)

本篇文章给大家谈谈excel连接sql数据库教程,以及excel怎么连接sql数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 19:40

null s brawl(null和空字符有区别吗)

null s brawl(null和空字符有区别吗)

今天给各位分享null和空字符有区别吗的知识,其中也会对null和空字符有区别吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 19:00

最近更新

可信验证系统(什么是可信云认证)
2026-10-15 10:00:23 浏览:0
广告推广app(常见的app推广方式)
2026-10-15 09:20:01 浏览:0
热刺vs马赛比赛(热刺赛程比分)
2026-10-15 09:10:01 浏览:0
热门文章

标签列表