vim - 无法在 VIM 中正确映射 Asterisk (*) 键

标签 vim mapping asterisk

我正在尝试映射 * 以在我的 vimrc 中像这样调整窗口大小:
map * <C-W>-
这在正常模式下不起作用,但在使用可视模式时有效。
(通过手动按-,它在正常模式下工作)
为什么它不适用于我的映射?我如何在正常模式下使用 Asterisk ?

最佳答案

map * <C-W>-是一个递归映射:如果该映射中的任何内容在使用时已经映射到其他内容,那么将执行其他内容。

通常建议对大多数映射使用非递归映射,除非您有意在映射中使用另一个映射

映射的非递归变体是:

noremap * <C-W>-

请注意 :map涵盖正常模式、可视模式、选择模式和运算符(operator)等待模式,这些模式可能会产生意想不到的后果。您应该始终使用可用的最具体的命令,在这种情况下:

nnoremap * <C-W>-

关于vim - 无法在 VIM 中正确映射 Asterisk (*) 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46529894/

相关文章:

c++ - YCM是否支持完成内置功能?

c# - 自定义实体 View 模型映射器的循环依赖

Python - 使用 pyplot 将二维数组映射到网格?

compilation - 在 OpenVZ VPS : kernel issue 上编译 DAHDI

Asterisk-Java 找不到 fastagi-mapping.properties

Vim:在编辑器中运行命令而不是退出

Vim imap jk <Esc> 即使使用转义字符也不起作用

vim - 将 `:map` 的输出放入缓冲区

mvvm - 使用 knockout 映射插件将深度分层的对象映射到自定义类

java - 通过 asterisk manager api java 发起对 sip trunk 的调用