搜索
搜索是一个十分强大的特性,但同时它也可以使你无比的困惑。在大多数情况下,你只需要简单地输入你想要搜索的东西,它都能够工作。但除此之外,搜索功能还有许多能够帮助你更快更准确搜索的能力。
高级搜索#
在你输入搜索关键字时,点击“说明搜索含义”将能够显示搜索的范围,这将会在你搜索的关键字排错中帮上大忙。
- 如果字符串中包含空格,则默认被当作多个关键字进行搜索。例如,
foo bar
的搜索范围将等同于foo
的范围加上bar
的范围。 "引用 字符串"
可以用来解决关键字中包含空格的情况。易得,加上了双引号之后的"foo bar"
将精确搜索到同时包含这两个词的内容。如果你要搜索一串包含双引号的字符,使用\"
来防止错误识别,同理对于反斜杆可以使用\\
。- 搜索中也可以使用布尔运算。使用
OR
来匹配几者中的一个,使用-
来取反。空格字符将被用于代表布尔运算的“与”。- 举个例子:
foo OR bar
将会被识别为或运算,笔记中可以仅包含其中之一。foo -bar
将会搜索所有只带foo
但不带bar
的笔记。
- 举个例子:
- 可以使用括号来将布尔运算分组。举个例子,
(a OR b) (c OR d)
。这在非常复杂的运算中可以防止出现意料之外的情况。 - 搜索同样支持正则表达式(regex)。使用斜杠来将正则表达式圈住,如
/[a-z]{3}/
。 - 我们同样也提供了一些特殊的操作。其中的一些还可以进行嵌套,比如说
file:("to be" OR -"2B")
。file:
将会只匹配文件名中包含对应字符的文件。比如:file:".jpg"
。如果你使用Zettelkasten-style UIDs,这将可以很好地帮助你找到某一段时间的笔记,比如file:"202007"
来定位到2020年七月创建的笔记。path:
将会只匹配包含对应绝对路径的文件。举个例子:file:"Daily Notes/2020-07"
。match-case:
和ignore-case:
将会强制接下来的字符是否大小写匹配。
搜索设置#
搜索功能附带了几个可供选择的功能:
折叠搜索结果
将会只显示匹配到的文件名称以及对应内容的行数。可以通过点击文件名旁边的箭头来展开对应的项。区分大小写
可以将搜索更改为大小写敏感模式,其会被match-case:
和ignore-case:
覆盖。说明搜索含义
将会显示该字符串的搜索范围。