|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
您现在的位置: ChinaBeta.cn 中文IT资讯 >> 网盟学院 >> 技术文档 >> 网管技术正文
推荐网管技术[多图]即将发布的Microsoft Of…推荐网管技术Asp生成静态网页
推荐网管技术让我穿过那道"墙"! 畅游网络应…推荐网管技术文件夹变身磁盘 查看共享有新招…
推荐网管技术防患于未然!终截者抗病毒软件…推荐网管技术主动防御!瑞星杀毒2008抢先评…
推荐网管技术玩转虚拟光驱:DAEMON TOOLS P…推荐网管技术速度超快 Discuz! 6.0.0试用手…
推荐网管技术当设计遇上PC:LG XPION A10图…推荐网管技术奇虎举证:各杀毒软件均报CNNIC…
推荐网管技术Google Earth 4.2加入繁体中文…推荐网管技术Photoshop CS3:蔚蓝梦幻风格婚…
推荐网管技术专业防护!瑞星防火墙2008测试…推荐网管技术挂载RAR文件 从认识到爱上WinM…
推荐网管技术让你冲浪随心所欲 如何访问被封…推荐网管技术轻装上阵!江民杀毒软件2008速…
推荐网管技术VMware Fusion苹果版全程图解(…推荐网管技术VMware Fusion苹果版全程图解(…
推荐网管技术从菜鸟出发!征服高清详细评测全…推荐网管技术VS2008和ASP.NET 3.5使用之初体…
推荐网管技术迅雷 快车 电驴 eMule下载飚速…推荐网管技术实战967种木马 木马清道夫2007…
推荐网管技术[多图]Ubuntu 7.04 初体验推荐网管技术东风吹战鼓擂 下载软件你选谁?
推荐网管技术若隐若现 Windows XP DirectX …推荐网管技术GPRS上网全攻略
推荐网管技术主流杀毒软件Vista兼容性横评推荐网管技术基于IRF的网络管理和业务管理解…
程序员的编辑器——VIM
Www.ChinaBeta.Cn 更新时间:2008-4-24

【ChinaBeta.Cn 网盟学院】




四、强大方便的帮助系统

  使用了那么多软件,只有VIM和Emacs的帮助系统给笔者方便快捷的感觉,大部分软件的帮助往往是摆设而已,而VIM的帮助的确是考虑到了自己“help”的身份,利用它能很方便容易的找到想要的东西。

  VIM的帮助是超链接形式的,它使用的就是tags,所以可以跟ctags功能一样按Ctrl-]跳转到链接所指处,按Ctrl-t返回。

:help 打开帮助首页,这个首页分类非常清楚
:help cmd 查找normal mode命令,比如:help dd
:help i_cmd 查找insert mode命令,比如:help i_Ctrl-y
:help :cmd 查找command-line命令,比如:help :s
:help 'option 查找选项,比如:help 'tabstop
如果你记不清命令或者选项的全称,那么可以利用Tab或者Ctrl-d的自动补全功能。
  :help options 可以找到所有的选项说明

  查看某一个选项的值(实际上选项是VIM中的一种变量,类似SHELL的变量以$符号引用,VIM的选项以&引用,另外VIM的寄存器以@引用):

  :echo &tabstop

五、其它高级功能

  (1)寄存器

  VIM里面的寄存器可以用来保存拷贝的文本、记录的宏、设置的书签等等,一般的编辑器都只有一个剪切板(MS Office加入了多个剪切板),而VIM和Emacs编辑器中的多寄存器可以实现多个剪切板的功能。VIM中有九类寄存器:

无名寄存器 " 最近一次删除/修改/替换操作的文本都会放入这个寄存器
10个数字寄存器 0-9 拷贝或者删除的文本存入这些寄存器,这些寄存器是循环使用的,在每次存入内容到寄存器1时,原有的内容会依次存入到后一个寄存器中。
小删除寄存器 - 删除内容少于一行时放入这个寄存器。
26个命名寄存器 a-zA-Z 大小写无关。这些寄存器可以在拷贝或者删除等操作中指定使用。
四个只读寄存器 :.%# 特殊用途。
表达式寄存器 = 特殊用途。
选择和拖放寄存器 *+~ 用于与系统剪切板交互,以及接收拖放操作的内容。
黑洞寄存器 _ 放到这里面的内容都被丢弃,这样可以删除或拷贝时不影响其它寄存器。
最后一次搜索模式寄存器 / 保存最后一次搜索的正则表达式。
  使用:reg命令可以看到所有寄存器中的内容,使用"+y或者"*y可以将visual mode下选择
  的内容拷贝到系统剪切板,使用"+p或者"*p可以将剪切板中的内容粘贴到VIM中,如果打开了
  mswin特性的话则在insert mode下使用Ctrl-x,Ctrl-v,Ctrl-c了。

  Reference: :help registers

  (2) 宏
  Normal mode下按q<reg>,<reg>指37个寄存器中的一个,然后可以进行任何操作,包括在模式间切换,最后在Normal模式下按q可以结束宏录制,用@<reg>命令可以应用这个宏,命令前可以带数字前缀表示执行多少次这个宏。

  Reference: :help q

  (3) 书签

  Normal mode下按m<reg>作书签,<reg>指26个命名寄存器中的一个,然后可以用'<reg>或者`<reg>跳到书签处。

  Reference: :help m

  (4) 映射

  VI/VIM可以将某个按键序列映射到一个命令序列上,比如在配置文件.vimrc(Windows下是_vimrc)中写入

map <F6> <ESC>i<C-R>=strftime("%Y-%m-%d")<ESC><ESC>

  即可以在Normal mode下插入当前日期。

  Reference: :help :map

  (5) 缩写

  VI/VIM支持用一个缩写字符串代替一个长的字符串,比如

  :ab hw hello world

  然后在Insert mode下输入“hw ”(不包括引号)后VIM就自动替换成了“hello world”。这里展示一个Emacs下abbrev功能的动画(没错,是Emacs的):

  http://www.bloomington.in.us/~brutt/msf-abbrev.html
  http://www.bloomington.in.us/~brutt/msf-abbrev-demo.gif

  Reference: :help :ab

  (6) :s//和:g//,:!g//

  这两个命名加上正则表达式,常常能完成非常复杂的编辑任务,可以毫不夸张地说是VIM的两柄瑞士军刀。:s是替换操作,:g是查找匹配模式的行,:!g是查找不匹配模式的行。

  http://www.vim.org/tips/tip.php?tip_id=1063这个tip可以把:g找到的行拷贝到一个新的缓冲区中,非常有用。

  Reference: :help :s
  :help :g
  (7) 插件

  VIM自己有脚本语言,另外也支持用Perl/Python/Tcl/Ruby/Scheme编写插件,这些插件极大的丰富了VIM的功能。

  (8) color scheme

  VIM有许多配色方案,下面这个链接有许多配色方案效果的图样:http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/

  (9) 二进制编辑

  VIM可以利用xxd实现二进制编辑,不过这项功能还是不够好用。

  (10) sign

  sign指在编辑窗口的最左列显示一个标记,利用这个功能能实现很多IDE中的书签标记或者断点标记。

  Reference: :help sign

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页  

Google

(责任编辑:hahack)

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门文章 相关报道
普通网管技术 [技术文档]程序员的编辑器——VIM (04-24)最新网管技术
普通网管技术 [软件应用]FireFox 3.0的新书签程序预览 (04-24)最新网管技术
普通网管技术 [软件应用]Dreamweaver CS4 Pre Release发布 (04-18)最新网管技术
普通网管技术 [数据库]SQL Server 中巧用另类写法代替L… (04-17)
普通网管技术 [网站设计]网管员必知常识 常用电脑密码破解… (04-15)
普通网管技术 [数据库]考虑SQL Server安全 需注意几个方… (04-15)
普通网管技术 [软件应用]4月15日世界之窗网络收藏夹启动内… (04-15)
普通网管技术 [数据库]数据库知识 Microsoft SQL Serve… (04-10)
普通网管技术 [技术文档]一段JS代码,让你的WordPress支持… (04-09)
普通网管技术 [软件应用]解决IE8无法正确输入淘宝、支付宝… (04-09)
没有相关网管技术
  网友评论内容:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
I D *
邮 箱
主 页
评 分 1分 2分 3分 4分 5分
评 论

关于我们  中国·国家信息产业部{粤ICP备06006652号}{陇ICP备06002562号}
版权所有:『AK网盟基地』站长:Hahack | QQ:80505955 | E-mail:Hahack@Gmail.com
Copyright (C) 2005-2007  akhack.org|chinabeta.cn All Rights Reserved