<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      閑人草堂

        博客園  :: 首頁(yè)  :: 新隨筆  :: 聯(lián)系 :: 訂閱 訂閱  :: 管理

      http://lifegoo.pluskid.org/wiki/EmacsAsFileManger.html

      dired

      dired 是 Emacs 自帶的文件管理器,操作非常方便,再加上一些擴(kuò)展之后無(wú)疑是 一個(gè)理想的文件管理器。看看這里來(lái)了解如何增強(qiáng)你的 dired 。

      Mark & Flag

      dired 最方便的一點(diǎn)就是可以對(duì)許多文件進(jìn)行標(biāo)記,并進(jìn)行批量操作。標(biāo)記的方 法有很多,最普通的標(biāo)記就是 d 為當(dāng)前文件貼上刪除標(biāo)簽,之后可以使用 x 來(lái) 真正刪除所有貼上刪除標(biāo)簽的文件。

      dired 還提供了許多預(yù)定義的方便的標(biāo)記操作(當(dāng)使用 C-u 傳遞一個(gè)前綴參數(shù) 時(shí),他們執(zhí)行相反操作,即去掉標(biāo)記),例如:

      • # 為所有自動(dòng)保存的文件(通常是文件名開(kāi)始和結(jié)尾都是 # 的文件)貼上刪除 標(biāo)簽。
      • ~ 為所有備份文件(即文件名以 ~ 結(jié)尾的文件,Emacs 和 vi 等編輯器默認(rèn) 情況下都會(huì)產(chǎn)生這樣的文件)貼上刪除標(biāo)簽。
      • & 為“垃圾文件”(看 dired-garbage-files-regexp 的值可以知道 dired 把 哪些文件當(dāng)作了垃圾文件)貼上刪除標(biāo)簽。

      通常這些命令可以方便地幫你清理垃圾,如果還不滿(mǎn)意,可以使用 % d REGEXP <RET> 來(lái)輸入自己的正則表達(dá)式,匹配到的文件會(huì)被貼上刪除標(biāo)簽。

      當(dāng)然,能用的標(biāo)簽并不止是 D (即刪除標(biāo)簽),幾乎任何一個(gè)字符都可以使用,不 過(guò)最常用的還是 * , m 命令即是以 * 標(biāo)記當(dāng)前文件。同樣,dired 提供了很多 方便的標(biāo)記操作(這些命令在傳遞一個(gè)前綴參數(shù)的時(shí)候都會(huì)執(zhí)行相反的操作,例如 C-u * * 會(huì)去掉所有可執(zhí)行文件的標(biāo)記):

      • * * 標(biāo)記所有可執(zhí)行文件。
      • * @ 標(biāo)記所有符號(hào)鏈接。
      • * / 標(biāo)記所有目錄(不包括 . 和 .. )。
      • * s 標(biāo)記所有文件(不高考 . 和 .. )。
      • * . 標(biāo)記具有給定擴(kuò)展名的文件。
      • % m REGEXP <RET> 或 * % REGEXP <RET> 標(biāo)記所有匹配到給定的正則表達(dá)式 的文件。
      • % g REGEXP <RET> 標(biāo)記所有文件 內(nèi)容 匹配到給定的正則表達(dá)式的文件。

      另外,還有一些相關(guān)的命令:

      • u 去除當(dāng)前行的標(biāo)記。
      • <DEL> 上移一行并去除該行的標(biāo)記。
      • U 去除所有標(biāo)記。
      • * ? MARKCHAR 或 M-<DEL> 去除所有以 MARKCHAR 標(biāo)記的文件的標(biāo)記,如果 傳遞一個(gè)前綴參數(shù),則會(huì)對(duì)每一個(gè)文件要求你確認(rèn)是否去除標(biāo)記。
      • t 交換標(biāo)記,即所有原來(lái)標(biāo)記為 * 的文件被置于未標(biāo)記狀態(tài),原來(lái)未標(biāo)記的 文件被標(biāo)記為 * ,原來(lái)有其他標(biāo)記的文件不受影響。

      上面的操作都是使用 * 進(jìn)行標(biāo)記,但是 dired 可以使用更多的字符進(jìn)行標(biāo)記, 只是沒(méi)有提供相應(yīng)的快捷鍵操作而已,你可以先以 * 標(biāo)記,然后使用 * c OLD-MARKCHAR NEW-MARKCHAR 來(lái)把 * 標(biāo)記變換成其他標(biāo)記,幾乎任何字符(當(dāng)然 不包括中文這種多字節(jié)的字符)都可以作為標(biāo)記,不過(guò)空格被特殊對(duì)待,用于表示 所有未標(biāo)記的文件。

      列舉了這么多命令,多少有些枯燥,作為一個(gè)例子,我們來(lái)把當(dāng)前目錄下的所有 備份文件移動(dòng)到 ~/backup 目錄下。假設(shè)當(dāng)前目錄已經(jīng)有一些文件被你以 D 標(biāo) 記,但是暫時(shí)還不想刪除:

      1. 選擇個(gè)臨時(shí)標(biāo)記,比如 t ,只要保證當(dāng)前 buffer 里面沒(méi)有已經(jīng)存在的 這種標(biāo)記就行了。
      2. * c D t 把當(dāng)前所有 D 標(biāo)簽換為 t 標(biāo)簽。
      3. ~ 以 D 標(biāo)記所有備份文件。
      4. * c D * 把 D 標(biāo)簽換為 * 標(biāo)簽。
      5. R ~/backup <RET> 來(lái)把所有標(biāo)記為 * 的文件移動(dòng)到 ~/backup 目錄里面。
      6. * c t D 恢復(fù)原來(lái)的 D 標(biāo)記。

      當(dāng)然這要假設(shè)你原來(lái)沒(méi)有設(shè)定其他的 * 標(biāo)記,要不然你也可以再添加一個(gè)臨時(shí) 標(biāo)記。總之操作和清晰也很方便,感覺(jué)像在匯編語(yǔ)言里面使用寄存器一樣,大多 數(shù)批量操作都是針對(duì) * 標(biāo)記的,所以對(duì)某個(gè)標(biāo)記操作之前需要把他先轉(zhuǎn)換為 * 標(biāo)記。

      另外,還有一個(gè)非常強(qiáng)大的標(biāo)記的方法,綁定到 M-( 或 * ( 上。它可以讓你使 用斷言來(lái)決定標(biāo)記哪些文件。 C-h f dired-mark-sexp RET 可以得到詳細(xì)的文檔。 這個(gè)功能非常強(qiáng)大,有點(diǎn)類(lèi)似于 find 程序,例如,標(biāo)記所有沒(méi)有編譯的Elisp 文件(如果編譯了,那么會(huì)有一個(gè)同名,但是擴(kuò)展名為 .elc 的文件存在) 的方法 是輸入這個(gè)斷言: (and (string-match "\\.el$" name) (not (file-exists-p (concat name "c")))) 。

      文件操作

      dired 內(nèi)建了很多文件操作,對(duì)于操作的文件有一個(gè)統(tǒng)一的約定,按照順序是:

      1. 如果你通過(guò) C-u 傳遞一個(gè)前綴參數(shù) N ,那么它對(duì)從當(dāng)前行開(kāi)始的 N 行執(zhí) 行操作( N 也可以是負(fù)數(shù))。
      2. 如果有被標(biāo)記為 * 的文件,則以這些文件為操作對(duì)象。
      3. 只對(duì)當(dāng)前光標(biāo)所在的文件進(jìn)行操作。

      常用操作

      這些命令全部綁定到大寫(xiě)字母上,記憶也非常方便:

      • C 拷貝文件。把 dired-recursive-copies 設(shè)為非 nil 的值可以遞歸拷貝目 錄,通常我們?cè)O(shè)定為 top ,這表示對(duì)于頂層目錄 dired 會(huì)先進(jìn)行詢(xún)問(wèn)是否 要遞歸拷貝,而其中的子目錄則不再詢(xún)問(wèn)。如果嫌詢(xún)問(wèn)太麻煩,可以直接設(shè) 置為 always 。
      • D 刪除文件。類(lèi)似的有一個(gè) dired-recursive-deletes 變量可以控制遞歸刪 除。
      • R 重命名文件,也就是移動(dòng)文件。
      • H 創(chuàng)建硬鏈接。
      • S 創(chuàng)建軟鏈接。
      • M 修改權(quán)限位,即 shell 里面的 chmod 命令。
      • G 修改文件所屬的組。
      • O 修改文件的所有者。
      • T 修改文件的修改時(shí)間,類(lèi)似于 shell 命令 touch 。
      • P 打印文件。
      • Z 壓縮或解壓文件。
      • L 把 Elisp 文件加載進(jìn) Emacs 。
      • B 對(duì) Elisp 文件進(jìn)行 Byte compile 。
      • A 對(duì)文件內(nèi)容進(jìn)行正則表達(dá)式搜索,搜索會(huì)在第一個(gè)匹配的地方停下,然后 可以使用 M-, 搜索下一個(gè)匹配。
      • Q 對(duì)文件內(nèi)容進(jìn)行交互式的正則表達(dá)式替換。

      shell 命令

      除了這些操作,還可以使用 ! 來(lái)執(zhí)行 shell 命令。這里介紹了自動(dòng)猜測(cè) shell 命令的辦法,就類(lèi)似于通常的文件管理器里面以關(guān)聯(lián)的程序打開(kāi)了。

      強(qiáng)大的重命名功能

      dired 有一個(gè)文件名轉(zhuǎn)換的理念,所以轉(zhuǎn)換,并不一定是重命名,還可以是復(fù)制 和創(chuàng)建鏈接。所以,除了 % u 和 % l 重命名原文件為大寫(xiě)、小寫(xiě)外,一個(gè)使用 正則表達(dá)式進(jìn)行轉(zhuǎn)換的命令提供了四個(gè)選項(xiàng): % X 其中 X 可以是 R , C , H 和 S ,分別代表重命名、復(fù)制、創(chuàng)建硬鏈接和創(chuàng)建軟鏈接,他們使用匹配和替換的 機(jī)制,這有點(diǎn)像 rename 這個(gè)程序,例如: % R \.[^.]*$ <RET> .1\& <RET> 給原來(lái)的文件名加個(gè)標(biāo)號(hào) 1 ,把 foo.txt 變成 foo.1.txt 。

      另外,dired 還有一個(gè)叫做 Wdired 的擴(kuò)展可以直接在 dired 的 buffer 里面編 輯文件名來(lái)達(dá)到重命名的效果。使用 M-x wdired-change-to-wdired-mode 進(jìn)入 編輯模式,這個(gè)時(shí)候可以直接像編輯普通文本一樣編輯文件名,還可以添加路徑 來(lái)實(shí)現(xiàn)把文件移動(dòng)到其他目錄。除了文件名可以編輯以外,其他部分被標(biāo)記為只 讀,但是如果把 wdired-allow-to-change-permissions 設(shè)為 t 的話(huà),還可以 編輯文件的權(quán)限位。編輯完成之后使用 C-c C-c 來(lái)應(yīng)用所做的編輯。非常方便。

      排序和過(guò)濾

      dired 有方便的排序功能,這里介紹了如何方便地使用排序功能。另外 dired 還有一個(gè) k 用于去掉不想顯示出來(lái)的文件,它并不刪除磁盤(pán)上的文件,只是臨 時(shí)從 dired 的 buffer 中去掉他們, g 刷新一下它們又會(huì)顯示出來(lái),這樣,首 先用強(qiáng)大的標(biāo)記功能進(jìn)行標(biāo)記,然后使用 k 去掉,就實(shí)現(xiàn)了過(guò)濾的功能。

      子目錄操作

      dired 允許同時(shí)操作當(dāng)前目錄和子目錄。在 dired-listing-switches 里面加入 R 選項(xiàng)就可以顯示子目錄,如果只是想臨時(shí)顯示某個(gè)子目錄的內(nèi)容,對(duì)該目錄執(zhí) 行 i 操作就會(huì)把該子目錄的內(nèi)容添加到 dired 當(dāng)前 buffer 的末尾并把光標(biāo)移 動(dòng)到那里,dired 在移動(dòng)之前會(huì)先設(shè)置一個(gè) mark ,所以可以使用 C-u C-<SPC> (對(duì)于我來(lái)說(shuō),我把 set-mark-command 綁定到了 M-<SPC> 上,這里自然就是使 用C-u M-<SPC> 了)回到原來(lái)的位置。

      關(guān)于子目錄的更多方便的操作可以參見(jiàn) Emacs 的 info 文檔。

      其他功能

      還有一些方便的功能,我把幾個(gè)常用的命令列在這里:

      • + 創(chuàng)建目錄
      • w 復(fù)制文件名,如果通過(guò) C-u 傳遞一個(gè)前綴參數(shù) 0 ,則復(fù)制決定路徑名, 如果只是 C-u 則復(fù)制相對(duì)于 dired 當(dāng)前目錄的相對(duì)路徑。
      • I 把當(dāng)前文件以 info 文檔的格式打開(kāi)。
      • N 把當(dāng)前文件以 man 格式打開(kāi)(使用 WoMan)。
      • Y 為所有標(biāo)記的文件創(chuàng)建一個(gè)到指定目錄的相對(duì)符號(hào)連接(即使用相對(duì)路徑進(jìn) 行引用,而不是絕對(duì)路徑)。
      posted on 2011-06-10 11:42  閑人草堂  閱讀(576)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 日韩秘 无码一区二区三区| 在线观看无码av五月花| 亚洲欧美v国产一区二区| 亚洲av本道一区二区| 鲁丝片一区二区三区免费| 久久综合久中文字幕青草| 亚洲av日韩av中文高清性色| 国产精品人妻久久无码不卡| 国产激情一区二区三区四区| 资源在线观看视频一区二区| 午夜福利yw在线观看2020| 锦屏县| 国产精品中文字幕日韩| 亚洲熟妇自偷自拍另欧美| 国产精品天干天干综合网| 2021久久精品国产99国产精品 | 99久久精品国产一区二区暴力| 又爽又黄又无遮挡的激情视频| 狠狠躁夜夜躁人人爽天天bl| 思思久99久女女精品| 精品精品亚洲高清a毛片| 国产成人无码综合亚洲日韩| 久久人妻夜夜做天天爽| 粗壮挺进邻居人妻无码| 亚洲色大成网站WWW久久| 久久欧洲精品成av人片| 全球成人中文在线| 国产精品乱码久久久久久小说| 国产性三级高清在线观看| 天堂中文最新版在线官网在线| 欧美一级高清片久久99| 国产福利酱国产一区二区| 国产肥妇一区二区熟女精品 | 40岁大乳的熟妇在线观看| 国产首页一区二区不卡| 亚洲女同在线播放一区二区| 欧美疯狂xxxxbbbb喷潮| 久久精品日日躁夜夜躁| 色伦专区97中文字幕| 国产亚洲一本大道中文在线| 人妻丝袜中文无码AV影音先锋专区|