Emacs: Insert Random Number/Hex/String π
This page shows emacs lisp commands to insert random {number, string, hexadecimal}.
Set Random Seed
First, in your emacs init file, you should change the random seed, like this:
(random t) ; seed random number
Else, every emacs restart, the sequence of random will be the same.
Insert Random Number
(defun xah-insert-random-number (CountX) "Insert CountX random digits. CountX default to 3. Call `universal-argument' and type a number, then, call this command, for different count. URL `http://xahlee.info/emacs/emacs/elisp_insert_random_number_string.html' Version: 2017-05-24 2022-04-02" (interactive "P") (let ((xcharset "1234567890") (xbaseCount 10) (xcount (if (numberp CountX) (abs CountX) 3))) (dotimes (_ xcount) (insert (elt xcharset (random xbaseCount))))))
Insert Random Hexadecimal
(defun xah-insert-random-hex (CountX) "Insert CountX random hexadecimal digits. CountX default to 5. Call `universal-argument' and type a number, then, call this command, for different count. URL `http://xahlee.info/emacs/emacs/elisp_insert_random_number_string.html' Version: 2017-08-03 2023-01-13" (interactive "P") (let ((xn (if (numberp CountX) (abs CountX) 5 ))) (insert (format (concat "%0" (number-to-string xn) "x" ) (random (expt 16 xn))))))
Insert Random String
(defun xah-insert-random-string (NUM) "Insert a random alphanumerics string of length 5. The possible chars are: 2 to 9, upcase or lowercase English alphabet but no a e i o u, no L l and no 0 1. Call `universal-argument' before for different count. URL `http://xahlee.info/emacs/emacs/elisp_insert_random_number_string.html' Version 2018-08-03 2022-09-26" (interactive "P") (let* ((xcharset "BCDFGHJKMNPQRSTVWXYZbcdfghjkmnpqrstvwxyz23456789") (xbaseCount (length xcharset))) (dotimes (_ (if (numberp NUM) (abs NUM) 5)) (insert (elt xcharset (random xbaseCount))))))
O emacs! β₯
Thanks to Teemu Likonen [tlikoβ¦@iki.fi] for improvement.