生成指定格式的数字序列

问题描述

写论文的时候需要插入引用文献 如果手写的话 如何快速生成类似下面样子是序列?

1
2
3
[1]
[2]
[3]

Emacs Lisp

1
(loop for i from 1 to 10 do (insert (format "[%d] \n" i)))

一行解决问题 这是我以前经常用的

BASH

有一个命令是seq 以前只知道它能生成数字序列 今天知道它还能改生成的格式

1
seq -f "[%g] " 10

注意 要点是 这里的格式描述符是**%g** %d一类的东西不好使

其他

我以前有一个比较蹩脚的方法 先插入[] 然后选择 用C-x r N来插入 但这个时候还是需要手写格式符 好麻烦的

当然 用Emacs的键盘宏(keyboard macro)也可以实现 要点是C-x C-k TAB 但和上面的方法一样很蹩脚 还是不说了

心得

自由/开源软件灵活性真大