加载中…
个人资料
善用佳软
善用佳软 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:5,322,047
  • 关注人气:3,357
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

善用Vim:实例系列(2)

(2006-04-22 21:40:25)
分类: VIM/text
http://www.vim.org/images/vim_header.gif[本文说明] 写过多篇Vim应用小文,为方便阅读,现做整理,并删除旧文。以后凡Vim文章,皆归入此系列。另,为便于搜索,统一vim、gvim及大小写为Vim。 --xbeta 2007年12月20日
[本文目录] 1 处理word目录 2 改变大小写 3 制作极点单字库

1 处理word目录

任务:
  从word中把目录复制出来,去除多余信息(标题编号、页码)
命令:
  %s/\d\|\.\|\s//gc
结果:
  转瞬间200多行1000多字符烟消云灭
附图:
  善用Vim:实例系列(2)

2 改变大小写

刚才在BBS上回答了一个问题,当然,这个问题并不复杂。就是“如何把一个文本文件中的大写字母全部替换成小写”。http://www.newsmth.net/bbscon.php?board=NewSoftware&id=840511

  Word当然可以。

  但作为文本,首先想到的还是gVIM,用它如何操作呢?
  打开文件后,不用任何鼠标、菜单,只须在键盘上按下“ggguG”就行了。
  极品软件就是这样:唯有功能强到极致,操作才能简到极致!

解释一下:ggguG分作三段gg gu G
gg=光标到文件第一个字符
gu=把选定范围全部小写
G=到文件结束

3 制作极点单字库

用五笔,我习惯输入单字。为此,就要把词库中的多字词去除。
(之所以不设定为单字模式,因为定义了一些其他词,如bis=http://blog.sina.com.cn/m/xbeta等)
极点有一个这样的工具,但我用的不熟。
想到了强大的VIM文本编辑器,一试,果然成功,并且简便。
与大家分享如下。(如果试验请谨慎,先做好备份。本文作者不对后果承担任何责任)
并感谢杜老师在极点5.0中更正了极点设置后VIM会崩溃的问题。
极点词库格式很简单,编码1-4字母,几个词,用空格分开。例如下:
  |aaff 蓬蓬勃勃 苷
  |aafg 葡萄干
  |aafh 苏东坡
  |aafn 工场
  |aafo 蘜
要去除多于1字的词语,只要2行命令就OK。
用VIM打开词库文件。
执行命令
  :.,$s/ \S\{2,}\( \|$\)/ /gc
  :.,$g/^\a\{1,4} $/normal dd
保存,就完了。
只要2行命令,而每条命令又如此古怪,大家可以想见VIM之功能强大。

  VI是UNIX下文本编辑器的鼻祖。也就是说,基于它有很多改进的分支。
  而VIM则是其中影响力最大的一支。它的第一个版本出现于1976年(哪个软件还有如此长的历史而依然活跃)。
  我以前知道并用过盗版的Ultraedit、Editplus、Emeditor,认识VIM后将它们全舍弃了。
  你能设想VIM是免费开源的吗?
  VIM在windows平台下的版本是gVIM,我用的就是它。
  安装后(包括多国语言文件、插件、语法文件)占空间20M。其实,最少只要一个exe文件不到2M就可以用了。
  有兴趣的可以到华军下载一个。再到网上找找教程,或到水木社区smth.org的VIM版。
:.,$s/ \S\{2,}\( \|$\)/ /gc
解释如下:
  :表示外部命令
  .,$表示当前行到全文结束
  s表示替换
共有三个/
  前两个//之间是要被替换的旧字符串(正则表达式)。“ \S\{1,}\( \|$\)”表示“先有一个空格,再有1-N个非空字符,然后是一个空格或行尾”。
  后两个//之间是要替换为的新字符串,本例中,为一个空格。
  gc表示替换所有匹配的情况,并且每次要用户手工确认(这是为了直观和谨慎,如果有把握,可以不确认,直接执行)。

:.,$g/^\a\{1,4} $/normal dd
解释如下:
  :表示外部命令
  g表示找到某个字符串,然后执行某个操作
  第一个/之后是要找的字符串,“^\a\{2,4} $”表示找“行首,然后是2-4个英文字母,然后空格,然后行尾”
  第二个/之后是要执行的命令,“normal dd”,在VIM中是删除本行。
善用Vim:实例系列(2)(本篇完)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有