我正在尝试为function
编写一个MATLAB vim-snipmate
代码段。该片段如下所示:
snippet fun
function [ ${1:returnVals} ] = ${2:name}( ${3:args} )
% ${2:name}
% what does the function do?
% ${3:args}
%
end
这与我键入fun
时一样,按Tab键生成模板。
但是,在输入返回变量并再次点击Tab后,第二个占位符没有被标记为编辑,但Tab字符被插入returnVals
字段。
如果我删除评论占位符,则代码段可以正常工作。
有没有办法获取函数名称和参数并将它们放在注释中?
答案 0 :(得分:2)
${n}
表示法用于定义不带占位符的制表位。
${n:foo}
表示法用于定义带有占位符的制表位。
$n
表示法用于镜像在相应制表位插入的值。
在您的代码段中,您使用${n:foo}
重新定义第二个和第三个制表位,而不是使用$n
镜像它们。
以下是您的代码段的固定版本:
snippet fun
function [ ${1:returnVals} ] = ${2:name}( ${3:args} )
% $2
% what does the function do?
% $3
%
${4}
end