Emacs中剪贴、复制、粘贴的默认快捷键却是Ctrl-W, Alt-W, Ctrl-Y

设计原理

既然如此,那么一些人可能就想知道Emacs为什么要把Ctrl-W, Alt-W, Ctrl-Y作为剪贴、复制、粘贴的快捷键?它们到底代表了什么含义?

剪贴
Emacs把剪贴动作称之为kill(杀死),也称之为wipe out(抹去,干掉),因为剪贴会将一块选择的文本抹去、干掉。Emacs剪贴快捷键Ctrl-W中的W就取自wipe这个单词的首字母。
复制
Emacs设计了一种叫kill-ring(kill环)的东西,类似现在大家所熟知的“剪贴板”,被kill的文本都存储在这个kill环中。在Emacs中,复制又叫kill-ring save,也就是指放到kill环中。
粘贴
Emacs的粘贴也叫yank。yank这个单词原指动作“急拉“。粘贴快键Ctrl-Y的Y就取自yank这个单词。貌似vi的设计先辈们也很喜欢这个词,但是与Emacs完全相反,yank在vi中表示“复制”。如果没有kill/kill-ring这些概念,从直觉上看,用yank引申出“复制”比“粘贴”更容易让人接受一些。但在Emacs中,有了kill/kill-ring这些概念,用yank引申出“粘贴”反而要合适了。因为,Emacs的粘贴,就是从kill环中取出最近一块被标为kill(杀死)的文本,在光标位置“复活”,有点像起死回生,或将将死之物从死亡线上拉回(yank)的概念。