vim - 如何使用函数返回的值进行搜索

标签 vim editor

我想使用此文件中的当前文件名进行搜索。我已经知道使用 :call Expand("%:p:h") 获取当前文件名。所以我想使用像 /call Expand("%:p:h") 这样的命令来搜索。我尝试了这个但失败了,因为 vim 从字面上解析这个函数调用。

最佳答案

通常,要在命令行(或仅在插入模式下)插入某个函数返回的值,您应该使用以下命令:

Ctrl+R=function_name()Enter

顺便说一句,你说 expand("%:p:h") 返回当前文件名,但这是错误的:实际上它返回当前文件的完整路径,没有文件名。要仅获取不带路径的文件名,您应该使用 expand("%:t")。请阅读:help Expand以获取更多信息。

已编辑:在您的情况下,您可以使用 @ib 建议的搜索寄存器 @/ 解决方案:这是一种更安全的方法。但是,如果我只需要在缓冲区中查找文件名,并且我的文件名不包含某些特殊字符,我将使用 Ctrl+R= 代替。

因此,搜索当前文件名的整个表达式是:

/\VCtrl+R=expand('%:t')Enter 输入

附注

搜索模式开头的

\V 表示“very nomagic”模式。您可以在这里阅读::help\V

关于vim - 如何使用函数返回的值进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676070/

相关文章:

vim - 在 Vim 中是否可以实现所谓的 "distraction free mode"?

ruby - Vim Command-T 插件错误 : could not load the C extension

vim - 无法使用 clang_complete 的 clang_snippets=1 参数隐藏 <# 和 #>

javascript - 使用 jQuery 在 Redactor 中输入内容

vim - 使用 ctrl+shift+arrow 在 VIM 中选择单词

text - 为什么我的 Sublime Text 3 编辑器没有色彩?

android - 使括号自动开始新行

vim - 清除所有当前定义的 vim 宏

java - 是否可以在 VIM 中找到 java 类或方法的用法?

javascript - 可嵌入的 HTML 布局编辑器/小部件调色板