前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vim魔法堂:认识快捷键绑定

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

作者头像
^_^肥仔John
发布2018-01-18 16:54:20
1.4K0
发布2018-01-18 16:54:20
举报

Brief                              

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

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

代码语言:javascript
复制
:wq
[root@fsjohnhuang ~]# gcc main.c -o main
[root@fsjohnhuang ~]# ./main

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

代码语言:javascript
复制
:!gcc % -o main
:!./main

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

代码语言:javascript
复制
: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                            命令行模式

     那么如何列出指定模式下的已有快捷键呢?

代码语言:javascript
复制
: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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档