Brief
习惯在VS上按
1. 退出VIM,在shell下编译&&运行程序
:wq
[root@fsjohnhuang ~]# gcc main.c -o main
[root@fsjohnhuang ~]# ./main
2. 在VIM的命令行模式下编译&&运行程序
:!gcc % -o main
:!./main
3. 快捷键绑定一键编译&&运行程序
:map:w :!gcc % -o %< && ./%<
以后我们只需在命令模式下按
现在我们知道通过:map我们可以自定义快捷键,那仅知道这些就足矣了吗?如果不是那请继续看下文吧!
Know command :map More!
通过ESC进入VIM的命令模式,这里我们可以输入VIM命令(以:开头,如:map)和外部命令(以:!开头,如:!ls)。
绑定快捷键
:map命令就是将一连串操作绑定到指定的快捷键,语法格式: :map <快捷键> <命令组>
<快捷键>,各功能键和组合键均可作为快捷键,并且均可通过VIM内置的键盘映射来指定(如上面提到的
<命令组>,按下<快捷键>后依次执行的命令组。其中%占位符用于表示当前操作的文件全称,而%<占位符表示当前操作的文件名称(不带扩展名)。
查看已绑定的快捷键 :map
上图我们看到x,s,o,n,v等字母,这些是啥意思呢?
还记得VIM的几个工作模式(Normal,Visual,Select,Command-line,Operator pending, Insert only)吗?而上面的x,s,o等就是指出所属行的快捷键仅作用于某模式下。
标记 模式
n 常规模式
v 可视化模式
o 运算符模式
! 插入模式,命令行模式
i 插入模式
c 命令行模式
那么如何列出指定模式下的已有快捷键呢?
:nmap - Display normal mode maps :imap - Display insert mode maps :vmap - Display visual and select mode maps :smap - Display select mode maps :xmap - Display visual mode maps :cmap - Display command-line mode maps :omap - Display operator pending mode maps
也就是可通过 :nmap , :map! 等来在指定的工作模式绑定快捷键。
解除快捷键绑定 :unmap <快捷键>
:iunmap <快捷键> 仅解绑插入模式下的快捷键,如此类推
解除所有快捷键绑定(用户定义的和系统默认的) :mapclear
Thanks
http://www.pythonclub.org/linux/vim/map
http://www.pythonclub.org/linux/vim/map
http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_%28Part_1%29