日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

第4章 与缓冲区有关的函数

發(fā)布時(shí)間:2025/3/21 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第4章 与缓冲区有关的函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)化的beginning-of-buffer函數(shù)定義

作為一個(gè)交互命令,beginning-of-buffer函數(shù)將光標(biāo)移到緩沖區(qū)的開始位置,這個(gè)一般綁定到M-<(ESC <)上。

這我們要寫一個(gè)簡(jiǎn)易版的beginning-of-buffer,

這個(gè)函數(shù)的參數(shù)列表為一個(gè)空的列表(),也就是不需要參數(shù),

交互表達(dá)式(interactive)告訴Emacs這個(gè)函數(shù)可以交互使用,這里interactive沒有參數(shù),因?yàn)閟implified-beginning-of-buffer不需要參數(shù)。

(push-mark)將一個(gè)標(biāo)記設(shè)置在光標(biāo)移動(dòng)前所處的位置,

光標(biāo)根據(jù)(goto-char (point-min))表達(dá)式的要求移動(dòng)到緩沖區(qū)的開始處。

(goto-char (point-min)),這個(gè)表達(dá)式將光標(biāo)跳到本緩沖區(qū)的最小可能位點(diǎn)處,也即是緩沖區(qū)最開始處(可能開啟變窄就不一樣了)。

可以使用C-x C-x返回到原來(lái)所處的位置。

=================================================

end-of-buffer函數(shù)定義就是用類似于begining-of-buffer函數(shù)定義的方式編寫的,

不同之處在于函數(shù)體用的是(goto-char (point-max))替代了(goto-char (point-min))表達(dá)式。

mark-whole-buffer函數(shù)的定義

mark-whole-buffer函數(shù)并不經(jīng)常使用,它是將整個(gè)緩沖區(qū)作為一個(gè)域來(lái)標(biāo)記,方法是將位點(diǎn)置于緩沖區(qū)開始的位置,

在緩沖區(qū)的末尾放置一個(gè)標(biāo)記,這個(gè)命令一般綁定到C-x h上。

該函數(shù)的完整定義代碼如下:

(push-mark)和(push-mark (point))這兩種形式不同在于push-mark的參數(shù)是可選的,

如果沒有給它傳遞參數(shù),則自動(dòng)在當(dāng)前位點(diǎn)設(shè)置標(biāo)記。

不過(guò)暫時(shí)不知道這個(gè)有啥用。

可以鍵入兩次C-u C-SPC來(lái)返回原來(lái)的位點(diǎn)處。

append-to-buffer函數(shù)的定義

append-to-buffer的功能就是從當(dāng)前緩沖區(qū)中拷貝一個(gè)域(即緩沖區(qū)中介于位點(diǎn)和標(biāo)記之前的區(qū)域),到一個(gè)制定的緩沖區(qū)。

append-to-buffer命令使用insert-buffer-substring函數(shù)來(lái)拷貝一個(gè)域。

insert-buffer-substring從一個(gè)緩沖區(qū)中提取一部分作為一個(gè)字符串,并將這個(gè)字符串插入到另一個(gè)緩沖區(qū)中。

其實(shí)append-to-buffer大部分工作就是指定字符串的來(lái)源和目的緩沖區(qū)。

因?yàn)閍ppend-to-buffer函數(shù)將被交互地使用,所以函數(shù)必須有一個(gè)interactive表達(dá)式。

函數(shù)的這個(gè)交互表達(dá)式為(interactive "BAppend to buffer: \nr")

這個(gè)表達(dá)式中有一個(gè)位于雙引號(hào)中的參量,這個(gè)參量有兩個(gè)部分,其間由"\n"分隔開來(lái)。

參數(shù)的第一個(gè)部分是"BAppend to buffer:"。這里,"B控制符告訴Emacs要求輸入緩沖區(qū)名,并將這個(gè)名字傳遞給函數(shù)。

將會(huì)在小緩沖區(qū)中打印B后面的字符來(lái)提示用戶輸入這個(gè)緩沖區(qū)名。然后Emacs將函數(shù)參數(shù)列表中的參數(shù)buffer綁定到指定的緩沖區(qū)。

參數(shù)的第二部分是"r"。它告訴Emacs將函數(shù)參量列表中符號(hào)"buffer"之后的兩個(gè)參數(shù)(start和end)綁定到位點(diǎn)和標(biāo)記的值上。

使用示例

這個(gè)算是非交互執(zhí)行了,如果要交互執(zhí)行的話M-x,然后輸入命令。

反正執(zhí)行了一遍之后覺得,尼瑪,好屌啊。

?

總結(jié)

以上是生活随笔為你收集整理的第4章 与缓冲区有关的函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。