有没有办法在 emacs 中使用 CC 进行复制并使用 CV 进行粘贴?

有没有办法在 emacs 中使用 CC 进行复制并使用 CV 进行粘贴?

我知道cua 模式,但我特别想将 CC 和 CV(大写版本)绑定为像 Gnome 中的终端一样。有什么办法吗?我试过这个,但它给了我各种错误(显然,它不喜欢我将某些东西绑定到 Cc,无论 C 是否是小写):

(global-set-key "\C-C" 'clipboard-kill-ring-save)
(global-set-key "\C-V" 'clipboard-yank)

还有其他方法可以做到这一点吗,或者我只需要使用某种前缀?

答案1

如果愿意,你可以重新映射整个键盘,最近的 emacs 甚至有一个菜单和 GUI 来帮助你做到这一点。

问题是,CC 是很多其他命令的前缀。这些命令最终都需要附加到新的组合键上。虽然您的剪切和粘贴习惯可能很难改掉,但从长远来看,如果您“服从” Emacs 的惯例,而不是试图强迫它们与 Windows 按键保持一致,您可能会获得更多的乐趣。

答案2

“这更多地是为了与 Linux 终端保持一致并使用更少的击键。”

我的 Linux 终端将 C-Insert 理解为复制,将 S-Insert 理解为粘贴(分别是删除和复制)。Emacs 也理解这些(至少较新的版本是这样的),或者可以很容易地理解它们。事实上,大多数应用程序都理解它们,以及用于剪切的 S-Delete;我通常只在 Web-2.0 网站上遇到麻烦。

答案3

你可以做

(global-set-key [?\C-\S-c] 'clipboard-kill-ring-save)
(global-set-key [?\C-\S-v] 'clipboard-yank)

当然,这在文本终端中不起作用,因为在这种情况下,当您按下时,Emacs 将收到C-c与您按下时完全相同的字节序列C-C

相关内容