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

时间:2009-12-05 05:31:26

标签: vim

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

1 个答案:

答案 0 :(得分:7)

是的,直观地称之为:map

示例:

:map foo :echo "bar"<CR>

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

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

<强>更新

如果要在命令模式下使用别名(但也可以在插入模式下使用),则需要使用缩写

要定义命令模式的缩写,请使用:ca(这是:cabbrev的简写)。请参阅vim help :help :ca以及更多信息: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>