如何知道默认的Vim快捷方式执行哪个命令?
我见过类似的问题,其中接受的答案仅适用于自定义(用户或插件定义的快捷方式)。
例如,我想用另一个快捷方式映射执行的操作(向下滚动半页),我不知道要调用哪个命令。我无法将其映射到<c-d>
,因为我正在将该快捷方式用于其他命令(:q
)。
答案 0 :(得分:1)
默认的“快捷方式”不是“快捷方式”:它们是低级命令。您不需要知道它们映射到哪些命令,因为它们未映射到任何东西。
如果您想在映射中使用d
提供的功能,请使用d
:
nnoremap <key> <something>d<somethingelse>
关于下面的一条评论:Ex命令都是 line-wise ,因为Ex是逐行的,因此将它们视为命令行版本是没有意义的普通模式命令,通常字符。
答案 1 :(得分:1)
已有几个好的答案,但我认为你大多错过了:map
和:noremap
之间的区别。对于后者(以及推荐的一个!),现有的映射都没有被考虑。
因此,如果你有<C-d>
的映射,并且仍然希望使用&#34;向下滚动半页&#34;在其他地方,只需使用:nnoremap ... <C-d>
。
正如其他人所说,没有内置功能,默认<C-d>
键 是该功能。在函数内(与映射,您使用:noremap
的位置),您还可以使用:normal!
来触发它::execute "normal! \<C-d>"
。
答案 2 :(得分:0)
您可以创建自定义映射,例如nnoremap <leader>a ggVG
<leader>a
已映射到命令序列:gg V G
我想&#34;默认快捷方式&#34;你的意思就像上面例子中的gg or V or G
。那些&#34;快捷方式&#34;打电话给一些功能/程序,但我们不知道这些功能,因为它们是内置的东西,如果你想知道它们,你必须阅读vim的源代码。
对于您的问题,为scroll half page down
创建地图,您可以尝试
nnoremap {yourKeysHere} <c-d>
:h ctrl-d
了解详细信息,<c-d>
将向下滚动半屏。换句话说,您只需创建映射到那些&#34;默认快捷方式&#34;然后你明白了。
如果这不能回答你的问题,请给出具体的要求,你想要达到的目标。
答案 3 :(得分:0)
要查看默认映射,请查看:help index
。
正如您提到的自定义映射,您可以使用:map X
,:imap X
等。
答案 4 :(得分:0)
我无法找到默认快捷方式的命令,但我找到了实现我想要的方法:
" My custom map, use noremap to prevent <c-u> from using overridden definition
nnoremap <Space> <c-d>
map <c-d> :q <cr>