NewsRhzhi | 先创资讯 | 旧版入口
rhzhi.net
网站首页 | NewsRhzhi | 先创资讯 | 操作系统 | 工具软件 | 办公软件 | 网站设计 | 组网专栏 | 平面设计 | 多 媒 体 | 程序开发 | 硬件资料 | 聊天软件
您现在的位置: 先创网 >> 工具软件 >> 媒体图文 >> 文章正文
程序员的编辑器——VIM
PConline
2006-9-28 14:36:17文/dieken
    

五、其它高级功能

  (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>指{a-zA-Z0-9"}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] [8] 下一页

打印此页 投稿与建议 返回顶部
栏 目 索 引
软件应用 SOFTWARE
Win XP | NT/2003
Win2000 | DOS/Win9x
PowerPoint | Office
Excel | Word
网络软件 | 实用软件
媒体软件 | 系统软件
常用软件 | 办公软件
聊天软件 | 网络安全
新软试用 | Vista
设计在线 DESIGN
Dreamweaver | 3DMax
Photoshop | Flash
平面设计 | 网页设计
多 媒 体 | 精品画廊
精彩专区 SPECIAL
Q Q 专区 | 热门专题
组网玩网 | 程序开发
应用集锦 |
相关文章
关于我们 - 联系方式 - 合作伙伴 - 网站大事记 - 网站地图 - 我要投稿
Copyright ©1997-2008 先创网 All Rights Reserved.
先创科技 版权所有