V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hikerpig
V2EX  ›  程序员

大家是如何管理跨编辑器的 snippet 的?

  •  
  •   hikerpig · 2019-12-19 13:48:02 +08:00 · 3870 次点击
    这是一个创建于 1793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前使用 vim 的时候,写了好些 UltiSnips 的代码片段,现在多数时候在用 vscode,把以前的 snippet 全转移过来是在有点费劲。

    想问大家,有没有一站式的 snippet 管理或者转换方案,写一次 snippet 各个编辑器都能用的?基本上 snippet 语法只需要支持简单的变量替换就可以。

    据大家说 Dash 的 snippet 管理很好用,还有 TextExpander 之类的,我没试过。一是这二者都是 Mac 上的付费软。二是我比较倾向于使用编辑器自己生态下的 expander 相关机制或插件(UltiSnips 之于 Vim, yas 之于 Emacs,vscode 和 atom 自己的 snippet 管理之类),所以只想找一个 snippet 文件管理和语法互转的方案。

    第 1 条附言  ·  2019-12-19 16:16:12 +08:00
    感谢大家的回答,我细化说明一下问题。

    在我看来 snippet 管理有两大类:

    1. 有用的静态片段,用于收集并理解一段功能代码 /奇技淫巧 /代码示例,例如 Gist/Lepton/gistbox/SnippetLab 等都可以达到,主要是编程经验的积累。

    2. 常用的动态片段,相当于模板,带有占位符,也许可以有类似于 @time 之类自动展开的功能。

    这个问题主要想寻求的是 2 的一站解决方案。
    18 条回复    2019-12-20 11:04:35 +08:00
    coderQiQin
        1
    coderQiQin  
       2019-12-19 14:15:19 +08:00
    gitsbox
    TabGre
        2
    TabGre  
       2019-12-19 14:15:51 +08:00
    现在用 alfred
    hikerpig
        3
    hikerpig  
    OP
       2019-12-19 15:29:50 +08:00
    @coderQiQin gistbox 似乎没有变量展开的功能?我感觉它和 gist 一样,比较适合做一个既定代码片段的说明。
    BBCCBB
        4
    BBCCBB  
       2019-12-19 15:33:21 +08:00
    楼主,这是个挣 star 的好机会, 靠你写个这种插件了!!
    GoLand
        5
    GoLand  
       2019-12-19 15:54:37 +08:00
    有个叫 SnippetsLab 的软件,挺好用。
    hikerpig
        6
    hikerpig  
    OP
       2019-12-19 16:10:36 +08:00
    @GoLand 看了眼 setapp 里有。但还是和 gistbox 相似的问题,与我寻求的 expandable snippets 不太 match。
    jdhao
        7
    jdhao  
       2019-12-19 16:18:04 +08:00 via Android
    楼主可以贴一下自己的 vim snippets 嘛
    alexzuo
        8
    alexzuo  
       2019-12-19 16:32:51 +08:00
    dash 好像有这个功能
    hikerpig
        9
    hikerpig  
    OP
       2019-12-19 18:59:49 +08:00
    刚发现了有个国人写的 vscode 插件 https://github.com/corvofeng/Vsnips,可以部分解决我的问题(现在在 osx 下由于一个小问题会报错,暂时用不了)。
    hikerpig
        10
    hikerpig  
    OP
       2019-12-19 19:04:58 +08:00
    @jdhao 其实也没啥哈哈哈,一些鸡毛蒜皮的博客 md 文件开头模板,代码分块注释等零碎的东西。

    UltiSnips 默认给出的 snippet 里,可以运行 python 函数,倒是挺诱人的
    corvofeng
        11
    corvofeng  
       2019-12-19 20:30:02 +08:00 via Android
    @hikerpig 不好意思平时没有 Mac, 可以提个 issue 吗, 我看看能不能解决
    hikerpig
        12
    hikerpig  
    OP
       2019-12-19 21:09:00 +08:00 via Android
    @corvofeng 哈哈哈大佬现身,我下午就提了,还扔了个截图
    zhuangzhuang1988
        13
    zhuangzhuang1988  
       2019-12-19 21:31:24 +08:00
    几年能切换多少次编辑器
    hikerpig
        14
    hikerpig  
    OP
       2019-12-19 21:41:01 +08:00 via Android
    @zhuangzhuang1988 骑墙党流下了不争气的眼泪。要说其实总共也没多少 snippet,但有两个编辑器切着用的话新加一个片段要写两次,而且格式完全不同还是挺烦的。
    搜了一圈发现的确没啥统一的方案,估计需求略小众。
    更一体化和小白友好的就是各种像 alfred 一样直接与与系统交互的应用了。
    xudaolong
        15
    xudaolong  
       2019-12-19 21:52:48 +08:00
    用我写得 codeexpander (#^.^#)
    xudaolong
        16
    xudaolong  
       2019-12-19 21:54:24 +08:00
    我写得 codeexpander 完全符合你得要求 而且同步 gist 去中心化
    impony
        17
    impony  
       2019-12-20 09:12:09 +08:00
    Dash
    hikerpig
        18
    hikerpig  
    OP
       2019-12-20 11:04:35 +08:00
    Vsnips 在 OSX 上修好了,当前阶段问题解决。

    看了一圈的感觉是,写一个 snippet 解释引擎应该不是个很费力的事情,所以现在不同的插件作者都喜欢自己撸一套,顺带加上自己的喜好需求以及对应编辑器的一些独特功能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.