上周,由于不得不应对R和Perl的不同IDE而感到激怒(我再也不喜欢或者使用其中的任何一个以获得非常舒适),我决定尝试使用Emacs.如果没有我的某种惶恐,就不会做出这个决定.我主要用于带有cperl的Perl和带有ESS的R.我的环境是Windows 7 Ultimate 64位,我正在运行v23.4.1,我认为这是代表我安装的ESS软件包.
差不多一个星期到目前为止,它已经令人惊讶地无痛,没有任何其他重要软件的参与.我已经将我的ctrl键重新映射到大写锁定,更改了默认文件夹,与.emacs混淆并添加了一些功能,如自动安装,yasnippet,颜色主题,冰柱和其他一些.显然,那里有一些非常复杂的东西.当然,基本Emacs的某些功能立即非常强大和有用,例如isearching up和down.总的来说,我感到惊喜和放心.
有一件事比我想象的还要粗糙,就是查找和打开文件的过程.在粗略阅读各种教程后,我得到了这个准魔法文件位置和文件名自动完成的图像.我的设置中的主目录有g:/ roaming/code/perl或g:/ roaming/code/R /等路径,但我经常需要分支到完全不同的路径,如g:/ pricingata/support files/sector/project01 /等等.
目前,当我需要使用不同的fork时,我会费力地删除文件路径,然后使用auto-complete深入到文件系统的那个分支.二十年前,它让我回到Amiga上运行bash shell.
我有什么期望?类似于(使用上面的示例)键入'project01'以立即跳到路径底部的文件夹中.出于某种原因,我在脑海中得到了Emacs预加载目录的想法.所以也许这是不现实的.
我的猜测是,我的困难可能源于我自己缺乏熟悉而不是Emacs的结构性缺陷,并导致我的问题.我不能抱怨没有足够的文件; 相反,有大量的信息,它是随意分散的.冰柱有类似的问题 - 如果有什么太多的话.
1)尝试在迷你缓冲区中打开文件或使用其他方法时,在文件树的不同分支周围移动的最佳策略是什么?是否有可用于从一个地方快捷方式到另一个地方的别名,还是可以指定要预加载的目录?人们只是光盘很多吗?或者我是从完全错误的角度来看这个并且需要采取不同的策略?
2)通过附加设置,可以通过前缀使用通配符等自动完成用于在(例如)project01中找到文件吗?我应该关注什么才能在这里变得更有效率?我没有利用像冰柱,任何东西等附加功能吗?
我意识到这些问题更加危险地关闭了没有明确答案的弃用类别.我的辩护是,在我承诺养成不良习惯或不良的长期解决方案之前,现阶段的一些提示/指导将受到欢迎,我怀疑这些答案将使其他可能正在考虑转换的人受益.如果有问题,我很乐意撤回或改写.
在vim中,有一个名为command-t的神奇插件,它允许您模糊搜索项目中的所有文件.我们有一个相当大的rails应用程序,有大量的文件,它能够处理它几乎没有任何减速.
尝试了一些事情(比如ffip,textmate.el的命令-t和rinari的rinari-find-in-project).用户界面非常棒(我<3 flex),但他们都遇到的问题是在一个大型项目中,性能很差,无法使用.
目前我正在更多地使用rinaris导航命令和ido-find-file.在它们两者之间它是一个可用的设置,但在项目中有一个疯狂的快速模糊查找会很好.
有没有人知道一个更高性能的脚本然后我尝试了什么?