emacs - 在光标点生成一个随机的 5 个字母 + 数字字符串。 (全部小写)

标签 emacs elisp

我正在使用 Emacs 24.5(在 Spacemacs 中)。我希望能够生成
一个随机的 5 个字符的字符串,只要我在 emacs 中的光标所在的位置,只需按一个键,比如 F2。

一个典型的随机字符串是 jb2nx,所有字母总是小写。 emacs 启动时随机数生成的种子值应该始终不同,以阻止 emacs 在下次打开时生成相同的随机字符串序列。

注意:

我需要这个功能,在点插入一个独特的词,把它用作书签。这样我就可以打开包含随机字符串的行
来自组织模式,例如

[[file:some-code-file::jb2nx][This line in the code-file]] 

将是我的 Org 文件中的一行。而 jb2nx 将被放置在里面
在代码文件中引用的行上的注释。

我不想在::之后直接引用行号,因为在编辑代码文件时行号可以更改。

最佳答案

(defun random-alnum ()
  (let* ((alnum "abcdefghijklmnopqrstuvwxyz0123456789")
         (i (% (abs (random)) (length alnum))))
    (substring alnum i (1+ i))))

(defun random-5-letter-string ()
  (interactive)
  (insert 
   (concat 
    (random-alnum)
    (random-alnum)
    (random-alnum)
    (random-alnum)
    (random-alnum))))

(global-set-key (kbd "<f2>") 'random-5-letter-string)

关于emacs - 在光标点生成一个随机的 5 个字母 + 数字字符串。 (全部小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038441/

相关文章:

将 elisp unixtime 转换为 js-date 对象

list - lisp 从列表中过滤掉不匹配谓词的结果

grails emacs 模式 - "Cannot open load file" "project-mode"

emacs - 可以在 term-char-mode 和 term-line-mode 子模式之间切换的功能?

emacs - 在 elisp 中异步等待进程完成?

windows - 如何在减小文本大小时避免跟随模式大文本溢出到下一个窗口?

emacs - 如何在 Emacs 中将 ESC 绑定(bind)到键盘转义退出?

emacs - 如何正确定义次要模式的键盘映射

Emacs Etags 返回起始缓冲区/位置

emacs - 突出显示 eval-after-load 的错误使用