Anda dapat menggunakan kill-whole-line
untuk membunuh seluruh titik garis aktif. Posisi titik tidak masalah. Perintah ini terikat C-S-DELsecara default.
Anda juga dapat menginstruksikan kill-line
(terikat pada C-k) untuk membunuh seluruh baris dengan mengatur variabel kill-whole-line
ke nil
nilai yang tidak bernilai:
(setq kill-whole-line t)
Perhatikan bahwa titik tersebut harus berada di awal baris agar ini berfungsi.
Lalu ada dua permata ini (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)))))
Dengan ini di tempat Anda dapat membunuh atau menyalin titik garis aktif dengan satu penekanan tombol :
- C-w membunuh baris saat ini
- M-w menyalin baris saat ini
Perhatikan bahwa jika ada wilayah aktif, kill-region
dan kill-ring-save
akan terus melakukan apa yang biasanya mereka lakukan: Bunuh atau salin.
Porting slick-cut
dan slick-copy
ke sistem saran baru
Emacs 24.4 memperkenalkan sistem saran baru . Sementara defadvice
masih berfungsi , ada kemungkinan bahwa itu akan ditinggalkan demi sistem baru dalam versi Emacs di masa depan. Untuk mempersiapkan itu, Anda mungkin ingin menggunakan versi terbaru dari slick-cut
dan 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
. :)