Vous pouvez utiliser kill-whole-line
pour tuer toute la ligne point est allumé. La position du point n'a pas d'importance. Cette commande est liée à C-S-DELpar défaut.
Vous pouvez également demander kill-line
(lié à C-k) de tuer la ligne entière en définissant la variable kill-whole-line
sur une nil
valeur autre que:
(setq kill-whole-line t)
Notez que le point doit être au début de la ligne pour que cela fonctionne.
Ensuite, il y a ces deux joyaux (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)))))
Avec ceux-ci en place, vous pouvez supprimer ou copier le point de la ligne en appuyant sur une seule touche :
- C-w tue la ligne actuelle
- M-w copie la ligne en cours
Notez que s'il y a une région active kill-region
et kill-ring-save
continuera à faire ce qu'elle fait normalement: la tuer ou la copier.
Portage slick-cut
et slick-copy
nouveau système de conseil
Emacs 24.4 introduit un nouveau système de conseil . Bien que cela defadvice
fonctionne toujours , il est possible qu’il devienne obsolète en faveur du nouveau système dans les futures versions d’Emacs. Pour vous y préparer, vous pouvez utiliser les versions mises à jour de slick-cut
et 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
. :)