[Emacs] emacs中如何复制当前缓冲区的全部内容

来源:互联网 发布:httprequest 存储数据 编辑:程序博客网 时间:2024/06/01 08:59

emacs是一个强大的编辑器,但是作为一个新手,我并不知道如何复制当前缓冲区的全部内容,而这一功能又经常需要用到,尤其是希望将自己写的东西复制出来,粘贴到blog或者提交到oj.所以就想到用宏定义一组操作,方便自己的使用。下面是流程。


1. 使缓冲区中复制的内容放入系统粘贴板 

在emacs配置文件(~/.emacs)中添加

(setq x-select-enable-clipboard t)
关于: Clipboard

2. 定义宏

 2.1 打开emacs一个缓冲区

    2.2   开始录制宏: C-(

 2.2 定义名为m的书签,以便复制完成后返回光标所在地: C-x r m,输入m,按回车

 2.3 复制整个缓冲区内容

            回到整个缓冲区开始:M-<

            开始选中:C-@

            光标移动到缓冲区末尾,以便选中整个缓冲区:M->

    复制整个选中区域:M-w

   2.4    回到书签原来所在地:C-x r b, 输入m,按回车

   2.5    结束录制宏:C-)

3. 为宏命名

 M-x name-last-kbd-macro, 输入:m-copy-buffer 

4. 保存宏

 在emacs配置文件(~/.emacs)中:M-x insert-kbd-macro,输入m-copy-buffer

    就可以看到刚才定义的宏被输入到文件中,然后C-x C-s保存

 注:如果不保存宏,下次打开emacs就没有了

5. 定义快捷键

 在emacs配置文件(~/.emacs)中添加

(global-set-key (kbd "C-c a") 'm-copy-buffer )

这样,以后输入C-c a就可以方便的复制整个缓冲区的内容了


评论区 @aiqier627 同学告诉我可以用 " C-x + h,全选后,一个M-w",谢谢他。这篇文章就当我年少无知时学了怎么用宏吧。。。


参考资料:

1.《学习GNU Emacs》

2.  Emacs快速指南 (在emacs中 C-h t 可以打开)


原创粉丝点击