emacs はデフォルトで M-d に kill-word がバインドされている(と思う。)kill-word は、カーソル位置から単語の終わりまでを削除する。だから、たとえば hoge の 'g' の位置にカーソルがある時に M-d を押すと、ho だけが残って ge が削除される。だけど、カーソル位置にある単語全部、この例だと hoge 全部を削除したい!と思ったので書いてみた。
(defun kill-word-at-point () "kill the word under the cursol" (interactive) (let ((ptn "a-zA-Z0-9_\-")) (kill-region (progn (skip-chars-backward ptn) (point)) (progn (skip-chars-forward ptn) (point))))) (global-set-key "\M-d" 'kill-word-at-point)