windows下使用vim(gvim)的不便及解决方案(1)-文件查找和软链接
相信不少朋友像我一样,无论在linux还是windows下都用vim来办公,但是毕竟vim原生于linux,windows下的某些支持还是做的不太好。
这个系列的文章,我们就一起探讨一下。
一.鸡肋的文件查找
在linux下,查找包含一段文字的文件列表是很方便的:
grep "txt" * |
要遍历所有所有的子文件夹也很容易:
grep "txt" * -r |
但是到了windows下,用那个鸡肋的文件查找功能基本上查不到任何想要的东西,怎么办呢?
非常幸运的,vim考虑到了这一点,在内部实现了 vimgrep 这样一个命令,之前有在文章中介绍过,这次我们详细介绍一下.
虽然名字看起来和grep很像,但是用法还是不一样的,先来看一下普通的查找:
vimgrep /an error/ *.c |
而如果需要循环遍历所有子目录的话,语法如下:
vimgrep /an error/ **/* |
搜索到的文件列表会加入到quickfix中去,执行:
copen |
即可看到所有的文件列表。
OK,这样windows下内容查找的问题就解决啦~
二.没有类似软链接功能
有些没用过linux的朋友可能不明白什么叫软链接,简单来说即一个文件或者文件夹指向了另一个文件或者文件夹,在外面的使用者看起来,没有任何区别。但是为什么在windows下使用vim会遇到这个问题呢?
这里要先介绍一下vimwiki这个插件,这个插件可以用vim来打造个人wiki,被号称是使用vim必装插件,笔者也确实一直在用着,主要是用来做GTD。
但是wiki的问题就在于会生成很多独立的页面,而如果我有两台电脑,希望能够在家和工作都能对GTD的时间表进行处理,于是需要做同步该怎么办呢?现在国内已经有了不少不错的云存储服务,这里大家自己找一下。
问题就在于如果云存储的同步目录和wiki存放的目录不一致怎么办呢?linux下面可以很简单的通过软链接的方式来解决,但是windows xp及之前却并没有自带这样的工具。
问题当然是有解决办法的,详细参考这篇文章:
http://jdev.tw/blog/1242/mklink-junction-quick-folders-access
根据文中介绍,Vista及以上版本是默认带有mklink,实现了类似软链接的功能,而由于本人电脑用的是XP,所以使用junction来做的软链接,即:
junction virtual_dir real_dir |
这样不同目录之间做关联的问题也解决了,但是请千万注意一点:
与linux的软链接不同,用junction做了关联之后,删除虚拟的文件目录,也同样会把真实的目录删掉!务必小心!
OK,暂时只总结了这两点,希望能给windows下的vim(gvim)用户提供一些帮助,以后的文章我们再继续讨论~
建议继续学习:
- vim几个小技巧(批量替换,列编辑) (阅读:35922)
- 简明Vim练级攻略 (阅读:20721)
- Vim下的代码自动补全和代码跳转阅读 (阅读:14358)
- 为什么要用 Emacs/Vim,而不是任何其他编辑器 (阅读:12147)
- 在vim(gvim)中运行终端(对,你没有看错,我也没有写反) (阅读:9345)
- vim入门,进阶与折腾 (阅读:9177)
- 让vim在终端下的配色亮起来! (阅读:8567)
- 最近总结的一些技巧(vim,python,svn,fiddler等) (阅读:7049)
- vim的复制粘贴小结 (阅读:6482)
- Vim 中截取部分内容保存到其他文件 (阅读:6325)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Dante 来源: Vimer
- 标签: vim 查找 软链接
- 发布时间:2011-03-02 23:07:26
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [50] android 开发入门
- [50] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑