Auto-insert-mode 输入完关键词以后怎样继续进行下一步?

使用 auto-insert-mode 先输入描述,然后输入关键词,然后怎样退出关键词输入,进入下一步呢?我一 esc 就彻底退出了。

PS:用的是 IVY 补全,不知道和这有没有关系

或者推荐一个你觉得比 auto-insert-mode 更好用的包也行。

应该是有关系的,默认是不输入直接 RET 就会结束。helm-mode 下需要用 C-RETM-REThelm-cr-empty-string),不清楚 Ivy 的情况,但应该也类似与 Helm,有个专门的按键来输入空字符串。

我现在 return 会插入新的关键词,我试试 C-RET.

Edit: 不行,一直 ret 一直插入关键词,C-RET M-RET 也没用。

这个 auto-insert-mode 没有 map 吗? ping @xuchunyang

原来的绑定是会被 ivy-mode (?) 等覆盖掉的,至于 Ivy 如何输入空字符串,参考 Ivy 的文档,不用期待它和 Helm 用同样的绑定。

好的,我试试找找 ivy 的文档。

因为我用的 spacemacs,所以想当然地认为两种按键应该相同,spacemacs 也确实做到了90%以上常用按键都可以通用。这样我从 helm 迁移到 ivy 几乎没有什么不适应。

我装了 ivy 试了下,是这个键。

C-M-j (ivy-immediate-done) Exits with the current input instead of the current candidate (like other commands).

This is useful e.g. when you call find-file to create a new file, but the desired name matches an existing file. In that case, using C-j would select that existing file, which isn’t what you want - use this command instead.

Ivy User Manual

2 个赞

原来这个键还有这种用法,受教了,多谢!

auto insert 拼字符串的写法,再混入一点逻辑处理,可读性不太好。我更偏向 yasnippet,yasnippet 有 expand-env 段,相当于 (let ...),把一些复杂逻辑先处理了,然后在 snippet 里边直接引用结果。

还有占位符/镜像/大小写转换等等特性。

我平时也用 yas,只是写新文件的时候GPL模板什么的用 auto-insert 挺方便的,于是就用了这个。