有没有办法在vim中将一系列按键映射到命令行命令(在Ex模式下输入:
之后的命令)?将按键序列映射到命令行命令
回答
是的,它直观地叫:地图
例子:
:map foo :echo "bar"<CR>
没有在插入模式下按下键foo
VIM将与“酒吧”作出回应。 在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>
这使得某些东西更讨厌 - 如果例如我想输入fo,那么我必须稍等一会才能执行该命令序列,因为fo是foo的子字符串。有没有办法将命令行命令(在:提示后输入的命令)映射到一系列按键? – Opt 2009-12-06 03:42:40
我已经更新了我的回复 – catchmeifyoutry 2009-12-06 04:50:41
- 1. 添加命令键盘映射ATOM
- 2. 是否有unix命令行实用程序的'映射'按行?
- 3. 如何将VsVim中的键映射到Visual Studio命令?
- 4. 重新映射Emacs命令
- 5. Vim命令和映射
- 6. 部分vim的命令行映射
- 7. 命令行命令命令
- 8. SSIS将变量或SQL命令映射到列
- 9. 在vim中映射命令与另一个命令
- 10. 重新映射Esc键在命令行模式Vim的
- 11. 使用Java按顺序运行命令行命令
- 12. sublime text 3映射到键绑定的命令
- 13. 命令行字节序列
- 14. Shell行命令排序命令
- 15. 通过命令行的条件按键
- 16. 命令模式:按顺序执行多个命令
- 17. 如何将按钮命令绑定到主窗口命令
- 18. 命令行修改命令
- 19. vim映射:w带shell命令
- 20. 如何将EditModel映射到命令消息?
- 21. 将路径变量映射到命令属性
- 22. 如何有效地将命令名映射到操作中?
- 23. 将Ubuntu PostgreSQL相关的命令映射到Mac OS 10.6.6
- 24. 将编辑命令映射到某个编辑器
- 25. 如何使用Magick.net将ImageMagick命令映射到.net代码
- 26. 热键运行命令
- 27. 如何将wireshark gui命令导出为tshark命令行程序?
- 28. 命令按钮阵列
- 29. Java机器人按键命令键
- 30. 发送命令到其他命令行程序
当然!你能举一个你想做什么的例子,或者你只是问一般? – Rook 2009-12-05 06:13:22
就在一般情况下,很多次我发现我反复做同样的事情,但另一方面,我不想为它创建一个键绑定(我不想要另一个Emacs,我正在使用所有我的命令修改键) – Opt 2009-12-06 03:40:02