青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

syhd142  
日歷
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
統(tǒng)計(jì)
  • 隨筆 - 23
  • 文章 - 122
  • 評(píng)論 - 31
  • 引用 - 0

導(dǎo)航

常用鏈接

留言簿(2)

隨筆檔案(23)

文章分類(270)

文章檔案(122)

我的豆瓣

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

 

轉(zhuǎn)至:http://www.zeuux.org/science/learning-emacs.cn.html


學(xué)習(xí)GNU Emacs

作者:夏武

1 GNU Emacs介紹

Emacs編輯器是最受歡迎、傳播范圍最廣、也是最強(qiáng)大和最靈活的UNIX文本編輯器。與其他文本編輯器的重要區(qū)別在于它是一個(gè)完備的工作環(huán)境,使用Emacs可以完成各種日常工作。對(duì)很多Emacs用戶來說,Emacs已經(jīng)超越了編輯器的范疇,使用Emacs是一種文化,一種生活。 GNU Emacs是GNU開發(fā)的Emacs變體,也是最廣泛使用的Emacs編輯器。本文將以GNU Emacs為例講解GNU Emacs編輯器的使用和技巧。首先介紹一下常用的快捷鍵,接著介紹GNU Emacs擴(kuò)展,最后是.emacs文件的配置。

2 快捷鍵

GNU Emacs的快捷鍵都是綁定于CTRL鍵和ALT鍵上。每個(gè)快捷鍵對(duì)應(yīng)一個(gè)指令名稱,也就是一個(gè)對(duì)應(yīng)的函數(shù)名稱,這允許你根據(jù)不同的喜好將快捷鍵綁定到不同的指令名稱。另外,在Emacs中有很多的指令沒有綁定快捷鍵,我們可以通過M-x 指令名稱來執(zhí)行指令。例如,全文替換我們可以使用M-x replace-strings。這樣,很多沒有綁定快捷鍵的功能都可以用到了。

2.1 基本操作

表1是基本操作指令列表。

表1 基本操作指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-SPset-mark-command設(shè)置標(biāo)記C-qquoted-insert插入引用
C-abeginning-of-line移動(dòng)到行首C-risearch-backward向前查找
C-bbackward-char向前移動(dòng)一個(gè)字符C-sisearch-forward向后查找
C-ttranspose-chars掉換前后二個(gè)字符位置C-ddelete-char刪除一個(gè)字符
C-eend-of-line移動(dòng)到行尾C-vscroll-up向下滾動(dòng)一屏
C-fforward-char向后移動(dòng)一個(gè)字符C-wkill-region刪除選定區(qū)域
C-x <scroll-left向左移動(dòng)一屏C-x >scroll-right向右移動(dòng)一屏
TABforward-button縮進(jìn)C-yyank粘貼
C-zsuspend-frame暫停emacsC-nnext-line移動(dòng)到下一行
C-kkill-line刪除一行ESCESC-prefix取消前綴
C-oopen-line增加一行DELdelete-backward-char向前刪除一個(gè)字符
C-pprevious-line向上移動(dòng)一行C-zsuspend-emacs暫停Emacs
C-_undo取消C-lrecenter使光標(biāo)所在行變?yōu)槠聊恢醒?/td>

2.2 幫助

表2是幫助指令列表。

表2 幫助指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-h wwhere-is查看命令菜單位置或者綁定熱鍵C-h kdescribe-key查看熱鍵詳細(xì)功能描述
C-h thelp-with-tutorial查看Emacs教程C-h cdescribe-key-briefly查看熱鍵簡(jiǎn)單功能描述
C-h nview-emacs-news瀏覽Emacs新聞C-h bdescribe-bindings查看綁定熱鍵
C-h mdescribe-mode查看編輯模式C-h C-c查看許可證信息
C-h ?help-for-help查看幫助列表

2.3 緩沖區(qū)操作

表3是緩沖區(qū)操作指令列表。

表3 緩沖區(qū)操作指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-x C-dlist-directory列出當(dāng)前目錄C-x =what-cursor-position顯示當(dāng)前光標(biāo)所在位置
C-x C-ffind-file查找文件C-x TABindent-rigidly強(qiáng)制縮進(jìn)
C-x C-odelete-blank-lines刪除空白行C-x blist-buffers打開另外一個(gè)緩沖區(qū)
C-x C-pmark-page全選C-x C-rfind-file-read-only以只讀方式打開文件
C-x C-ssave-buffer保存當(dāng)前緩沖區(qū)C-x iinsert-file插入文件
C-x C-ttranspose-lines掉換前后行位置C-x hmark-whole-buffer標(biāo)記當(dāng)前全部緩沖區(qū)
C-x C-vfind-alternate-file打開另外一個(gè)文件,關(guān)閉緩沖區(qū)C-x lcount-lines-page計(jì)算當(dāng)前緩沖區(qū)行數(shù)
C-x C-wwrite-file保存緩沖區(qū)內(nèi)容到文件C-x kkill-buffer關(guān)閉緩沖區(qū)
C-x mmail寫EmailC-x 4 mmail-other-window打開新窗口寫Email
C-x ssave-some-buffers保存多個(gè)文件C-x uadvertised-undo取消上一步操作

2.4 宏操作

表4是宏操作指令列表。

表4 宏操作指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-x (start-kbd-macro開始錄制宏C-x )end-kbd-macro結(jié)束宏錄制
C-x ecall-last-kbd-macro執(zhí)行上一次綁定的宏命令

2.5 窗口操作

表5是窗口操作指令列表。

表5 窗口操作指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-x 0delete-window關(guān)閉當(dāng)前窗口C-x 1delete-other-windows保留當(dāng)前窗口,關(guān)閉其他窗口
C-x 2split-window-vertically水平分割窗口C-x 3split-window-horizontally垂直分割窗口

2.6 C語言編程模式

表6是C語言編程模式的指令列表。

表6 C語言編程模式指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
M-abackward-sentence移動(dòng)到語句開頭M-eforward-sentence移動(dòng)到語句結(jié)尾
C-M-abeginning-of-defun移動(dòng)到函數(shù)開頭C-M-eend-of-defun移動(dòng)到函數(shù)結(jié)尾

2.7 SGML語言編程模式

表7是SGML語言編程模式指令列表。

表7 SGML語言編程模式指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-c C-tsgml-tag插入標(biāo)記C-c C-asgml-attributes插入屬性
C-c C-bsgml-skip-tag-backward移動(dòng)到前一個(gè)標(biāo)記C-c C-fsgml-skip-tag-forward移動(dòng)到后一個(gè)標(biāo)記
C-c DELsgml-delete-tag刪除一個(gè)標(biāo)記

2.8 版本控制命令

表8是版本控制指令列表。

表8 版本控制指令

快捷鍵指令名稱用途快捷鍵指令名稱用途
C-x v dvc-directory列出目錄下修改過的文件C-x v =vc-diff顯示改動(dòng)
C-x v lvc-print-log顯示改動(dòng)歷史記錄C-x v ivc-register加入文件到版本控制中
C-x v hvc-insert-headers插入版本控制信息C-x v rvc-retrieve-snapshot取某一版本文件
C-x v vvc-next-action進(jìn)入提交改動(dòng)狀態(tài)

3 GNU Emacs擴(kuò)展

3.1 Emacs Lisp語言介紹

3.2 有用的GNU Emacs擴(kuò)展

3.3 寫一個(gè)GNU Emacs擴(kuò)展

這里我們自己動(dòng)手寫一個(gè)GNU Emacs擴(kuò)展,實(shí)現(xiàn)復(fù)制一行的功能。下面是實(shí)現(xiàn)這個(gè)擴(kuò)展的代碼。

(defun copy-line (&optional arg)
 "Save current line into Kill-Ring without mark the line"
 (interactive "P")
 (let ((beg (line-beginning-position)) 
	(end (line-end-position arg)))
 (copy-region-as-kill beg end))
)
			  
將上面這段代碼拷貝到.emacs中,就可以開始使用這個(gè)功能了。

4 .emacs文件

4.1 樣例

;;顯示時(shí)間
(display-time)
;;顯示行號(hào)
(column-number-mode t)
(show-paren-mode t)
;;設(shè)置TAB寬度為4
(setq default-tab-width 4) 
;;以下設(shè)置縮進(jìn) 
(setq c-indent-level 4)
(setq c-continued-statement-offset 4)
(setq c-brace-offset -4)
(setq c-argdecl-indent 4)
(setq c-label-offset -4)
(setq c-basic-offset 4)
(global-set-key "\C-m" 'reindent-then-newline-and-indent)
(setq indent-tabs-mode nil)
(setq standard-indent 4)

;;開啟語法高亮。
(global-font-lock-mode 1) 

;;設(shè)置默認(rèn)工作目錄
(setq default-directory "/home/test/source/") 

;; 去掉滾動(dòng)條
(set-scroll-bar-mode nil)

;;關(guān)閉開啟畫面
(setq inhibit-startup-message t) 
(setq indent-tabs-mode t)

;;不產(chǎn)生備份文件
(setq make-backup-files nil) 

;;設(shè)置自定義變量
(custom-set-variables
'(column-number-mode t)
'(current-language-environment "UTF-8")
'(display-time-mode t)
'(ecb-options-version "2.32")
'(mouse-1-click-in-non-selected-windows t)
'(mouse-drag-copy-region t)
'(mouse-yank-at-point t)
'(save-place t nil (saveplace))
'(show-paren-mode t)
'(transient-mark-mode t))
(custom-set-faces
;;選擇小工具欄圖標(biāo)
(tool-bar-mode -1)
				

5 總結(jié)

6 參考資料

posted on 2010-11-03 21:01 Fucker 閱讀(867) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


 
Copyright © Fucker Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美伦理影院| 亚洲高清资源| 亚洲国产精品电影在线观看| 亚洲日本免费| 亚洲欧洲av一区二区| 久久青草久久| 日韩午夜电影av| 久久av一区二区三区漫画| 欧美黑人在线观看| 国产午夜精品美女视频明星a级| 亚洲国产裸拍裸体视频在线观看乱了中文 | 韩国久久久久| 9久re热视频在线精品| 欧美在线观看网站| 亚洲激情亚洲| 欧美一区二区高清| 欧美日韩亚洲一区二区| 尤妮丝一区二区裸体视频| 中日韩视频在线观看| 嫩草成人www欧美| 亚洲欧美另类国产| 欧美日韩成人综合| 在线观看日韩专区| 欧美一区二区在线| 亚洲精品乱码久久久久久久久| 久久成人免费网| 国产精品青草综合久久久久99| 亚洲国产中文字幕在线观看| 欧美伊人久久久久久久久影院| 亚洲经典一区| 久久免费黄色| 国产麻豆视频精品| 在线视频精品一| 欧美黄色网络| 久久免费99精品久久久久久| 国产欧美日韩另类一区| 亚洲图片欧美日产| 亚洲精品久久久久久久久久久| 久久久国产视频91| 国产网站欧美日韩免费精品在线观看| 一区二区高清视频在线观看| 欧美激情一区二区三区高清视频| 久久精品国产久精国产思思| 国产精品午夜在线| 亚洲一区综合| 一区二区三区波多野结衣在线观看| 蜜桃久久av一区| 亚洲第一狼人社区| 欧美99在线视频观看| 欧美中文在线免费| 国产视频在线观看一区二区| 午夜视频在线观看一区二区三区 | 欧美日韩在线综合| 日韩视频在线永久播放| 欧美成人免费网| 久久久国产精品一区| 国产自产精品| 久久久久久色| 欧美在线影院| 一区二区视频免费完整版观看| 久久久久久久综合| 欧美一级电影久久| 国产亚洲人成网站在线观看| 久久国产精品久久久久久| 亚洲综合视频在线| 国产精品亚洲第一区在线暖暖韩国| 亚洲欧美国产精品桃花| 一区二区三区日韩在线观看| 欧美性做爰猛烈叫床潮| 亚洲永久免费av| 亚洲午夜视频在线观看| 国产精品婷婷午夜在线观看| 欧美呦呦网站| 久久久久99| 亚洲国产成人av| 亚洲国产免费看| 欧美日本韩国一区| 亚洲男人天堂2024| 亚洲永久网站| 国产亚洲制服色| 欧美成人四级电影| 欧美国产日韩视频| 中文国产成人精品| 亚洲欧美区自拍先锋| 国产欧美在线看| 麻豆国产精品va在线观看不卡| 浪潮色综合久久天堂| 99www免费人成精品| 一区二区三区久久| 国产乱码精品一区二区三区不卡| 久久人人爽爽爽人久久久| 老牛影视一区二区三区| 亚洲久久视频| 亚洲一区中文| 精品成人一区二区三区四区| 亚洲国产第一| 国产精品爱久久久久久久| 欧美专区日韩专区| 乱码第一页成人| 亚洲一区二区三区四区五区午夜| 亚洲欧美久久| 亚洲激情亚洲| 亚洲一区二区久久| 伊人久久婷婷色综合98网| 亚洲国产日韩欧美在线99| 欧美午夜精品久久久久久孕妇| 欧美在线你懂的| 免费看成人av| 亚洲欧美一区二区三区久久| 久久精品99久久香蕉国产色戒| 99成人精品| 欧美在线播放视频| 一本高清dvd不卡在线观看| 亚洲综合色自拍一区| 亚洲国产高清aⅴ视频| 99精品国产在热久久婷婷| 国产欧美日韩一区| 亚洲夫妻自拍| 国产日本欧美视频| 最近看过的日韩成人| 国产日韩欧美视频在线| 亚洲国产导航| 国产亚洲综合精品| 亚洲每日更新| 影音欧美亚洲| 亚洲主播在线| 久久婷婷av| 亚洲一区成人| 蜜臀av一级做a爰片久久| 亚洲欧美中文日韩v在线观看| 久久久伊人欧美| 亚洲欧美一区二区三区在线| 久久人人爽国产| 香蕉成人啪国产精品视频综合网| 久久精品五月婷婷| 国产精品一区二区黑丝| 亚洲乱码国产乱码精品精 | 美女视频黄a大片欧美| 欧美日韩不卡一区| 毛片av中文字幕一区二区| 欧美日韩中国免费专区在线看| 欧美ed2k| 国外成人在线| 亚洲一区二区三区777| 亚洲免费播放| 老司机成人在线视频| 久久精品免视看| 国产精品久久久久久久久果冻传媒| 亚洲国产精品久久91精品| 一区二区在线观看视频在线观看 | 久久蜜桃av一区精品变态类天堂| 欧美天天影院| 亚洲精品美女久久7777777| 尤物精品在线| 欧美中文字幕| 久久久91精品国产| 国产精品五区| 亚洲影院在线观看| 亚洲一区亚洲| 欧美丝袜一区二区| 99精品欧美一区| 一本久道久久久| 欧美激情亚洲自拍| 亚洲国产精品一区| 91久久久久久久久久久久久| 久久一区精品| 欧美成人精品不卡视频在线观看| 狠狠久久五月精品中文字幕| 欧美一二三区精品| 久久精品亚洲热| 国产亚洲精品福利| 欧美一区影院| 久久久久九九视频| 国一区二区在线观看| 欧美中文在线视频| 久久尤物视频| 在线欧美日韩国产| 久久影院午夜论| 亚洲福利一区| 一本久久综合亚洲鲁鲁| 欧美日韩麻豆| 亚洲无人区一区| 午夜在线a亚洲v天堂网2018| 国产精品尤物福利片在线观看| 亚洲综合日韩中文字幕v在线| 欧美亚洲午夜视频在线观看| 国产麻豆午夜三级精品| 欧美影院成年免费版| 麻豆亚洲精品| 亚洲免费精彩视频| 欧美日韩少妇| 亚洲综合二区| 米奇777超碰欧美日韩亚洲| 亚洲国产欧美国产综合一区| 欧美成年人视频网站| 99精品久久久| 久久激情视频免费观看| 在线日韩一区二区| 欧美国产免费| 亚洲深夜激情|