yasnippet使用简单说明

目录

使用yasnippet提高效率 yasnippet无法正常使用处理办法

yasnippet是emacs下一套高效的模版(代码块)系統,它允许自定义模版内容并通过tab自动展示,省去了很多重复编写复杂代码块的时间,提高了开发的效率。

官方描述:YASnippet is a template system for Emacs. It allows you to type an abbreviation and automatically expand it into function templates.

对于yasnippet的安装可以查看yasnippet github。

;; 代码块配置
(add-to-list 'load-path
	      "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)

当安装完yasnippet插件后,在emacs下执行M-x yas-new-snippet

回车执行,将会出来初始化自定义模版

第一行# -- mode: snippet --表示当前的模版文件文件mode为snippet-mode,一般默认。

第二行# name:描述当前的模版名称(模版的功能描述)。

第三行# key:为模版的调用快捷键。

第四行# –从该语句下面即为自定义模版内容。

下面我将简单自定义一个js的alert代码,如下所示:

alert(‘hello’); JSON 在这里我添加第二行用于声明模版创建者,alert(‘hello’)即为当在js-mode下输入alert按tab之后自动展示的模版内容。

按下C-c C-c保存该自定义模版,根据提示选择model(执行yas-new-snippet时文件的model,在这里为js-mode),然后保存文件。

那么当我在js-mode文件下输入alert按tab后将会出来alert(‘hello’)自定义代码块。

snippet的语法变量是由$美元符号开始,并且标注1,2,3来定义顺序。

在模版内tab健移动光标并由特殊的$0来指明光标最后停留位置。 自定义模版代码如下:

function \({1: className} (\){2: args}) { $0 } JSON 保存模版后输入function按tab将会显示

function className (args) {

} JSON 并且光标停留在className处,当按下tab后,光标跳到args处,再按下tab光标跳到函数内部,也就是顺序为$1,$2,$0。

${1: className}的语法规则为$声明,1为序号,clasName为默认名称(也可以为空)。

Powered By Valine
v1.4.14