我所在的公司在变量名称中使用连字符。出于可读性考虑,使用 Notepad++ 进行编辑。
这会在搜索变量时引起问题,正如您在此处看到的:
变量名称 = “var-1”
部分源代码:
function f-var-1 (INPUT l-var-1):
...
end function.
...
<do-something-with(var-1)>
...
当我想查看变量 所做的事情时var-1
,我只想看到带有 的行do-something
,但是,即使在检查 时,由于连字符的存在,和whole words
的片段也会被突出显示。f-var-1
l-var-1
有人知道该如何处理吗?
编辑
另外,当我双击包含连字符的名称时,我希望整个单词(包括连字符之前或之后的部分)都突出显示。
答案1
答案2
这应该有效:
找什么:
[^-]var-1
搜索模式:正则表达式
这将搜索var-1
除非它前面有破折号。(如果var-1
它位于文件的开头,则也不会找到)
答案3
注意:此答案是在问题如下时发布的:修订版 2。答案将来可能会也可能不会被扩展以解决此后问题中增加的内容。
匹配var-1
整个单词相当于
\bvar-1\b
正则表达式,\b
匹配单词边界;- 或与单词字符匹配的
(?<!\w)var-1(?!\w)
位置,分别是负向后视和负向先行。\w
(?<!…)
(?!…)
后一种形式可以很容易地调整为-
如下形式\w
:
(?<![\w-])var-1(?![\w-])
不要忘记选中“正则表达式”复选框。
答案4
看来您可以更改 NP++ 用作单词字符的字符以包含-
。为此,您需要先安装 NppExec 插件。
选择插件 → NppExec → 执行并输入命令:
sci_sendmsg 2077 0 @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"
var-1
现在您可以使用选项进行搜索仅限整个单词和搜索模式:普通的。
请注意,切换到其他选项卡时,此功能将停止工作,因此您需要重新运行该命令(Ctrl+F6)。下面的链接提到使用 NppScripting,但我对此并不熟悉。
更多详细信息请参见:https://sourceforge.net/p/notepad-plus/discussion/331754/thread/993b6ab9/