Emacs交互式读取转义序列

时间:2017-05-08 23:36:02

标签: emacs insert

我正在编写简单的elisp函数,它以交互方式接受3个参数:from,to和separator。然后它插入一系列数字:

(defun gen-seq (from to sep)
  "Generates sequence of numbers FROM .. TO with separator SEP"
  (interactive "nFrom: \nnTo: \nMSeparator: ")
  (insert (mapconcat 'number-to-string (number-sequence from to) sep)))

但是当sep\n时,它会生成类似

的内容
1\n2\n3\n4\n5\n6\n7\n8\n9\n10

是否可以在我的Emacs缓冲区中使用此功能实现一列数字?

2 个答案:

答案 0 :(得分:1)

您可以输入C-q C-j作为分隔符输入换行符。有关详细信息,请参阅emacs手册中的Inserting Text

答案 1 :(得分:1)

尼克的答案是输入换行符的标准方法,但是如果你真的希望Emacs 读取字符串参数就好像它是一个elisp引用的字符串,你可以这样做:

(interactive "x")

您还可以使用"\n" 读取参数,但用户需要输入双引号:NewClient()