vim - 在“替换”表达式中调用函数

2024-02-07

我知道你可以在 vim 搜索/替换操作中调用函数。例如:

%s/regex/\=localtime()/g

将用当前纪元时间替换任何匹配“正则表达式”的内容。问题是,我无法在“替换”表达式中添加任何其他内容。例如:

%s/regex/epoch: \=localtime()/g

不再将“localtime”视为函数。相反,它只是将“epoch: =localtime()”打印为替换文本中的字符串。其目的是打印“纪元:1353085984”。

有没有办法从替换表达式的任意部分调用函数?


一旦使用替换表达式,它必须是整个替换。您可以在表达式中使用字符串连接(并通过以下方式引用捕获的元素)submatch(1)代替\1), 像这样:

:%s/regex/\='epoch: ' . localtime()/g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vim - 在“替换”表达式中调用函数 的相关文章

  • 如何让 Vim 匹配不以七位数字开头的行?

    我有一个大约 1000 行的文件 除个别行外 所有行均以七位数字开头 我需要捕捉这些行并将它们与前一行实际连接起来 我已经成功地能够使用以下正则表达式模式匹配以七位数字开头的任何行 d 7 我似乎无法让它匹配任何一行不匹配不过 这种模式确实
  • 如何在 Vim 中创建行号和文本之间的边框

    我希望在行号右侧和文本左侧有一条细边框线 您可以使用不同的颜色来突出显示LineNr 例如 hi LineNr cterm bold ctermbg gray ctermfg black gui bold guibg gray guifg
  • Vim 扩展(通过 Python)?

    是否可以通过自定义扩展 最好用 Python 编写 来扩展 vim 功能 理想情况下 我需要的是在命令模式下的自定义命令 例如 ESC do this do that vim 支持 python 脚本 我认为也支持 perl 您只需确保您使
  • 在 Vim 中,选择、删除或注释掉大部分多屏幕文本的最佳方法是什么?

    在像 Eclipse 这样的 IDE 中选择延伸到多个屏幕的大量文本相当容易 因为您可以使用鼠标 但是最好的方法是什么 例如 选择并删除多屏幕文本块或写入例如三个大方法导出到另一个文件 然后在 Vim 中删除它们以进行测试 当通过 putt
  • 不将所需的文件包含到 vim 全方位补全中

    如果我尝试在具有 require xxx 语句的 Ruby 文件中自动完成 它会开始扫描所需的所有文件 以及所需文件所需的文件 它每次都会这样做 是否可以使 vim 自动完成功能不扫描所需文件或仅扫描特定路径中的文件 例如仅 app 以下之
  • Linux/Ubuntu 目录位置 ~/.vim/syntax/

    文件夹的默认位置在哪里 vim syntax 在Linux系统上 我正在尝试添加一个 Python 插件 您正在寻找 runtimepath 选项 该文档非常详细 使用 help runtimepath 但我会尝试在这里总结一下 The 运
  • Vim 和 snipMate(插件)- 添加新代码片段不起作用

    我正在尝试为我的 snipMate 插件创建一个新的片段 我使用一些名为 即 myfile endfile 的文件 所有 endfile 文件都应具有与 html 文件相同的 片段 所以我做了 cp html snippet endfile
  • 如何在Vim中正确显示UTF-8字符

    我想要 需要编辑包含 UTF 8 字符的文件 并且我想使用 Vim 在我被指责问以前问过的问题之前 我已经阅读了有关编码 文件编码 s 术语编码等的 Vim 文档 用 google 搜索了该主题 并阅读这个问题 https stackove
  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • 是否可以在没有 GUI 的情况下使用 Vim 的客户端服务器功能?

    我用 Homebrew OS X 编译了 Vim 如下所示 brew install vim with client server And the version请求确实证实了这一点 a gt usr local bin vim versi
  • gvim中的鼠标输入

    标准鼠标输入可以在 vim 中自定义吗 在我的例子中是 vim 插件也是可以接受的选择 我特别感兴趣的是 覆盖 双击某个单词 这样 gvim 就不仅仅是突出显示该单词 而是进行搜索 从而突出显示文件中该单词的所有实例 我在其他编辑器中看到过
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 使用 Vim 作为 HTML 编辑器

    您知道 Notepad 如何具有此功能 当您单击标签 例如 时 它也会自动突出显示结束标签 它叫什么 如何调整 Vim 使其也具有此功能 还有其他方法可以将 Vim 变成强大且高效的 HTML 编辑器吗 我在 vim 中完成所有 HTML
  • 在 vim 中设置文本宽度而不覆盖特定于文件类型的内容

    我希望 vim 中默认的文本宽度为 80 但如果特定文件类型有自己的文本宽度 特别是 gitcommit 其中 tw 72 我希望 vim 尊重该宽度 在我的 vimrc 中 我有以下行 set tw 80 我也尝试过 setlocal t
  • Vim 重复点(“.”)命令缓冲区?

    我真的很喜欢 YankRing 的行为 它让我可以访问我最近完成的几件事y固定或d已删除或c不假思索地被吊死了 然而 这样的补充功能对于 重复命令 最常见的是当我键入我真正想重复的内容时 然后按x清理一些东西 通常 可以通过视觉模式拉动我刚
  • vim 中的语法高亮

    当我在 vim 中打开语法颜色时 我无法在黑色上阅读深蓝色 如何更改一些默认颜色或模式颜色 例如 http www vim org scripts script php script id 1571 http www vim org scr
  • 在 Vim 中撤消光标移动

    假设我的光标位于下面的代码中 internal static SingleSelectList
  • 如何连接行并添加分隔符?

    命令J连接线 命令gJ连接线删除空格 是否还有连接行的命令 在行之间添加分隔符 Example Input text other text more text text 我想做的事 选择这4行 如果开始和 或 EOL 处有空格 请将其删除
  • VIM:使用 :normal 命令退出插入模式

    当我使用 normal 命令进入插入模式时 normal i 例如 如何退出插入模式 如果我按 或 VIM 会退出命令模式 并且我无法运行 normal 命令 I put imap
  • 如何成功使用 VIM 作为 Code::Blocks 的外部编辑器?

    我真的很喜欢 Code Blocks 的构建系统和单步调试能力 也就是说 我真的很喜欢使用 gcc gdb 的包装器 而不是从 Makefile 或命令行使用它们 问题是 多年来使用 VIM 使我的大脑受到了严重损伤 或者有些人可能会说被宠

随机推荐

  • UIScrollView 滚动时 loadHTMLString 不会触发

    我正在尝试延迟加载UIWebViews里面一个UIScrollView 每次用户滚动时 WebViews 框架都会更新 并且应该加载新内容 这正是我遇到麻烦的地方 重新定位效果很好 但新内容 本地NSStrings 这被称为使用loadHT
  • XML CDATA 内的 HTML 使用 < 和 > 括号进行转换

    我有一些示例 XML
  • HTML / CSS 文本上的弹出 div 单击 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I want to make popup div instead of popup window for my About picture
  • Unity 包含的 DLL 大小

    我正在研究 WebGL 项目 并且构建规模非常大 毕竟我在 Web 中建立了优化建议 我研究了构建日志 发现包含的 DLL 占用了构建大小的 85 以上 13 4 MB 空项目上的类似情况 你能帮我减少 DLL 内存吗 很难说你是否已经这样
  • VB.NET Lambda 表达式

    如果我有 Visual Studio 2008 并且我的目标是 NET 2 0 应用程序 我仍然可以使用 Lambda 表达式吗 我对 Lambda 表达式的理解是 它是内置于编译器而不是框架中的功能 因此我的结论是我可以在 NET 2 0
  • 如何查看本地分支和远程分支之间指定文件的差异?

    如何查看本地分支和远程分支指定文件的差异 我知道这个命令 git diff
  • 如何在 django 模板中重复“块”

    我想用同样的 堵塞 在同一个 django 模板中两次 我希望此块在我的基本模板中多次出现 base html h1 block title My Cool Website endblock h1 然后扩展它 blog html exten
  • 实体框架 5:代码优先的循环关系问题

    我明白为什么 EF 不允许 PK FK 关系中的 循环引用 我正在寻求有关如何更改模型以使以下场景发挥作用的建议 Scenario 三个实体 Employee Agency WorkRecord 他们的目的是记录员工工作所花费的时间 Emp
  • Laravel 5 覆盖辅助函数 __() 因为在 WordPress 中使用

    我读过 stackoverflow 上的几篇文章但没有帮助 所以我希望有人能给出好的答案 我正在使用 Laravel 和 wordpress 现在有一个错误 是否可以重命名或其他方法来改变它 Error Fatal error Cannot
  • ASP.NET Server.HtmlEncode 限制

    我正在使用 Server HTMLEncode 来编码我的 HTML 我注意到它不会转义单引号 如果您在 html 中使用单引号 这是一个限制 例如
  • pandas 数据帧上的 s3fs gzip 压缩

    我正在尝试使用以下方法在 S3 上将数据帧写入为 CSV 文件s3fs https github com dask s3fs图书馆和熊猫 尽管有文档 但我担心 gzip 压缩参数不适用于 s3fs def DfTos3Csv df file
  • C++ 模板函数在头文件中编译,但在实现中不编译

    我正在尝试学习模板 但遇到了这个令人困惑的错误 我在头文件中声明了一些函数 并且我想创建一个单独的实现文件来定义这些函数 这是调用标头的代码 dum cpp include
  • 如何为AWS RDS实例设置数据库时区[重复]

    这个问题在这里已经有答案了 我们在 AWS RDS 实例上使用最新的 MySQL 服务器 并配置为在美国东部数据中心运行它 我们假设任何新的 Date 或 Time now 调用都会将日期存储在数据库服务器运行的时区中 有没有办法让我在美国
  • 在缩略图中调整图像 WordPress - woocommerce

    我尝试了很多技巧 用谷歌搜索了很多网站 使用了很多 WordPress 插件 但都失败了并且厌倦了 我正在运行一个优惠券 交易网站 我的问题是我想完全显示产品图像而不进行任何裁剪 即使它的尺寸很小 原始图像是https postimg or
  • 字符出现频率

    我正在尝试使用查找文件中字符的频率Haskell 我希望能够处理大约 500MB 大小的文件 到目前为止我已经尝试过的 它完成了这项工作 但有点慢 因为它解析了文件 256 次 calculateFrequency L ByteString
  • 如何隐藏滚动条并保持内容可滚动? [复制]

    这个问题在这里已经有答案了 我想将我的 html 页面打印到 PDF 文件中 但不希望滚动条显示在 PDF 文件中 我的页面有一个可滚动的主体 所以如果我这样设置 overflow hidden 最终 pdf 文件中的正文将不完整 那么 是
  • 用于匹配多种类型编号列表的正则表达式

    我想创建一个 PCRE 正则表达式来匹配所有常用的编号列表 并且我想分享我的想法并收集有关执行此操作的方法的输入 我将 列表 定义为一组规范的盎格鲁撒克逊约定 即 Numbers 1 2 3 1 2 3 1 2 3 1 2 3 1 1 1
  • UILabel设置透明背景色?

    我希望在我的视图中添加一个带有透明背景的黑色标签 见下文 ADD LABEL UILabel label UILabel alloc init label setFrame CGRectMake 124 312 72 35 label se
  • Intellij idea无法解决maven中的任何问题

    我刚刚导入了一个项目pom xml 但 IDE 没有解决 Maven 依赖项中的任何内容 任何定义在pom xml代码中导入时的依赖项引发错误cannot resolve symbol xxxxx But mvn install会起作用 我
  • vim - 在“替换”表达式中调用函数

    我知道你可以在 vim 搜索 替换操作中调用函数 例如 s regex localtime g 将用当前纪元时间替换任何匹配 正则表达式 的内容 问题是 我无法在 替换 表达式中添加任何其他内容 例如 s regex epoch local