vim 相关问题

Vim是一个免费的开源模式文本编辑器,可用于大多数主要平台。它允许在许多文本编辑任务中高效,但具有陡峭的学习曲线。要学习基础知识,请运行“:help vimtutor”。

删除除多行模式之外的所有内容,其中结束被定义为第一行之后的 1 行

我希望删除所有与模式不匹配的内容 我尝试过的: 我对此正则表达式模式进行斜杠前向搜索: \d\+_.* .* 它匹配两对线: A 50 是 不允许

回答 2 投票 0

删除 Vim 中两个括号之间的所有内容,包括换行符

假设我有以下 python 数组文字: def f(): 到达 = [ 1、 2、 3 ] 我想删除括号中的所有内容,使其变成这样: 定义...

回答 5 投票 0

在 Vim 中删除第 n 次出现后的符号

我想在第七次出现后删除多行上的分号,可能如下所示: foo;10.10.10.10;/24;;NA;;;foo;酒吧; “富巴” 这意味着结果应该是这样的: foo;10.1...

回答 3 投票 0

gg 转到 vim 中的第 2 行

我正在尝试在 csv 文件上运行一系列命令;做一些替换,改变一些东西。我在vim中打开文件并使用so!文件与命令。但gg永远不会去t...

回答 1 投票 0

未找到 Vim 正则表达式替换模式

我想在 Vim 上执行正则表达式替换,命令如下: :%s/\s\s(\w)(.*):\s(.*,)/const get\U$1\L$2 = 状态 => $3/g 问题是,它说图案不是

回答 2 投票 0

在 vim 拆分窗格之间导航的更简单方法

我在 vim 上使用 NERDTree,通常用 i 打开文件 有没有一种简单的方法可以在不同的窗格之间切换?目前我使用 CTRL+W+W 从一个窗格移动到另一个窗格。

回答 8 投票 0

Vim 删除从字符开始到行尾

我正在尝试想出一些方法来删除从给定字符开始到行尾的所有文本。 例如。在下面的示例中,我只想保留 IP 地址: 192.168.2.121/32-m co...

vim
回答 8 投票 0

删除除模式和下一行 vim 之外的所有内容

尝试找出如何使用正则表达式功能从 vim 中删除除模式之外的所有内容。 具体来说,我正在尝试删除除“美国”行以及行

回答 2 投票 0

在vim中删除直到当前括号块结束

假设我正在编辑这个json { "a": {"语言": "python"}, “b”:{}, “c”:{“语言”:“java”}, “d”:{“编码”:“utf-16”} } 我的光标位于“b”的 b 处:{}。我想删除直到

回答 3 投票 0

替换vim中除括号部分之外的所有字符串

我有一段文字如下。 猫 狗 大象 猫 (1) 斑马(1) 雪豹 鲨鱼(其他) 动物(嗨)(2) 我想按如下方式替换它们。 [[猫]] [[狗]] [[大象]] [[猫]] (1) [[斑马]](1...

回答 3 投票 0

追加到 vim 中匹配正则表达式的行

我有一个 json 文件,我使用 vim 运行了查找和替换,但是我忘记了行末尾的 , 。 ... “ID”:41483 "someName":"someValue", ... 使用 vim,如何在每一行添加 ,

回答 3 投票 0

尝试使用快速修复列表在 Neovim 中导航 git 显示 — :vimgrep /^@@ ~/temp.git.log —“E682 无效搜索模式或分隔符”

我的 $HOME 中有文件 tmp.git.log: 提交 07f5bbb6a3a112f7b601d6cd1f72ec3f20112920 作者:我 日期:2024年 一些 科米特 消息 diff --git 路径/文件.end 索引 e969a7691b..0bf5...

回答 1 投票 0

从系统剪贴板粘贴样式文本

在 vim 中,人们如何从系统剪贴板粘贴样式文本而不是纯文本? 例如,从网络浏览器复制并粘贴到文字处理器通常会导致...

回答 4 投票 0

Linux vi 箭头键在插入模式下损坏

我的箭头键在家里的插入模式下的 vi 中不起作用,它们只是插入一个换行符和一个大写字母,例如“A”。有办法解决吗?

回答 13 投票 0

VIM:如何使用正则表达式根据括号类型重新格式化列表?

我正在尝试使用正则表达式在 VIM 中编写一个粗略的代码格式化程序,通常一切顺利,但我陷入了这个问题:如何仅重新格式化列表,并且如果它位于某种类型的内部。 .

回答 2 投票 0

使用VI搜索和替换如何替换最后两组单引号内的文本?

我有很多这样的台词: { id:22, 姓名: 'Alice', 得分: 123, 城市: '亚特兰大', 生日: '1981/12/03'}, 我想使用 VI(确切地说是 gvim)搜索并替换并清空最后两组...

回答 4 投票 0

如何让 vim 中的匹配不贪婪?

我有一个很大的 HTML 文件,其中有很多标记,如下所示: ... 我有一个很大的 HTML 文件,其中有很多标记,如下所示: <p class="MsoNormal" style="margin: 0in 0in 0pt;"> <span style="font-size: small; font-family: Times New Roman;">stuff here</span> </p> 我正在尝试进行 Vim 搜索和替换以摆脱所有 class="" 和 style="" 但我无法使匹配变得不贪婪。 我的第一次尝试是这样的 %s/style=".*?"//g 但 Vim 似乎不喜欢 ?。不幸的是,删除 ? 会使匹配变得过于贪婪。 如何让我的匹配变得不贪婪? 不要使用 .*,而是使用 .\{-}。 %s/style=".\{-}"//g 另外,请参阅:help non-greedy vim 中的非贪婪搜索是使用 {-} 运算符完成的。像这样: %s/style=".\{-}"//g 尝试一下: :help non-greedy 有什么问题 %s/style="[^"]*"//g 如果您更熟悉 PCRE 正则表达式语法,那么 支持非贪婪运算符?,正如您在OP中所问的那样;和 不需要反向分组和基数运算符(这是完全违反直觉的 vim 语法要求,因为您不是匹配文字字符而是指定运算符);和 你已经用perl功能编译了[g]vim,使用测试 :验证并检查功能;如果有 +perl 就可以了) 尝试使用进行搜索/替换 :perldo s/// 示例。交换 img 标签中的 src 和 alt 属性: <p class="logo"><a href="/"><img src="/caminoglobal_en/includes/themes/camino/images/header_logo.png" alt=""></a></p> :perldo s/(src=".*?")\s+(alt=".*?")/$2 $1/ <p class="logo"><a href="/"><img alt="" src="/caminoglobal_en/includes/themes/camino/images/header_logo.png"></a></p> 我发现此类问题的一个很好的解决方案是: :%!sed ... (如果您愿意,也可以使用 Perl)。 IOW,与其学习 vim 的正则表达式特性,不如使用您已经知道的工具。使用 perl 会使 ?修饰符可以使匹配变得不贪婪。 与\v(根据几条评论中的建议) :%s/\v(style|class)\=".{-}"//g 插件 eregex.vim 处理 Perl 风格的非贪婪运算符 *? 和 +? 你好, Vim 的正则表达式处理并不是太出色。我发现 sed 的正则表达式语法与 vim 的功能非常匹配。 我通常将搜索突出显示设置为(:set hlsearch),然后在输入斜杠进入搜索模式后使用正则表达式。 编辑:马克,Dale Dougherty 的优秀著作“Sed & Awk”(已清理的亚马逊链接)中也介绍了最小化贪婪匹配的技巧。 第三章“理解正则表达式语法”很好地介绍了 sed 和 awk 涉及的更原始的正则表达式功能。仅简短阅读,强烈推荐。 HTH 干杯,

回答 8 投票 0

为什么将 ESC 键映射到清除文本突出显示的 Vim 映射会在 Vim 中导致奇怪的行为?

背景: 我正在使用 Vim 的终端版本。我发现本指南提到了一种使用 ESC 键清除先前正则表达式搜索中突出显示的文本的方法。 放上映射图...

回答 1 投票 0

删除图案以外的任何内容(版本 2)

嗨:我有一个已经被问过的问题的后续问题。较早的一个已在下面的链接中处理 删除除图案以外的任何内容 在那篇文章中,问题是删除所有内容

回答 1 投票 0

使用 Vim 的列编辑模式将一些文本粘贴到另一个文本的右侧

我一般不使用Vim的列编辑模式。 但我很好奇我是否能做到这一点。 假设我有这样的文件。 KE987ICN 首尔/仁川(仁川) 2021年5月30日(星期二) 13:20 (本地

vim
回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.