将一系列击键映射到命令行命令

Opt*_*Opt 5 vim

有没有办法将一系列击键映射到:vim中的命令行命令(在Ex模式下输入的命令)?

cat*_*try 7

是的,它直观地称为:地图

例:

:map foo :echo "bar"<CR>
Run Code Online (Sandbox Code Playgroud)

在插入模式下,按下按键foovim将以"bar"响应.键入:help :map 在vim获取更多信息.您可以在.vimrc文件中默认放置要加载的映射.

您可以独立映射不同模式的击键,例如插入模式(:imap)和可视模式(:vmap).另请参阅有关重新映射主题的vim帮助(:noremap)

更新

如果要在命令模式下使用别名(但也可以对插入模式执行此操作),则需要使用缩写.

要定义命令模式的缩写,请使用:ca(这是:cabbrev的简写).有关:help :ca更多信息,请参阅vim帮助:help :abbreviations.

请注意,与map不同,缩写不是由vim命令替换,而是由文字字符替换.按空格键或输入时会触发缩写.

例子:

" let me type :syn=cpp instead of :set syntax=cpp
"
:ca syn set syntax

" fix my favorite spelling error
"
:abbr teh the

" this does something different than the :map example above
"
:iabb foo :echo "bar"<CR>

" this is ugly, misusing an abbreviation as :map by simulating ESCAPE press
"
:iabb hello <ESC>:echo "world"<CR>
Run Code Online (Sandbox Code Playgroud)