`
lantian_123
  • 浏览: 1360587 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

每日一Vim(12)ab与map命令

 
阅读更多

每日一Vim(12)ab与map命令

ab命令:

ab命令可以将一长串字符用缩写来定义,这有点象Linux中的alias,比如Linux中的ll命令就是ls -l的别名,ab的语法为:

:ab abbr phrase

abbr就是对phrase的简写,在insert 模式中,输入abbr,再按非字母字符(比如空格,点号等)Vim就自动把phrase插入到光标处位置。此情景一般用在频繁输入的字符中,通常建议abbr选择使用频率很低的字符,比如Eclipse常用的一个快捷键syso,你可以定义成如下:

:ab syso  public static void main(String[] args) 

这样一来,每次输入syso的时候,整个main方法就自动插入到文本行了。如果你就是想输入'syso'这个原生字符串,那么您可以用下面这个命令取消:

:unab syso

列出当前定义的缩写有哪些可以用命令:

:ab

map命令

图

上图是执行:map命令显示的内容,我们暂且先不对图做说明,稍后再分析,map的功能比ab更强大,它不仅可以在insert 模式下定义宏(快捷键)而且可以normal,visual等模式下定义。其语法举例说明:(目标:在normal下用lv选中光标所在行)

:map lv 0v$ 

解析:0代表光标移至行首,v就是visual模式(该模式下可以通过hjkl来选中文本),$代表行尾,这样一来,在normal模式输入lv就能选中光标所在行了。

:map 列出所有已定义的映射命令
:unmap lv 取消lv映射的命令
:mapclear  清空所有映射

需要注意的是:

  1. 默认情况下,map命令是作用在normal模式下的
  2. 如果是想在virsual模式下新建某个命令的宏,可以使用:vmap,举例::vmap d <esc>dd就可以在virsual模式下把光标所在行删除。<esc>是纯粹的5个原始字符,意思是回到normal模式。
  3. 默认情况下,map是采用递归映射的,比如a映射成b,:map a b,然后c 又映射成了a,:map c a ,那么最终c也会自动映射成b,等同于:map c b,您现在可以试一试a,b,c的效果都是光标向前移动一个单词的长度。如果要不想使用递归,那么就要用:noremap
  4. 现在你应该能看明白上图的内容了吧,第一列就是宏会在哪中模式下生效,第二列代表快捷键了,第三列就是真正的命令序列集合了。您可以注意一下最后一个命令:(Shift+Insert)就是前些天分享过的,代表在normal模式下粘贴系统剪切板中的内容。

实用例子:

:map <C-a> <Esc>ggVG   实现类似于Widnows下的Ctrl+a全选 
:inoremap ( ()<esc>i   插入模式下输入'('后自动补全')',同理还可以实现'[','{'

更多的例子就要靠您的创造力和想象力的,如果您能把基本的命令学好了,这些命令组合在一起使用的话,威力无比。
ps:"+y可以把光标所在行或选选中的字符copy到系统剪切板中。

转载请注明出处,谢谢合作。作者---zhijun

2
4
分享到:
评论
5 楼 lantian_123 2013-03-22  
isensen 写道
忘 了问一个问题, :mapclear 是清除所有吗? 这样的话.VIM预置的也会清除掉吗?还是说只清除用户自定义的.VIM 程序本身有区别用户自定义吗?感觉好像没有..没敢试

嗯,是清除所有的,不过不要紧,清除只对当前的session有效,不影响其他的,另打开一个vim预设的还是存在的。
4 楼 lantian_123 2013-03-22  
shidan66 写道
不错~不过syso快捷键貌似不是main方法吧,呵呵

sorry ,写错了,eclipse中对应预设的快捷键应该是“main”。呵呵
3 楼 isensen 2013-03-22  
忘 了问一个问题, :mapclear 是清除所有吗? 这样的话.VIM预置的也会清除掉吗?还是说只清除用户自定义的.VIM 程序本身有区别用户自定义吗?感觉好像没有..没敢试
2 楼 isensen 2013-03-22  
恩今天 讲的这个实用.就像把宏保存起来一样.
1 楼 shidan66 2013-03-22  
不错~不过syso快捷键貌似不是main方法吧,呵呵

相关推荐

    vim常用命令vim常用命令vim常用命令

    vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令

    VIM命令总结VIM命令总结

    VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结

    VIM命令VIM命令VIM命令

    VIM工具命令的使用。VIM工具命令的使用。VIM工具命令的使用。

    vim常用编辑命令 vim常用编辑命令

    vim常用编辑命令 vim常用编辑命令 vim常用编辑命令

    VIM常见命令总结vim常见命令总结

    VIM常见命令总结VIM常见命令总结

    vim的基本命令

    学习vim编辑器,第一步熟记vim的基本命令。linux开发必备。

    VIM常用命令大全

    VIM常用命令大全VIM常用命令大全VIM常用命令大全VIM常用命令大全

    linux下vim命令详解

    linux下vim命令详解 高级一些的编辑器,都会包含宏功能,vim 当然不能缺少了,在 vim 中使 用宏是非常方便的

    vim常用命令总结

    vim编辑器中常用的命令总结,以图片和树状结构的形式完美的总结了vim中常用命令。如:查找名,修改命令,删除命令

    Vim命令合集.docx

    在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。 :args 打开远程文件,比如ftp或者...

    Vim文件编辑命令

    Vim文件编辑命令

    ubuntu and vim 命令大全

    ubuntu and vim 命令大全 ubuntu and vim 命令大全 ubuntu and vim 命令大全 ubuntu and vim 命令大全

    vim命令图解 pdf

    vim 命令图解,linux里面的文本编辑器

    vim命令快速参考

    vim命令快速参考vim命令快速参考vim命令快速参考vim命令快速参考

    vim_命令手册

    命令 查找与替换操作 /text 在文件中向前查找text ?text 在文件中向后查找text n 在同一方向重复查找 N 在相反方向重复查找 ftext 在当前行向前查找text Ftext 在当前行向后查找text ttext 在当前行向前查找text,并...

    vim命令操作大全

    本图片包含大量的常用vim使用命令和操作,而且对所使用的命令进行了分类,方便查阅

    vim常用命令整理

    主要是整理了一些vim最常用的命令,基本够用了,整理成pdf,便于打印一份,放在手边

    vim命令文档

    linux下vim操作时所需要的一些常用命令,非常齐全

    Vim常用命令详细汇总(全)

    vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。 1. 功能指令 按键 解释 ...

    Vim命令合集

    Vim命令合集

Global site tag (gtag.js) - Google Analytics