自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

幫你精通Emacs:詳述buffer的3類18種操作

系統(tǒng)
本篇我們從三個(gè)方面闡述了 buffer 的概念與應(yīng)用,我們調(diào)用 C-x C-q 設(shè)置當(dāng)前的 buffer 為 read-only-mode,當(dāng)再次調(diào)用則會(huì)重啟回到 writable 模式。之所以有如此的實(shí)現(xiàn),是通過參數(shù) buffer-read-only 與 view-read-only 兩項(xiàng)設(shè)置。

[[389694]]

Emacs的buffer是文本的載體。Buffer除了承載 textual contents 之外,還包括:

1)當(dāng)前正在訪問的文件,

2)文件是否修改過,

3)已經(jīng)生效的 minor-mode 與 major-mode 等

所有這些都唔那個(gè)從 buffer-local 中查看。在 64 位機(jī)器上運(yùn)行,單個(gè) buffer 文件大小不超過 2^61 。

一、創(chuàng)建與選擇 Buffer

如果打開的 buffer 并不存在,那么 C-x b 將會(huì)創(chuàng)建空白的 Buffer。

  1. // buffer 操作列表 
  2. switch-to-buffer 
  3. switch-to-buffer-other-window 
  4. switch-to-buffer-other-frame 
  5. previous-buffer 
  6. next-buffer  
  7. goto-line 

 重新綁定 previous-buffer 與 next-buffer 到 C-x p 與 C-x n 上面。

  1. (global-set-key "\C-xp" 'previous-buffer) ;;custom 
  2. (global-set-key "\C-xn" 'next-buffer);;custom 

 列出全部已經(jīng)打開的 buffers (list-buffers)

基于buffer-list ,我們能夠管理好當(dāng)前注意力。

二、Buffer 的常用操作

我們調(diào)用 C-x C-q 設(shè)置當(dāng)前的 buffer 為 read-only-mode,當(dāng)再次調(diào)用則會(huì)重啟回到 writable 模式。之所以有如此的實(shí)現(xiàn),是通過參數(shù) buffer-read-only 與 view-read-only 兩項(xiàng)設(shè)置。

Rename-buffer 對(duì)當(dāng)前 buffer 重命名,倘若已存在,則會(huì)報(bào)錯(cuò)。

比較有意思的是 rename-uniquely,將會(huì)在同名的 buffer 后面參加數(shù)字,以區(qū)分開來。此功能多用于我們打開多個(gè)shell, 比如打開了兩個(gè)vterm:

vterms

Buffer也加入到我們?nèi)粘5墓ぷ髁髦校?比如 append-to-buffer, prepend-to-buffer, copy-to-buffer, 以及append-to-file 等等。

三、如操作文件一般操作 buffers

我們能夠如殺死進(jìn)程一樣殺死 buffer,常用的函數(shù)為 kill-buffer, kill-some-buffers, kill-matching-buffers.

以及應(yīng)用 clean-buffer-list 關(guān)閉絕大多數(shù) buffer。更能惹起程序員興趣的,也許是 midnight-hook.

Indirect-buffer 的操作,make-indirect-buffer, clone-indirect-buffer and

clone-indirect-buffer-other-window。

應(yīng)用的關(guān)鍵場(chǎng)景為,我們閱讀文檔的時(shí)候,雙開同一份文件。

四、總結(jié)

以上,我們從三個(gè)方面闡述了 buffer 的概念與應(yīng)用,總結(jié)如下:

  1. // 1.創(chuàng)建與選擇 Buffer (7) 
  2. switch-to-buffer 
  3. switch-to-buffer-other-window 
  4. switch-to-buffer-other-frame 
  5. previous-buffer 
  6. next-buffer  
  7. goto-line 
  8. list-buffers  
  9. // 2. buffer的高頻操作 (5) 
  10. read-only-mode 
  11. append-to-buffer,  
  12. prepend-to-buffer,  
  13. copy-to-buffer 
  14. append-to-file  
  15. // 3. kill buffer 與 indirect buffer (6) 
  16. kill-buffer 
  17. kill-some-buffers 
  18. kill-matching-buffers 
  19. make-indirect-buffer 
  20. clone-indirect-buffer 
  21. clone-indirect-buffer-other-window 

 【編輯推薦】

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-04-01 10:16:01

EmacsJavaScript elisp

2021-03-29 08:14:49

Emacs應(yīng)用配置日程

2021-03-19 08:38:12

Emacs應(yīng)用windows

2023-07-13 08:26:49

Java羅漢增強(qiáng)類

2021-05-28 08:23:03

JavaScriptSet編程

2021-01-13 11:25:12

JavaScript閉包函數(shù)

2020-11-10 16:01:25

程序員設(shè)計(jì)模式技術(shù)

2011-04-18 15:32:45

游戲測(cè)試測(cè)試方法軟件測(cè)試

2020-12-21 10:55:41

Linux系統(tǒng)ls命令

2010-10-18 13:33:24

2021-04-08 09:14:24

js前端函數(shù)

2010-10-11 10:50:13

無線路由安全配置

2010-04-20 16:15:12

負(fù)載均衡方式

2017-08-08 10:45:01

Python編程語言

2015-10-26 08:55:07

提升Python編程語言

2018-09-11 09:00:50

工具開發(fā)應(yīng)用程序

2020-12-17 08:14:30

Linuxrsync備份

2021-04-07 08:03:51

js舉起Hoisting初始化

2015-05-07 15:19:47

IaaSPaaSAzure

2010-03-12 10:31:53

升級(jí)無線LAN
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)