Emacs: xah-insert-unicode ๐Ÿ“œ

By Xah Lee. Date: . Last updated: .

here's a command that lets you insert your own set of unicode characters via a completion.

put this in your Emacs Init File:

(defvar xah-unicode-list nil
 "A alist.
Each item is (prompStr . xString). Used by `xah-insert-unicode'.
prompStr is used for prompt.
xString is used for insert a unicode.
xString can be any string, needs not be a char or emoji.
")

(setq
 xah-unicode-list
 '(
   ;;
   ("smile beaming ๐Ÿ˜Š" . "๐Ÿ˜Š")
   ("omg ๐Ÿ˜‚" . "๐Ÿ˜‚")
   ("hug ๐Ÿค—" . "๐Ÿค—")
   ("angry ๐Ÿ˜ " . "๐Ÿ˜ ")
   ("skull ๐Ÿ’€" . "๐Ÿ’€")
   ("heart ๐Ÿฉท" . "๐Ÿฉท")

   ("thumb up ๐Ÿ‘" . "๐Ÿ‘")
   ("thumb down ๐Ÿ‘Ž" . "๐Ÿ‘Ž")

   ("glowing star ๐ŸŒŸ" . "๐ŸŒŸ")
   ("star โญ" . "โญ")
   ("sparkles โœจ" . "โœจ")
   ("black star โ˜…" . "โ˜…")

   ("tv ๐Ÿ“บ" . "๐Ÿ“บ")

   ("lotus ๐Ÿชท" . "๐Ÿชท")
   ("butterfly ๐Ÿฆ‹" . "๐Ÿฆ‹")
   ("LADY bug BEETLE ๐Ÿž" . "๐Ÿž")

   ("checkmark โœ…" . "โœ…")
   ("new ๐Ÿ†•" . "๐Ÿ†•")
   ("rocket ๐Ÿš€" . "๐Ÿš€")
   ("large circle" . "โญ•")
   ("cross โŒ" . "โŒ")
   ("red triangle ๐Ÿ”บ" . "๐Ÿ”บ")
   ("diamond ๐Ÿ’ " . "๐Ÿ’ ")
   ("square โฌ›" . "โฌ›")
   ("SMALL ORANGE DIAMOND ๐Ÿ”ธ" . "๐Ÿ”ธ")
   ("BLACK RIGHT-POINTING TRIANGLE โ–ถ" . "โ–ถ")
   ("BLACK DIAMOND โ—†" . "โ—†")

   ("script ๐Ÿ“œ" . "๐Ÿ“œ")
   ("package ๐Ÿ“ฆ" . "๐Ÿ“ฆ")
   ("cursor โ–ฎ" . "โ–ฎ")
   ("music ๐ŸŽต" . "๐ŸŽต")
   ("ok ๐Ÿ†—" . "๐Ÿ†—")

   ("dagger โ€ " . "โ€ ")
   ("double dagger โ€ก" . "โ€ก")

   ("double angle bracket" . "ใ€Šใ€‹")
   ("black lenticular bracket" . "ใ€ใ€‘")
   ("corner-bracket" . "ใ€Œใ€")
   ("tortoise shell bracket" . "ใ€”ใ€•")
   ("angle bracket" . "ใ€ˆใ€‰")
   ("double angle quote" . "ยซยป")

   ("bullet โ€ข" . "โ€ข")
   ("fullwidth ampersand ๏ผ†" . "๏ผ†")

   ("f hook ฦ’" . "ฦ’")

   ("emdash โ€”" . "โ€”")
   ("middle dot ยท" . "ยท")
   ("...ellipsis โ€ฆ" . "โ€ฆ")

   ("nbsp non breaking space" . "ย ")

   ("left arrow โ†" . "โ†")
   ("right arrow โ†’" . "โ†’")
   ("up arrow โ†‘" . "โ†‘")
   ("down arrow โ†“" . "โ†“")

   ("LONG RIGHTWARDS ARROW โŸถ" . "โŸถ")
   ("mapto โ†ฆ" . "โ†ฆ")

   ;;
   ))
(defun xah-insert-unicode ()
  "Insert a unicode from a custom list `xah-unicode-list'.

URL `http://xahlee.info/emacs/emacs/emacs_insert_unicode.html'
Created: 2021-01-05
Version: 2023-09-19"
  (interactive)
  (let ((xkey
         (let ((completion-ignore-case t))
           (completing-read "Insert:" xah-unicode-list nil t))))
    (insert (cdr (assoc xkey xah-unicode-list)))))