有没有办法对vim映射进行反向搜索?

Gon*_*heu 1 vim

是否可以通过目标命令搜索映射?

例如:我想搜索哪些键序列映射到StripWhitespace.

我知道您可以使用map {lhs}命令搜索映射到键序列的内容。例如:

map ,s
Run Code Online (Sandbox Code Playgroud)

将显示到以 开头的键序列的映射,s

x  ,s            :StripWhitespace<CR>
n  ,sb         * :SortBlock<CR>
Run Code Online (Sandbox Code Playgroud)

我想做的是做相反的事情。

Pet*_*ker 5

您可以使用:filter类似于在 shell 中使用 grep 的方式。

:filter /StripWhitespace/ map
Run Code Online (Sandbox Code Playgroud)

:filter在 Vim 8 中是新的,所以你必须有一个相对最新的 Vim。您也可以在理论上使用,execute()但这也是相对较新的。

您将需要使用较旧的 Vim 版本 :redir

:redir @"> | silent map | redir END | new | put | v/StripWhitespace/d_
Run Code Online (Sandbox Code Playgroud)

如需更多帮助,请参阅:

:h :filter
:h execute()
:h :redir
:h :silent
:h :map
:h :new
:h :put
:h :v
:h :d
:h "_
Run Code Online (Sandbox Code Playgroud)