Sie können verwenden kill-whole-line
, um den gesamten Linienpunkt abzutöten, der eingeschaltet ist. Die Position des Punktes spielt keine Rolle. Dieser Befehl ist C-S-DELstandardmäßig gebunden .
Sie können auch anweisen kill-line
(gebunden an C-k), die gesamte Zeile abzubrechen, indem Sie die Variable kill-whole-line
auf einen Nicht- nil
Wert setzen:
(setq kill-whole-line t)
Beachten Sie, dass sich der Punkt am Anfang der Zeile befinden muss, damit dies funktioniert.
Dann gibt es diese zwei Edelsteine (via 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)))))
Mit diesen können Sie den Linienpunkt mit einem einzigen Tastendruck beenden oder kopieren :
- C-w bricht die aktuelle Zeile ab
- M-w kopiert die aktuelle Zeile
Beachten Sie, dass, wenn es eine aktive Region gibt, diese kill-region
wie kill-ring-save
gewohnt weiterarbeitet: Töten oder kopieren Sie sie.
Portierung slick-cut
und slick-copy
neues Beratungssystem
Emacs 24.4 führt ein neues Hinweissystem ein . Solange es defadvice
noch funktioniert , besteht die Möglichkeit, dass es in zukünftigen Versionen von Emacs zugunsten des neuen Systems veraltet ist. Um sich darauf vorzubereiten, sollten Sie aktualisierte Versionen von slick-cut
und verwenden 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
. :)