Możesz użyć, kill-whole-line
aby zabić cały punkt linii jest włączony. Pozycja punktu nie ma znaczenia. C-S-DELDomyślnie to polecenie jest powiązane .
Możesz także poinstruować kill-line
(powiązanego z C-k) zabić całą linię, ustawiając zmienną kill-whole-line
na nil
wartość inną niż wartość:
(setq kill-whole-line t)
Zauważ, że punkt musi znajdować się na początku linii, aby to zadziałało.
Są jeszcze dwa klejnoty (przez emacs-fu ):
(defadvice kill-region (before slick-cut activate compile)
"When called interactively with no active region, kill a single line instead."
(interactive
(if mark-active
(list (region-beginning) (region-end))
(list (line-beginning-position) (line-beginning-position 2)))))
(defadvice kill-ring-save (before slick-copy activate compile)
"When called interactively with no active region, copy a single line instead."
(interactive
(if mark-active
(list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position) (line-beginning-position 2)))))
Po ich wprowadzeniu możesz zabić lub skopiować punkt linii za jednym naciśnięciem klawisza :
- C-w zabija bieżącą linię
- M-w kopiuje bieżącą linię
Zauważ, że jeśli istnieje aktywny region kill-region
i kill-ring-save
nadal będziesz robić to, co zwykle: zabij lub skopiuj go.
Przeniesienie slick-cut
i slick-copy
do nowego systemu porad
Emacs 24.4 wprowadza nowy system porad . Chociaż defadvice
nadal działa , istnieje szansa, że może być przestarzały na korzyść nowego systemu w przyszłych wersjach Emacsa. Aby się do tego przygotować, możesz użyć zaktualizowanych wersji slick-cut
i slick-copy
:
(defun slick-cut (beg end)
(interactive
(if mark-active
(list (region-beginning) (region-end))
(list (line-beginning-position) (line-beginning-position 2)))))
(advice-add 'kill-region :before #'slick-cut)
(defun slick-copy (beg end)
(interactive
(if mark-active
(list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position) (line-beginning-position 2)))))
(advice-add 'kill-ring-save :before #'slick-copy)
kill-whole-line
. :)