1. 程式人生 > >YASnippet - emacs 的代碼片段管理工具

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

工具 pup ide ots 存在 填充 ret out popup

添加 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 的代碼片段管理工具