zoukankan      html  css  js  c++  java
  • 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我们可以自定义快捷键,那仅知道这些就足矣了吗?如果不是那请继续看下文吧!

       通过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

  • 相关阅读:
    关于postman与shiro权限验证问题
    springboot对shiro进行mock单元测试
    深入理解spring注解之@ComponentScan注解
    springboot项目启动,但是访问报404错误
    通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
    重装系统后ORACLE数据库恢复的方法
    ORA-03113: end-of-file on communication channel 解决方法
    ORA-03113:通信通道的文件结尾-完美解决方案
    由于Windows和Linux行尾标识引起脚本无法运行的解决
    在cmd命令行中弹出Windows对话框(使用mshta.exe命令)
  • 原文地址:https://www.cnblogs.com/schips/p/10709801.html
Copyright © 2011-2022 走看看