Ви можете використовувати kill-whole-line
для вбивства всієї точки рядка на. Положення точки не має значення. Ця команда C-S-DELза замовчуванням пов'язана.
Ви також можете доручити kill-line
(зв'язаний C-k) вбити весь рядок, встановивши змінну kill-whole-line
на незначущу nil
:
(setq kill-whole-line t)
Зауважте, що ця точка повинна бути на початку рядка.
Потім є ці два дорогоцінні камені (через 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)))))
За допомогою цих місць ви можете вбити або скопіювати точку прямої лінії одним натисканням клавіші :
- C-w вбиває поточну лінію
- M-w копіює поточний рядок
Зауважте, що якщо є активний регіон, kill-region
і kill-ring-save
надалі буде робити те, що вони зазвичай роблять: вбийте або скопіюйте його.
Перенос slick-cut
і slick-copy
нова система консультацій
Emacs 24.4 представляє нову систему консультацій . Поки це defadvice
все ще працює , є ймовірність, що він може бути застарілим на користь нової системи в майбутніх версіях Emacs. Щоб підготуватися до цього, ви можете скористатися оновленими версіями slick-cut
та 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
. :)