いろいろ特殊な一文字削除

(defun delete-char-x ()
  (interactive)
  (case (get-selection-type)
    (2 (kill-region
         (selection-point) (selection-mark)))
    (3 (kill-rectangle-selection))
    (t (kill-region
         (progn (point))
         (progn
           (forward-char)
           (if (looking-back "\n")
               (skip-chars-forward " \t"))
           (point))))))

リージョンの状態によって削除、に機能追加。WZみたいに、改行をデリートすると、次の行の行頭インデントまで削除してくれる。改行だけ削除したいときはリージョン指定して削除すればよい。