gpt4 book ai didi

c++ - 如何使用 Yasnippet printf

转载 作者:行者123 更新时间:2023-12-04 14:57:21 26 4
gpt4 key购买 nike

我最近看了this fantastic video关于如何在 Emacs 中使用 Yasnippet。

有人可以解释一下如何使用这个片段吗?

具体来说,ifstring-match elisp 条件/函数在该代码段的预期用途方面做了什么?

这段代码可以在 Yasnippet c++-mode> printf 中找到。

# -*- mode: snippet -*-
# name: printf
# key: printf
# --
printf("${1:%s}\\n"${1:$(if (string-match "%" yas-text) ", " "\);")
}$2${1:$(if (string-match "%" yas-text) "\);" "")}

最佳答案

因此,如果您可以将其正确加载到模式中,它应该可以工作(有一些 yasnippet 模式无法为我正确加载——如果所有其他方法都失败了,在片段文件本身中使用 M-x yas-load -snippet-buffer 看看是否可行。)

至于宏,第二个参数基本上以包含“%”符号的第一个参数为条件。如果是,则在结束引号后插入一个逗号,然后您跳到那里,点击您正在编辑的字符串中的制表符。如果其中任何地方都不包含 %,则将其删除。换句话说:

如果您在第一个参数(字符串)中输入没有 %s 的“hello world”,您会得到:

printf("hello world\n");

没有要填写的第二个值。但是,如果您添加一个 %s,您将把光标放在 之后, 以在您点击 Tab 键时填写第二个值(我在此处键入光标在这里):

printf("hello %s\n", CURSORHERE)); 

关于c++ - 如何使用 Yasnippet printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67695426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com