给 MacVim 增加了些类似 TextMate 的功能,求帮忙测试 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ratazzi
V2EX    Vim

给 MacVim 增加了些类似 TextMate 的功能,求帮忙测试

  •  
  •   ratazzi 2011-05-29 17:19:27 +08:00 7337 次点击
    这是一个创建于 5302 天前的主题,其中的信息可能已经有所发展或是发生改变。
    rt,增加了类似 Project Drawer 和 Go to File 的功能

    下载地址: http://linode.ratazzi.org/macvim.zip
    md5sum: 265c1ca1712d914daddf9e2059a27780
    sha1sum: ddb51db7eb0345a878c4bd55101a78bca599f09

    测试前请阅读文档: http://github.com/ratazzi/macvim/wiki

    Screenshot:
    http://www.yupoo.com/photos/ratazzi/81211497/
    http://www.cl.ly/3L271X3V0y2p2X2D2x1m

    非常感谢。
    18 条回复    1970-01-01 08:00:00 +08:00
    miles
        1
    miles  
       2011-05-29 17:40:02 +08:00
    不错,支持
    yugushen
        2
    yugushen  
       2011-05-29 18:14:28 +08:00
    在我机子上,无法打开窗口。Log 如下:

    Dyld Error Message:
    Library not loaded: /gentoo/lib/libiconv.2.dylib
    Referenced from: /Users/username/Downloads/macvim/MacVim.app/Contents/MacOS/Vim
    Reason: Incompatible library version: Vim requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
    ratazzi
        3
    ratazzi  
    OP
       2011-05-29 19:02:46 +08:00
    @yugushen 非常感谢提供的错误信息,原来是我编译时受环境变量影响用到了非标准的系统库所致,已经重新编译,下载地址不变,如果有时间的话再帮忙测下,不胜感激。

    md5sum: 5cb1bb1a3754aac2a84255bc34783d4b
    sha1sum: 70de165e6acdbf9df9b3acc3160048a1143c22f2
    fanzeyi
        4
    fanzeyi  
       2011-05-29 19:05:55 +08:00
    做成插件多好.......
    ratazzi
        5
    ratazzi  
    OP
       2011-05-29 19:12:29 +08:00
    @fanzeyi 这两个功能都是用 objc 写的,是脚本无法完成的功能,如果可能的话后面会改成插件
    fanzeyi
        6
    fanzeyi  
       2011-05-29 20:16:14 +08:00
    @ratazzi 额 主要是插件一般情况下可以跨平台..... =v=
    daqing
        7
    daqing  
       2011-05-29 21:34:09 +08:00
    我在用vim-cocoa,楼主要是能把这些功能移植到vim-cocoa就好了!
    ratazzi
        8
    ratazzi  
    OP
       2011-05-29 21:40:46 +08:00
    @daqing 暂时没有这个想法,抱歉。
    yugushen
        9
    yugushen  
       2011-05-29 22:46:49 +08:00
    @ratazzi 新版本运行正常。简单测试了 Go to File 和 Project Drawer,都没什么问题,功能和限制基本跟 Wiki 上说的一样。

    有个想法,是否有可能做成 SIMBL 插件的形式?因为 Vim 对于添加这种非跨平台的功能非常谨慎,所以你的代码估计很难合并到 MacVim 主支里。做成插件的好处,一个是用户不必重新安装“另一个版本”的 MacVim,还有是每当主版本有更新,插件不需要重新编译。
    ratazzi
        10
    ratazzi  
    OP
       2011-05-30 14:23:38 +08:00
    @yugushen 非常感谢,如果有可能做成插件话那最好不过了,不过现在对 Cocoa 还不熟,目前的两个功能基本也是拼出来的,还不完善,做成插件是下个阶段的任务
    Livid
        11
    Livid  
    MOD
    PRO
       2011-05-30 14:44:07 +08:00
    非常好。

    如何能够设置忽略的文件扩展名呢?

    比如我不想在 Project Drawer 里显示 *.pyc 和 *.pyo 结尾的文件。
    Livid
        12
    Livid  
    MOD
    PRO
       2011-05-30 14:48:00 +08:00
    当我打开了 4 个文件时,在 File 菜单下面出现了四个 Go to File。
    ratazzi
        13
    ratazzi  
    OP
       2011-05-30 15:00:47 +08:00
    @Livid 暂时还不可以,后面会加入,感谢报告 bug
    walleve
        14
    walleve  
       2011-06-14 00:11:40 +08:00
    @ratazzi @yugushen
    其实插件是最好的选择,实在不行,做并行的发布包也不是没可能,呵呵,只是维护成本相对比较高
    noahasm
        15
    noahasm  
       2011-06-15 09:39:12 +08:00
    楼主这个 project drawer 很赞, 国外也有人做了类似的修改,但是他的 drawer 是内嵌在 vim window 里的,没有楼主的赞. 可以借鉴参考一下:

    https://github.com/alloy/macvim/
    ratazzi
        16
    ratazzi  
    OP
       2011-06-15 11:00:03 +08:00
    @noahasm alloy 已经发邮件给我,希望我跟它们合并,协作开发,我还没想好
    noahasm
        17
    noahasm  
       2011-06-15 12:31:19 +08:00
    原来 alloy 的 fork 里面有个 file-drawer 的分支, 这个分支最新的版本已经把 drawer 移除改成内嵌的侧边栏了, 但是它以前的版本里面还有, 所以只要:

    git clone git://github.com/alloy/macvim.git
    cd macvim

    git checkout -b file-drawer origin/file-drawer
    git reset --hard d0babab6fd1c48c1cb5f

    修改 src/MacVim/MMFileDrawerController.m
    在第 547 行: [drawer open]; 下加上一行

    [drawer openOnEdge:NSMinXEdge];

    保存, 然后

    ./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --enable-perlinterp --enable-cscope

    make

    然后 open src/MacVim/build/Release/, 把里面的 MacVim.app 拖到你的 Application 文件夹就可以运行它了, 调出 file drawer 可以从 MacVim 的菜单 Window -> Open File Brwoser, 也可按快捷键(菜单里有提示)

    效果如: http://min.us/lEse6
    alloy
        18
    alloy  
       2011-06-17 05:53:42 +08:00
    @noahasm I hope the translation I have is correct :)

    * I understand that you dislike the browser in a sidebar instead of in an actual window drawer. I think a drawer is nicer as well, however, it becomes a problem when using MacVim in fullscreen mode. This will be especially noticeable when Lion comes out, which encourages fullscreen usage.

    * To get the drawer on the left edge of the window you don't need to change the source, but instead set the preference like so: $ defaults write org.vim.MacVim MMDrawerPreferredEdge 1

    Hope this helps :)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1239 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:50 PVG 07:50 LAX 15:50 JFK 18:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86