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)))

因为效率原因,笔者已经放弃 emacs & spacemacs 的折腾之路,请大家也慎重考虑是否要使用 emacs 来作为自己的主编辑器。

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

posted @   吴丹阳-V  阅读(565)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示