Emacs 未入門筆記

2022-05-20 01:38:09 字數 2160 閱讀 5026

首先,按照慣例,把安利我emacs,並且耐心對我進行傳教的學長部落格放在第一段

在oi的比賽,使用的系統是noi_linux(被閹割過的ubuntu),並且提供這樣幾個編輯器:

vim(在我們校最普及的)、

emacs(和vim並列榜首的強大編輯器)、

gedit(記事本,我們這屆竟然好幾個用的)、

anjuta(沒用過)、

guide(看起來十分絲滑,功能強大,但是一旦自動補全框出來鍵盤就不好使,esc和回車全部狗帶)、

關於emacs按鍵說明

ctrl簡寫為c-

alt簡寫為m-

開始配置emacs

首先,emacs有命令列模式(terminal)和圖形化模式(gui),命令列模式看起來和vim差不多,但是圖形模式才是真正絲滑,所以我們選擇圖形模式

開啟emacs,我們會看到這樣的畫面(使用的是windows的emacs,ubuntu的一樣)

看起來很高大上的樣子,雖然沒有「幫助烏干達兒童」字樣。為了讓它成為和devcpp、cb一樣絲滑的**編輯器,我們來對它進行配置

按c-x c-f,進入到開啟檔案的命令

這時只要輸入檔案位址名稱,emacs就會開啟這個檔案,如果沒有,會自動新建

那麼輸入這一條命令

~/.emacs
就相當於告訴它在根目錄(這樣以後能自動配置)建立乙個叫.emacs的檔案,也就是emacs的配置檔案。

上面鏈結是學長的完整配置檔案,但是為了考試方便記憶,學長把它簡化成了11行

1 (global-linum-mode t)

2 (show-paren-mode t)

3 (setq c-basic-offset 4)

4 (setq default-tab-width 4)

5 (electric-pair-mode t)

6 (electric-layout-mode t)

7 (electric-indent-mode t)

8 (global-hl-line-mode t)

9 (global-set-key [f6] 'gdb)

10 (global-set-key [f7] 'compile)

11 (global-set-key [f8] 'shell)

1:顯示行號

2:括號匹配

3、4:縮排寬度

5、6、7:自動補全、縮排

8:高亮當前行

9、10、11:f6 debug f7編譯 f8shell(emacs自帶的命令列)

配置完之後,儲存,按m-x,輸入load-file,回車,輸入~/.emacs,回車,配置完成

初學心得

首先介紹這樣幾個操作

c-x 1 全屏當前編輯的介面

c-x 2 上下分屏當前正在編輯的介面

c-x 3 左右分屏當前正在編輯的介面

那麼,為了比賽操作方便,我們一般把它分成五屏

這樣,可以同時看見**、編譯資訊、命令列、輸入輸出檔案

那麼,我們編輯**,然後按f7,刪除沒用的,輸入

g++ a.cpp -o a
就相當於把**a.cpp編譯成程式a,然後開啟shell,它會自動在你所在的位置,這時只要把要測試的樣例輸到輸入檔案裡,儲存,在shell輸入

./a
相當於執行當前位置的a程式,然後重新開啟一遍輸出檔案,在下面的選項輸入yes,然後回車確認,就可以看到結果

這樣,你就可以在不注釋掉檔案讀寫的情況下,輕鬆測試樣例,避免交卷時不刪除注釋

小技巧

這個選項,可以讓emacs獨樹一幟的快捷鍵變成和windows一樣

小技巧在windows使用emacs,開啟shell可能會有一些卡頓,這時只要

刪掉最上面的兩行中文,就可以恢復流暢了

Emacs學習筆記 一

emacs是什麼?e.m.a.c.s.emacs makes a computer slow escape meta alt control shift emacs makers are crazy sickos emacs makes all computing emacs makefiles a...

Emacs學習筆記 一

emacs是什麼?e.m.a.c.s.emacs makes a computer slow escape meta alt control shift emacs makers are crazy sickos emacs makes all computing emacs makefiles a...

Emacs學習筆記 一

emacs是什麼?e.m.a.c.s.emacs makes a computer slow escape meta alt control shift emacs makers are crazy sickos emacs makes all computing emacs makefiles a...