午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    高效的emacs
    來源:易賢網(wǎng) 閱讀:1409 次 日期:2015-04-02 13:07:48
    溫馨提示:易賢網(wǎng)小編為您整理了“高效的emacs”,方便廣大網(wǎng)友查閱!

    這篇文章用來總結(jié)自己對emacs的理解。本人之前使用過vim和sublime,現(xiàn)在主要使用emacs。

    Start

    就編輯速度來說,是不會有編輯器比vim更快的了。我也常常將代碼片段,或者日志,xml,考到sublime進(jìn)行分析。多行編輯很實(shí)用。

    但我在平時(shí),主要還是使用emacs,無論是用它寫博客,寫代碼,執(zhí)行代碼,寫GTD,管理文檔…都非常的方便。

    鍵綁定

    一個(gè)高效的編輯器,就是能夠做到不用鼠標(biāo),編輯時(shí)在鼠標(biāo)和鍵盤之間進(jìn)行切換是一件很惱人的事情。這點(diǎn)在你抱著筆記本進(jìn)行寫作的時(shí)候會深有體會。

    常用的快捷鍵:(C代表Ctrl,A代表Alt)

    C-n 向下移動(dòng)一個(gè)字符

    C-p 向上移動(dòng)一個(gè)字符

    C-b 向左移動(dòng)一個(gè)字符

    C-f 向右移動(dòng)一個(gè)字符

    A-b 向左移動(dòng)一個(gè)單詞

    A-f 向右移動(dòng)一個(gè)單詞

    C-a 移動(dòng)到行首

    C-e 移動(dòng)到行尾

    C-@ 設(shè)置選擇下標(biāo)

    C-w 剪貼選中區(qū)域

    A-w 復(fù)制選中區(qū)域

    C-l 將光標(biāo)所在行,作為中心行,刷屏

    C-x H 全選整個(gè)緩沖區(qū)。

    C-k 刪除光標(biāo)后的整行內(nèi)容

    C-d 刪除一個(gè)字母

    M-d 刪除一個(gè)單詞

    C-_ Undo

    C-? Redo

    C-s 查找

    A-j 換行,與上一行保持同樣的縮進(jìn)

    A-< 移動(dòng)到文件頭部

    A-> 移動(dòng)到文件尾部

    C-x 3 左右分屏

    C-x 2 上下分屏

    C-x 1 除此屏全部關(guān)閉

    C-x 0 關(guān)閉此屏

    A-/ 補(bǔ)全

    其它的一些也是因?yàn)椴怀S?,基本不會去記它們的?/P>

    除了emacs自己的keybinding,我還特意做了些鍵綁定,提高效率。

    (global-set-key (kbd "C-M-h") 'backward-kill-word)

    ;; (bash中的回刪單詞,也是這三個(gè)鍵)

    (global-set-key (kbd "C-x f") 'recentf-ido-find-file)

    ;; (在最近打開文件列表中,選擇要打開的文件,這個(gè)很實(shí)用)

    (global-set-key (kbd "C-x t") 'insert-current-date)

    ;; (插入當(dāng)前日期,在寫博客或者gtd的時(shí)候,經(jīng)常用日期作為文件名的一部分)

    (global-set-key (kbd "<f8>") 'insert-current-file-fill-path)

    ;; (插入當(dāng)前文件的完整路徑,這個(gè)也比較實(shí)用)

    (global-set-key (kbd "M-g") 'goto-line)

    ;; (跳轉(zhuǎn)到某一行,是沒有vim中的:n快)

    (global-set-key (kbd "C-x w") 'copy-word)

    ;; (復(fù)制一個(gè)單詞,只要光標(biāo)落在單詞上,就可以復(fù)制整個(gè)單詞)

    13 (global-set-key (kbd "C-x y") 'copy-line)

    14 ;; (emacs是沒有這個(gè)快捷鍵的,只能自己去實(shí)現(xiàn)了。在vim中,yy就可以了)

    15 (global-set-key (kbd "C-c C-b") 'comment-or-uncomment-region)

    16 ;; (快速的對代碼進(jìn)行注釋與反注釋)

    17 (define-key global-map (kbd "C-c a") 'wy-go-to-char)

    18 ;; (跳到此行的某個(gè)字母,vim的f和t,比這個(gè)快得多)

    實(shí)用的多功能

    多窗口編輯,文件管理器,都是emacs多功能的一部分。甚至還可以配置git等外部程序,僅僅打開一個(gè)emacs就夠了。

    我的emacs還配置了以下實(shí)用的多功能

    ;; 快速的使用bing查找(直接在emacs中查找,然后就會彈出網(wǎng)頁上的查找結(jié)果)

    (prelude-install-search-engine "bing" "=" "Search Bing:" )

    (global-set-key (kbd "C-c b") 'prelude-bing)

    ;; emacs 彈窗 (我常常退彈出一個(gè)cmd,運(yùn)行python,或者運(yùn)行g(shù)it)

    (defvar popup-terminal-command

    (cond ((memq system-type '(windows-nt cygwin))

    '("cmd" "/c" "start" ))

    (t '("x-terminal-emulator"))))

    (defun popup-term ()

    (interactive)

    (apply 'start-process "terminal" nil popup-terminal-command))

    (global-set-key (kbd "<f5>") 'popup-term)

    寫博客

    我的博客是使用jekyll進(jìn)行搭建的,所以日常,基本就是用markdown編輯完之后,用git推送到服務(wù)器。

    這里要提的就是snippet,因?yàn)閖ekyll擴(kuò)展了一部分的markdown語法格式,配置成snippet后,快速的插入模板片段非常有用。

    比如我的sinppet:hl就對應(yīng)jekyll的語法高亮擴(kuò)展。這要比markdown自帶的語法高亮(縮進(jìn)),功能強(qiáng)大一些。

    markdown 高亮:

    if i == 3:

    print "人生苦短"

    else:

    print "我用python"

    jekyll 高亮:

    if i == 3:

    print "人生苦短"

    else:

    print "我用python"

    寫代碼

    我用emacs主要寫的代碼就是python,或者是其它的腳本,像是bash,反正我是不會用它寫c#的,沒有什么編輯器會比vs更適合寫c#。

    sinppet 是必不可少的了,python中能用到的snippet我都有配置,之前還配置過一部分和tornado相關(guān)的snippet。

    我將emacs配置成可以彈窗出一個(gè)shell,我一般就在這個(gè)shell中執(zhí)行python

    或者直接彈出顯示結(jié)果,但是這樣不能錯(cuò)誤信息,而且你的python代碼末尾必須要有raw_input() 否則一閃

    ;; emacs彈窗,執(zhí)行,當(dāng)前的python

    (defun popup-expython()

    (interactive)

    (let ((filename "test.py")

    (args (list "cmd" "/c" "start" "python" (buffer-name))))

    (apply 'start-process "terminal" nil args)))

    (global-set-key (kbd "<f6>") 'popup-expython)

    不僅僅是鍵盤綁定,這些有關(guān)編程的emacs配置,也值得一提。

    ;; 好代碼一行不應(yīng)該超過80個(gè)字符

    (add-hook 'python-mode-hook

    (lambda () (highlight-lines-matching-regexp ".\{81\}" "red")))

    還有我的emacs主題是zenburn,這種主題看起來不扎眼,代碼高亮美觀。很舒服。

    寫GTD

    我對GTD的理解,是要單獨(dú)寫的,這里只介紹用emacs寫gtd的一部分內(nèi)容。

    emacs使用org模式來寫GTD,基本上可以看作是*做的一棵樹,可以切TODO和DONE,展開,折疊,打標(biāo)簽。

    這里插入我gtd的一部分:

    * Blog

    ** DONE 我應(yīng)該將我購買的域名掛到自己的網(wǎng)站上

    CLOSED: [2014-09-11 Thu 13:30]

    ** TODO 翻譯相關(guān)內(nèi)容

    * Book

    ** DONE 寫給上班族的世界史

    CLOSED: [2014-09-05 周五 22:15]

    ** DONE 方與圓

    CLOSED: [2014-09-21 周日 23:30]

    * 周末寫兩篇博客

    ** DONE 使用python的函數(shù)式編程和c#的linq來實(shí)現(xiàn)操作,而非迭代器

    CLOSED: [2014-11-24 周一 11:29]

    ** 寫一篇關(guān)于c#的迭代器和python的迭代器,

    不要神話emacs

    之前在學(xué)習(xí)emacs和vim的時(shí)候,網(wǎng)上有許多文章神話這兩個(gè)編輯器,說是什么神的編輯器和編輯器之神。 其實(shí)如果說智能,它們是不會比VS智能的,emacs和vim最多也就是文本匹配,而vs卻真正的在內(nèi)部構(gòu)建代碼對象。emacs只是比較方便,比較自由而已,比較能折騰而已,要從實(shí)用角度出發(fā),而不是做一個(gè)腦殘粉。

    更多信息請查看IT技術(shù)專欄

    更多信息請查看技術(shù)文章
    易賢網(wǎng)手機(jī)網(wǎng)站地址:高效的emacs
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)