对呀,就是这种奇怪的负担。Emacs原生按键依赖Ctrl Meta这种修饰键,可以说独树一帜,加上自己常用按键的改造,效率非常高;但是我先用的vim,还是更习惯模式编辑,vim高效的方式是弃用 select mode。赋予动作加位置的操作,比方说 de 就代表删了一个单词;meow好在哪里呢,它采用 kakoune/helix 的逻辑,先做选择后动作,动作结束后依然是normal模式,不用退 select mode。vscode 上的 oomotion_vscode 是我认为类似于 meow 的更极大成者,它甚至不用选择,它本来的状态就是选择的,所以每次的操作更省按键,但是它的模式切换就变成了单个字母/单词/treesitter 这样的选择,也不一定是省按键的。所以说,还是看自己的选择。
1 个赞
M-w有选中内容时复制选中内容,没有选中内容时复制当前行
(defun my-kill-ring-save (beg end &optional region)
(interactive (list (mark) (point)
(prefix-numeric-value current-prefix-arg)))
(if (region-active-p)
(kill-ring-save beg end region)
(progn
(message "Copied line")
(kill-ring-save (line-beginning-position) (line-end-position)))))
(global-set-key [remap kill-ring-save] 'my-kill-ring-save)
删除当前行的话,我用原生按键C-S-BACKSPACE
对,这个逻辑跟easy-kill是一致的,很好用
比较简洁的原生按键:C-S-a M-w
不在行尾怎么办?
非常好用,一直在用这个包。已经成了我在任何开发环境上都要装上的了。
1 个赞
试试这个:
(defun kill-new-line ()
"Push the current line into the kill ring."
(interactive)
(kill-new (thing-at-point 'line)))```
将之绑定个舒服的键 ~