YASnippet - emacs 的代码片段管理工具

Posted wdy1184

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YASnippet - emacs 的代码片段管理工具相关的知识,希望对你有一定的参考价值。

添加 snippet

  1. M-x 然后输入 yas-new-snippet 回车 RET,会出现一个新的 buffer

        # -*- mode: snippet -*-
        # name: 
        # key: 
        # --
  2. 在出现的 buffer 中填写相应的数据

        # -*- mode: snippet -*-
        # name: vard
        # key: vard
        # --
        echo '<pre>';
        var_dump($0);
        die;
  3. c-x c-s 保存

    可以保存到两个地方:

    • ~/.emacs.d/private/snippets/modename-mode/
    • ~/.spacemacs.d/snippets/modename-mode/
  4. 代码片段中的 $0 表示代码片段填充之后光标最后停的地方,$1 $2 $3... 表示按 TAB 之后光标停的地方。这些变量我们叫做 tab stop
  5. 在已存在的代码片段上创建 snippet helm-yas-create-snippet-on-region

使用 snippet

  1. 打开一个 buffer
  2. M-/ spacemacs 的 TAB 按键被自动补全使用了,所以这里使用了 M-/ 来触发。
  3. 如果有多个 tab stop 可以使用 TAB 进行跳转

与 auto-completion 整合

;; 让 auto-completion 在提示的时候加上 snippets
(setq-default dotspacemacs-configuration-layers
              '((auto-completion :variables
                                 auto-completion-enable-snippets-in-popup t)))

参考文献:
[0]:Spacemacs - Adding Custom Snippets to Yasnippet
[1]:Emacs Yasnippet video 视频实战,只有不到 7 分钟的时间,值得一看

以上是关于YASnippet - emacs 的代码片段管理工具的主要内容,如果未能解决你的问题,请参考以下文章

Spacemacs配置yasnippe插件

暂时禁止在 Emacs 中添加新行

如何对 .emacs.d 目录中的所有内容进行字节编译?

Emacs:帮助我理解文件/缓冲区管理

emacs系列文章目录——更新ing

用Org-mode管理emacs配置