Emacs 除了 YASnippet 之外还有没有更好一点的片段插件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ashfinal
V2EX    macOS

Emacs 除了 YASnippet 之外还有没有更好一点的片段插件?

  •  
  •   ashfinal 2017 年 1 月 7 日 3235 次点击
    这是一个创建于 3395 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天终于耐下心来把 spacemacs 的文档扫了一遍,尝试着真正用起来。

    配置了一半,发现 YASnippet 貌似也太弱了点吧?因为之前曾用过 ultisnips ,这个差距特明显。

    但是网上初步搜了下,貌似 emacs 用的都是这个 …… 难道我搞错了什么东西?

    个人特别依赖于 snippet ,请问下有用 spacemacs 的嘛?麻烦推荐下别的插件,提前感谢~

    4 条回复    2017-01-08 14:00:47 +08:00
    SpicyCat
        1
    SpicyCat  
       2017 年 1 月 7 日
    可以去 https://emacs-china.org/ 问问
    我 snippets 用得不多,你具体是什么需求?
    igboy
        2
    igboy  
       2017 年 1 月 7 日
    不先提一下需求吗?是哪里不满意?
    hackpro
        3
    hackpro  
       2017 年 1 月 7 日
    YASnippet 很好用啊,原作者浙大学生现在在 MIT
    ashfinal
        4
    ashfinal  
    OP
       2017 年 1 月 8 日
    @SpicyCat 在那也发帖了,等回复呢

    @igboy
    @hackpro
    说一下我体验到的差异:
    1. YASnippet 的 snippet 源貌似好久不更新了, ultisnips 更新就很勤快;只好去看文档尝试自己写。
    2. ultisnips 文档更详细,有例子说明,甚至还有动图。
    3. ultisnips 可以用 vimscript 、 shell 、 python 来写, YASnippet 只能 Lisp 。真心不想为这多学门语言。
    4. ultisnips 可以根据上下文展开,比如只有在行首才展开,比如上一行满足某条件才展开。
    5. ultisnips 有 visual placeholder ,比如你选择某个词语后展开 snippet ,它会自动帮你把选择的词语放到展开后的 snippet 某位置;
    6. ultisnips 可以即时创建匿名 snippet ,还可以定义展开前/展开后的动作。俩特性可以做很多事情。比如我就发现用它可以实现 snippet “参数”的功能,比如你输入 table3x4 ,给你展开一个 3 行 4 列的 table ,而输入 table4x5 ,给你展开一个 4 行 5 列的 table 。
    7. 有时候你需要多个 snippet 源在一份文档中生效。比如写 html 就希望 js 、 css 甚至 md 的 snippet 都能同时用, ultisnips 很简单添加下文件类型就行, YASnippet 我还不清楚咋搞。

    对照着文档目录,暂时就看到这些。另外,想请教下: Lisp 学起来简单不?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2461 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 01:16 PVG 09:16 LAX 18:16 JFK 21:16
    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