(setq kill-whole-line t) (defun kill-line-number-at-point () (interactive) (kill-new (format "%d" (line-number-at-pos))) ) (defun kill-line-remove-blanks () (interactive) (if (looking-at "[[:space:]]*$") (let ((end (point-max))) (delete-blank-lines) (when (= end (point-max)) (delete-horizontal-space) (delete-char 1)) (when (and (= (point-min) (point)) (looking-at "[[:space:]\n]") ) (kill-line) )) (kill-line) )) (defun kill-region-or-buffer () (interactive) (let*((scope (if mark-active (list (mark) (point) ) (list (point-min) (point-max)) )) (min (nth 0 scope)) (max (nth 1 scope)) ) (kill-region min max) )) (provide 'kill)