Vim魔法堂:认识快捷键绑定

时间:2022-04-22
本文章向大家介绍Vim魔法堂:认识快捷键绑定,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Brief                              

习惯在VS上按<F5>来编译运行程序,刚用上VIM上就觉得无比的麻烦,而随着对VIM的学习我们分阶段的简化这一操作

  1. 退出VIM,在shell下编译&&运行程序

:wq
[root@fsjohnhuang ~]# gcc main.c -o main
[root@fsjohnhuang ~]# ./main

  2. 在VIM的命令行模式下编译&&运行程序

:!gcc % -o main
:!./main

  3. 快捷键绑定一键编译&&运行程序

:map <F5> <ESC>:w<CR> <ESC>:!gcc % -o %< && ./%<<CR>

     以后我们只需在命令模式下按<F5>即可实现程序的编译&&运行了!

     现在我们知道通过:map我们可以自定义快捷键,那仅知道这些就足矣了吗?如果不是那请继续看下文吧!

Know command :map More!                   

    通过ESC进入VIM的命令模式,这里我们可以输入VIM命令(以:开头,如:map)和外部命令(以:!开头,如:!ls)。

绑定快捷键

    :map命令就是将一连串操作绑定到指定的快捷键,语法格式: :map <快捷键> <命令组> 

<快捷键>,各功能键和组合键均可作为快捷键,并且均可通过VIM内置的键盘映射来指定(如上面提到的<ESC>则是Escape键的映射,<CR>则是回车键的映射,<C-Esc>代表Ctrl-Esc和<S-F1>表示Shift-F1等)。具体的键盘映射信息可通过在命令模式下执行 :h key-notation 查看。

<命令组>,按下<快捷键>后依次执行的命令组。其中%占位符用于表示当前操作的文件全称,而%<占位符表示当前操作的文件名称(不带扩展名)。

查看已绑定的快捷键 :map

     上图我们看到x,s,o,n,v等字母,这些是啥意思呢?

  还记得VIM的几个工作模式(Normal,Visual,Select,Command-line,Operator pending, Insert only)吗?而上面的x,s,o等就是指出所属行的快捷键仅作用于某模式下。

标记                             模式

    <space>       常规模式,可视化模式,运算符模式

           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