我在Emacs中一直有两个操作:
在进行前两个操作时,我感觉自己像个键盘杂技演员。我认为值得尝试一些自定义键绑定和宏。
关于此自定义的一些问题:
答案 0 :(得分:4)
您是否尝试过使用垂直或水平分割窗口(通过 C-x 3 或 C-x 2 )?看起来它会给你更少的步骤 - 即使你实现了你正在谈论的东西。
我发现拆分窗口确实加快了复制和粘贴操作。我使用我的数字键盘上的箭头键在窗口之间切换(windmove-left
/ -right
/ -up
/ -down
),所以它只有一个按键,你去了你想要的窗户。
我想这与你要求的有点不同,但听起来它可能有助于加快速度。
C-x左和 C-x右循环缓冲区,但你必须多次点击它,你不能只按下键。
要为#1创建宏,只需启动一个宏,点击通常用来创建新缓冲区的键,然后停止宏。
所以它会是这样的:
C-x( C-x b NEW
RET C-x)
然后,您可以在粘贴完成后将NEW
保存到文件中,这样您就可以再次使用宏来创建新的缓冲区。 C-x e 试用这个宏。如果可行,您可以将其保存到init.el
文件中。这完成了:
M-x name-last-kbd-macro
然后您会收到提示输入您选择的名称。这只适用于本届会议。然后将命名宏保存到初始化文件中。首先,您打开.emacs
或init.el
文件。然后将点放在您想要宏定义的位置,然后键入:
M-x insert-kbd-macro
现在,您可以通过 M-x <macroname>
使用其名称运行宏。您也可以将宏绑定到密钥(在.emacs
或init.el
文件中):
(global-set-key (kbd "C-c a") '<macroname>)
例如,这是init.el
创建宏后打开一个名为NEW
的新缓冲区的方式,该缓冲区与文件无关并将此宏绑定到 Cc n :
;; Creates a new unassociated buffer called NEW
(fset 'new-buffer "\C-xbNEW\C-m");
;; Shortcut for new-buffer
(global-set-key (kbd "C-c n") 'new-buffer)
您还可以引入粘贴,缓冲区关闭和缓冲区切换操作。我想你必须手动将缓冲区保存到文件中。
部分资源
有关EmacsWiki上的macros的信息
答案 1 :(得分:1)
我使用这个简单的代码段:
(global-set-key(kbd“&lt; C-tab&gt;”)'埋葬缓冲区)
bury-buffer基本上使当前缓冲区成为缓冲区列表中的最后一个缓冲区,因此您将能够以可预测的顺序循环缓冲区。
答案 2 :(得分:1)
(cua-paste nil)
代替(yank)
。我不确定哪一个更好,为什么。