在编码的过程中,经常需要复制和剪切一整行代码,如果用emacs本来的快捷键,复制一行的话,需要C-a C-@ C-e M-w 4步操作才能完成,比较麻烦。
于是,我改造了一下emacs的M-w和C-w快捷键,当没有区域被选中的时候,就复制或剪切一整行。
代码如下:
;; copy region or whole line(global-set-key "\M-w"
(lambda ()
(interactive)
(if mark-active
(kill-ring-save (region-beginning)
(region-end))
(progn
(kill-ring-save (line-beginning-position)
(line-end-position))
(message "copied line")))))
;; kill region or whole line
(global-set-key "\C-w"
(lambda ()
(interactive)
(if mark-active
(kill-region (region-beginning)
(region-end))
(progn
(kill-region (line-beginning-position)
(line-end-position))
(message "killed line")))))