有没有办法在vim中将一系列击键映射到命令行命令(在Ex模式下:
之后输入的命令)?
答案 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>