首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在vim中有没有办法跳转到某个字符出现次数一定的行?

在vim中,可以使用正则表达式结合搜索命令来实现跳转到某个字符出现次数一定的行。

首先,按下"Esc"键进入命令模式,然后输入以下命令:

代码语言:txt
复制
:g/pattern\%(\_.\{-}\)\{n}\%(\_.\{-}\)\@!

其中,将"pattern"替换为你要搜索的字符或字符串,将"n"替换为字符出现的次数。

解释一下这个命令的含义:

  • :g/ 表示对整个文件进行全局搜索。
  • pattern 是你要搜索的字符或字符串。
  • \%(\_.\{-}\)\{n} 表示匹配任意字符的非贪婪模式,重复出现n次。
  • \%(\_.\{-}\)\@! 表示匹配不包含指定字符的行。

例如,如果要跳转到字符"abc"出现3次的行,可以使用以下命令:

代码语言:txt
复制
:g/abc\%(\_.\{-}\)\{3}\%(\_.\{-}\)\@!

这样,vim会自动跳转到第一个匹配的行。

请注意,这个命令只会跳转到第一个匹配的行,如果想要跳转到下一个匹配的行,可以重复按下"n"键。

关于vim的更多使用技巧和命令,可以参考腾讯云的产品介绍链接地址:vim产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# 计算某个字符字符串中出现次数

C# 计算某个字符字符串中出现次数,可以应用于计算关键词密度,判断URL目录层级深度。1....使用可枚举 Enumerable.Count() 方法,引用空间 (System.Linq)推荐解决方案是使用System.LinqCount()方法来计算字符串中给定字符出现次数。...使用字符 String.Split() 方法这是使用指定字符字符串拆分为数组String.Split()方法,通过字符串数组Length属性来确定计数。...使用 foreach 循环我们也可以为这个简单任务编写自己逻辑。其思想是使用foreach循环对字符串中字符进行迭代,并保持匹配字符计数。...使用 Regex.Matches() 方法正则表达式Regex.Matches()方法用于搜索指定正则表达式所有匹配项指定输入字符串。我们可以使用它来计算字符串中字符出现次数

4.5K80

IDEA + Vim,竟可以这么牛逼!!

gg -从光标位置到文件开头 G -从光标位置到文件结尾 % -从光标位置到另一边匹配括号 f -从光标位置到光标右边某个字符首次出现位置,包括该字符 F -从光标位置到光标左边某个字符首次出现位置...,包括该字符 t -从光标位置到光标右边某个字符首次出现位置,包括该字符 F -从光标位置到光标左边某个字符首次出现位置,包括该字符 /正则表达式-从光标位置到下一个匹配正则表达式位置...H跳转到屏幕顶端(如果设置了set so=n,则跳转到第n) L跳转到屏幕底端(如果设置了set so=n,则跳转到倒数第n) M跳转到屏幕中间 f或F跳转到本行某个字符,小写f向右查找,大写F向左查找...跳到此位置(t为上述任意字符). 12书签 普通模式下按m即可定义书签,按`则可跳转到某个书签精确位置,按'可跳转到某个书签所在行首(用来录制宏时比较有用)。...录制一些长期有效宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到末或某个特定起始位置(比如说用F"跳转到字符左边引号),再用一个f或/指令跳转到操作位置,这样宏就不用必须把光标放在某个特定字符才能使用了

2.6K10

linux下vim命令详解

高级一些编辑器,都会包含宏功能,vim当然不能缺少了,vim中使用宏是非常方便: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x 播放记录在x寄存器中宏命令...这个文本批处理中是非常有用。 同时编辑多个文件 vim众多插件中,有一个叫minibuffer插件,就是下面所说标签页功能了,可以支持同时编辑多个文件。...移动光标 vim中移动光标跟其他编辑器中有很大区别,不过一旦学会了,就会飞速文本中移动了。...,长 0 至行首,不管有无缩进,就是跳到第0个字符 ^ 至行首第一个字符 $ 至行尾 gg 至文件第一 gd 至当前光标所在变量声明处 [N...]G 跳到第N,如0G,就等价于gg,100G就是第100 fx 在当前行中找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复输入fx tx 与fx类似,但是只是跳转到

2.5K30

Mac之vim普通命令使用

Mac之vim普通命令使用 https://www.cnblogs.com/muchu/p/6492824.html 高级一些编辑器,都会包含宏功能,vim当然不能缺少了,vim中使用宏是非常方便...这个文本批处理中是非常有用。 同时编辑多个文件 vim众多插件中,有一个叫minibuffer插件,就是下面所说标签页功能了,可以支持同时编辑多个文件。...移动光标 vim中移动光标跟其他编辑器中有很大区别,不过一旦学会了,就会飞速文本中移动了。...,长 0 至行首,不管有无缩进,就是跳到第0个字符 ^ 至行首第一个字符 $ 至行尾 gg 至文件第一 gd 至当前光标所在变量声明处 [N...]G 跳到第N,如0G,就等价于gg,100G就是第100 fx 在当前行中找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复输入fx tx 与fx类似,但是只是跳转到

6.2K30

vim基础命令,查找和替换

:set nu //显示行号 :set nonu //取消显示行号 n+ //向下n n- //向上n nG //跳到行号为n G...//至文件底部 g //跳转到文件头部 (插入模式)编辑模式 以下按键进入编辑插入模式 a //在当前光标位置右边添加文本 i //在当前光标位置左边添加文本...A //在当前行末尾位置添加文本 I //在当前行开始处添加文本(非空字符首) O //在当前行上面新建一 o //在当前行下面新建一 R //...替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一为一(依然命令模式) ESC可以退出编辑模式 (命令模式)删除和复制 vim中, 除了在编辑模式下修改文件,命令模式时候可以删除和复制...keyword //向光标上搜索keyword字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作 *(#) //当光标停留在某个单词上时

2.8K20

Mac之vim普通命令使用「建议收藏」

高级一些编辑器,都会包括宏功能,vim当然不能缺少了,vim中使用宏是很方便: :qx 開始记录宏。...这个文本批处理中是很实用。 同一时候编辑多个文件 vim众多插件中。有一个叫minibuffer插件。就是以下所说标签页功能了,能够支持同一时候编辑多个文件。...移动光标 vim中移动光标跟其它编辑器中有非常大差别,只是一旦学会了,就会飞速文本中移动了。 h,j,k,l     左,下。上。...就是跳到第0个字符 ^     至行首第一个字符 $     至行尾 gg     至文件第一 gd     至当前光标所在变量声明处 [N]G     跳到第N。...a `a     跳转到标签a处 编辑 r     替换一个字符 J     将下一和当前行连接为一 cc     删除当前行并进入编辑模式 cw     删除当前字,并进入编辑模式 c$

2.1K31

请马上卸载Notepad++,事实已证明,它可以……

Ctrl + Enter 在当前行下面新增一然后至该行;Ctrl + Shift + Enter 在当前行上面增加一至该行。...对于普通用户来说,常规关键字搜索就可以满足其需求:搜索框输入关键字后 Enter 至关键字当前光标的下一个位置, Shift + Enter 至上一个位置, Alt + Enter 选中其出现所有位置...# 跳转到符号 尽管是一个文本编辑器,Sublime Text 能够对代码符号进行一定程度索引。...# 跳转到某行 Ctrl + G 然后输入行号以跳转到指定: # 组合跳转 Ctrl + P 匹配到文件后,我们可以进行后续输入以跳转到更精确位置: 1.@ 符号跳转:输入 @symbol...:12 跳转到文件第12

1.9K10

卸载 Notepad++!事实已证明,它更牛逼…

Ctrl + Enter 在当前行下面新增一然后至该行;Ctrl + Shift + Enter 在当前行上面增加一至该行。...对于普通用户来说,常规关键字搜索就可以满足其需求:搜索框输入关键字后 Enter 至关键字当前光标的下一个位置, Shift + Enter 至上一个位置, Alt + Enter 选中其出现所有位置...# 跳转到符号 尽管是一个文本编辑器,Sublime Text 能够对代码符号进行一定程度索引。...# 跳转到某行 Ctrl + G 然后输入行号以跳转到指定: # 组合跳转 Ctrl + P 匹配到文件后,我们可以进行后续输入以跳转到更精确位置: 1.@ 符号跳转:输入 @symbol 跳转到...:12 跳转到文件第12

1.2K30

超全Vim常用快捷键,建议收藏备用!

B 跳到上一个字,长 0 至行首,不管有无缩进,就是跳到第0个字符 ^ 至行首第一个字符 $ 至行尾 gg 至文首 G 调至文尾 5gg/5G 调至第5 gd 至当前光标所在变量声明处...删除一个字(word) d/D 删除到末 x 删除当前字符 X 删除前一个字符 yy 复制一 yw 复制一个字 y/Y 复制到末 p 粘贴粘贴板内容到当前行下面 P 粘贴粘贴板内容到当前行上面...l 跳转到右边窗口 ctrl-w t 跳转到最顶上窗口 ctrl-w b 跳转到最底下窗口 八、多标签编辑 :tabedit file 新标签中打开文件file :tab split file...tab 5gt 跳到第五个tab 九、执行shell命令 命令模式下输入":sh",可以运行相当于字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器 可以"!...,只要执行gg=G就能搞定 十二、如何在vim中编译程序 vim中可以完成make,而且可以将编译结果也显示vim里,先执行 :copen 命令,将结果输出窗口打开,然后执行 :make 编译后结果就显示

18.8K21

Vim常用快捷键

跳到上一个字 B 跳到上一个字,长 0 至行首,不管有无缩进,就是跳到第0个字符 ^ 至行首第一个字符 $ 至行尾 gg 至文首 G 调至文尾 5gg/5G 调至第5 gd 至当前光标所在变量声明处...删除一个字(word) d/D 删除到末 x 删除当前字符 X 删除前一个字符 yy 复制一 yw 复制一个字 y/Y 复制到末 p 粘贴粘贴板内容到当前行下面 P 粘贴粘贴板内容到当前行上面...l 跳转到右边窗口 ctrl-w t 跳转到最顶上窗口 ctrl-w b 跳转到最底下窗口 八、多标签编辑 :tabedit file 新标签中打开文件file :tab split file...tab 5gt 跳到第五个tab 九、执行shell命令 命令模式下输入":sh",可以运行相当于字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器 可以"!...,只要执行gg=G就能搞定 十二、如何在vim中编译程序 vim中可以完成make,而且可以将编译结果也显示vim里,先执行 :copen 命令,将结果输出窗口打开,然后执行 :make 编译后结果就显示

1.7K00

VIM常用快捷键(转载)

如end-of-line被认为是一个字 e 跳到下一个字尾 E 跳到下一个字尾,长 b 跳到上一个字 B 跳到上一个字,长 0 至行首,不管有无缩进,就是跳到第0个字符 ^ 至行首第一个字符...$ 至行尾 gg 至文首 G 调至文尾 5gg/5G 调至第5 gd 至当前光标所在变量声明处 fx 在当前行中找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复输入fx * 查找光标所在处单词...l 跳转到右边窗口 ctrl-w t 跳转到最顶上窗口 ctrl-w b 跳转到最底下窗口 多标签编辑 :tabedit file 新标签中打开文件file :tab split file 新标签中打开文件...":sh",可以运行相当于字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器 可以"!...gg=G就能搞定 如何在vim中编译程序 vim中可以完成make,而且可以将编译结果也显示vim里,先执行 :copen 命令,将结果输出窗口打开,然后执行 :make 编译后结果就显示

1.7K20

Linux —vim 编辑器

和unix上最基本文本编辑器,工作字符模式下。...由于不需要图形界面,vi是效率很高文本编辑器。尽管linux上也有很多图形界面的编辑器可用,但vi系统和服务器管理中功能是那些图形编辑器所无法比拟。...vi命令几乎都可以vim上使用。 2、vi/vim使用详解 2.1 vi/vim特点 •vi/vim是一种纯文本编辑器,它不像word可以排版,可以调整字体大小,可以改变字体等等。...#个单词词首 #e:以当前光标为起点至第#个单词词尾 #b:以当前光标为起点至第#个单词词首 行内跳转 0:数字0,跳转到绝对首...^:跳转到第一个非空白字符 $:跳转到绝对行尾 行间跳转 gg:跳转到第一 G:跳转到最后一 #gg:跳转到第#

5.1K20

Linux生产环境上,最常用一套“vim“技巧

转到第100 不建议插入模式下进行光标移动,这很低效 复制:y yy 复制一10yy 向下复制10yw 复制光标开始一个单词y$ 复制光标到行尾yfB复制光标到第一个大写B中间内容y2fB...dd 删除一200dd 删除200dw 删除一个单词 (最喜欢啦)df” 删除到出现第一个双引号 粘贴: p p 粘贴复制或剪切内容3p 将复制或剪切内容粘贴三次 可视化模式 v 模式,选择一些内容...查找字符串 同样,正则知识也可以应用* 普通模式下,按下/直接进入查找,输入相应字符串按确定即可。...n 查找下一个匹配N 查找上一个匹配2n 查找下面第二个匹配 如果觉得跳来去晕头转向,可以命令模式下输入set nu开启行号。 宏录制 这可以说是vim一个杀手锏了。拿上面的例子来说。...r 替换字符ggVG 全选u 恢复更改J 合并下一gU 光标处转大写ggguG 整篇文章大写转化为小写% 跳转到下一个匹配,如在上按%,则跳转到相应:e /tmp/a 同一个编辑器内打开

1.3K20

Linux下强大编辑器Vim使用『技巧』

G 快速到文件尾 100G 跳转到第100 不建议插入模式下进行光标移动,这很低效 复制:y yy 复制一 10yy 向下复制10 yw 复制光标开始一个单词 y$ 复制光标到行尾 yfB 复制光标到第一个大写...,按p即可粘贴到其他地方 dd 删除一 200dd 删除200 dw 删除一个单词 (最喜欢啦) df" 删除到出现第一个双引号 粘贴: p p 粘贴复制或剪切内容 3p 将复制或剪切内容粘贴三次...查找字符串 同样,正则知识也可以应用* 普通模式下,按下/直接进入查找,输入相应字符串按确定即可。...n 查找下一个匹配 N 查找上一个匹配 2n 查找下面第二个匹配 如果觉得跳来去晕头转向,可以命令模式下输入set nu开启行号 宏录制 这可以说是vim一个杀手锏了。拿上面的例子来说。...方面的进行批量操作 其他 另外用一些比较少主要功能有 r 替换字符 ggVG 全选 u 恢复更改 J 合并下一 gU 光标处转大写 ggguG 整篇文章大写转化为小写 % 跳转到下一个匹配,如在<

1.4K40

python中ideavim有什么作用_IdeaVim插件施用技巧

gg – 从光标位置到文件开头G – 从光标位置到文件结尾% – 从光标位置到另一边匹配括号f – 从光标位置到光标右边某个字符首次出现位置,包括该字符F – 从光标位置到光标左边某个字符首次出现位置...,包括该字符t – 从光标位置到光标右边某个字符首次出现位置,包括该字符F – 从光标位置到光标左边某个字符首次出现位置,包括该字符/正则表达式 – 从光标位置到下一个匹配正则表达式位置(跨行)?...(如果设置了set so=n,则跳转到倒数第n)M  跳转到屏幕中间f 或 F 跳转到本行某个字符,小写f向右查找,大写F向左查找。...(结合前面第5点,你也许注意到了,指定范围时,使用跳转命令将指定一个从光标位置到跳转目标的区域)12 书签在普通模式下按 m 即可定义书签,按 ` 则可跳转到某个书签精确位置,按 ‘可跳转到某个书签所在行首...录制一些长期有效宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到末或某个特定起始位置(比如说用 F” 跳转到字符左边引号),再用一个f或/指令跳转到操作位置,这样宏就不用必须把光标放在某个特定字符才能使用了

1.4K30

说实话,Intellij IDEA 自带 Vim 插件真心不错。。。

gg - 从光标位置到文件开头 G - 从光标位置到文件结尾 % - 从光标位置到另一边匹配括号 f - 从光标位置到光标右边某个字符首次出现位置,包括该字符 F - 从光标位置到光标左边某个字符首次出现位置...,包括该字符 t - 从光标位置到光标右边某个字符首次出现位置,包括该字符 F - 从光标位置到光标左边某个字符首次出现位置,包括该字符 /正则表达式 - 从光标位置到下一个匹配正则表达式位置...n) L 跳转到屏幕底端(如果设置了set so=n,则跳转到倒数第n) M 跳转到屏幕中间 f 或 F 跳转到本行某个字符,小写f向右查找,大写F向左查找。...,按 ‘可跳转到某个书签所在行首(用来录制宏时比较有用)。...录制一些长期有效宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到末或某个特定起始位置(比如说用 F” 跳转到字符左边引号),再用一个f或/指令跳转到操作位置,这样宏就不用必须把光标放在某个特定字符才能使用了

12.5K42

用了VS Code、IDEA等十几款编辑器后,我总结出优秀编辑器特质

接着使用 vim典型动作,例如$(转到行尾)、f(转到 f 之后键入下一个字符第一个匹配项,例如f(将使光标移至下一个 (上)、%(转到匹配定界符)或w(转到下一个单词开头)/b(转到上一个单词开头...它有几种模式,具体取决于你要执行移动类型: 按:此模式允许你至当前(或所有打开)缓冲区中任何。 按单词:此模式允许你跳转到当前(或所有打开)缓冲区中任何“单词”。...我的当前缓冲区中键入SPC l会发生: 键入任何高亮显示字符将使我光标至该字符。对于单词也是如此,命令是SPC w: 对于字符模式,输入 SPC c 后我必须按另一个字符(我想跳到字符)。...2 其他模态技巧 对模态编辑而言,以下是我希望编辑器具备功能列表,当然不止这些: C-i和C-o:这些使我可以跳转到缓冲区中某个文件 / 某个位置,然后返回到C-o之前我所在位置,或者输入C-i...所有基本 vim 移动方法,例如d(删除)、y(复制)、c(更改),t(转到要搜索字符之前字符),%(转到另一个定界符),等等。

1.8K10
领券