官术网_书友最值得收藏!

2.2 項目解決方案與實施

任務1 Emacs的基本運用

Emacs入門其實很簡單,因為不像Vim那樣,需要切換模式。Emacs打開一個文件后直接就能進行寫入、刪除等操作。

1)快捷鍵擊鍵約定

Emacs最著名的就是擁有功能強大的快捷鍵,要想看懂網上和Emacs自帶文檔里的快捷鍵,必須了解Emacs的擊鍵約定。

Windows下的復制功能的快捷鍵是“Ctrl”+“c”。那么同樣的快捷鍵用Emacs的約定來表示就是“C”-“c”。那么“Alt”+“F4”是不是要寫成“A”-“F4”呢?不是的,應該寫成“M”-“F4”。這個“M”代表的是“Meta”鍵,在現在的鍵盤中,“Meta”鍵對應的就是“Alt”鍵。

另外還有現在的“Win”鍵,就是上面畫著Windows徽標的那個按鍵,一般出現在“Ctrl”和“Alt”之間。這個鍵在“Linux”系統中被稱為“Super”鍵,其前綴就是一個小寫的字母“s”。

有些鍵,還需要按下“Shift”,比如“C”-“@”,因為“@”需要“Shift”+“2”才能按出來,所以“C”-“@”的實際按鍵順序應該是按住“Ctrl”,再按住“Shift”,再按一下數字“2”之后馬上再全部放開(“Ctrl”和“Shift”順序可以調換)。

Emacs打開文件的快捷鍵是“C”-“x”“C”-“f”,這里完整的按鍵順序是按住“Ctrl”,再按一下“x”之后馬上全部放開,之后再按住“Ctrl”,繼續按一下“f”后馬上全部放開。如果幾個連續的快捷鍵的前綴都一樣,比如都是“Ctrl”,我們可以一直按住“Ctrl”不放,之后按照順序分別按下“x”和“f”,最后再全部放開。

2)常用快捷鍵

Emacs以其繁多的快捷鍵聞名,最常用的如表2-1所示。

表2-1 常用Emacs快捷鍵

雖然移動光標有其自己的快捷鍵,但是仍舊可以使用鍵盤上的方向鍵和“PageUp”、“PageDown”來代替Emacs自己的快捷鍵。

3)簡單操作實例

下面通過編輯一個配置文件來實際操練一下Emacs的編輯功能。在CentOS系統中,如果一個普通用戶想要操作需要root權限的任務,需要在命令前面加上sudo來暫時提升權限,可是在一個剛安裝好的系統中,普通用戶無法使用此方法,原因是該用戶沒有被加入/etc/sudoers這個配置文件。下面演示如何使用Emacs添加普通用戶到該文件以達到能使用su-do提權的目的。使用Emacs打開該文件:

    # emacs/etc/sudoers

可以看到,Emacs成功打開了該文件,但是存在兩個窗口如圖2-1所示。

圖2-1 Emacs打開文件

此時光標在上面那個窗口閃動,說明我們默認編輯的是這個文件。要想關閉下面那個窗格,請按快捷鍵“C”-“x”“1”。

操作要領:按住Ctrl再按下x后全部放開,再按一下數字1。

如圖2-1所示。成功按下快捷鍵后,最下面一行(叫作mini buff)處會出現剛才輸入的快捷鍵,如圖2-2所示。

圖2-2 mini buff顯示快捷鍵

圖2-2上方像狀態欄處從左到右分別顯示了該文件的編輯狀態:是否只讀(兩個%說明是只讀文件,Linux下即為無w權限),“sudoers”表示這個當前件名,右邊的“Top”說明光標在第一頁,“L1”說明光標在第一行。

下面來顯示打開文件的行數,不然很難找到需要修改的地方。鍵入:

    M-x global-linum-mode

這行代表的意思是,先按“M”-“x”,然后會在mini buff上出現閃動的光標,提示輸入“global-linum-mode”,輸入完成后就可以按回車鍵確定了。

可以使用“Tab”鍵來補全:輸入“glo”這3個字母,按一下“Tab”鍵,會自動補全為“global-”,之后再輸入一個字母“l”,按下“Tab”,就可以全部補全了。看似這么長的命令,只需要打4個字母即可。

其實,Emacs的每一個快捷鍵都對應于一個類似這樣的命令,只是由于命令實在太多,所以才需要手動輸入這些命令。

下面,來介紹兩種編輯方法,分別對應于使用Windows下的操作習慣和Emacs下的操作習慣,來讓大家感受下編輯效率的差異。

Windows用戶的操作:使用PageDown或者一直按著下方向鍵到98行:

    98root    ALL=(ALL)      ALL

然后把光標下移一行,在這個空行里輸入和上一行一樣的文字(把root替換成實際的用戶名),最后按“C”-“x”“C”-“s”保存。

可是,輸入的時候,什么反應都沒有,如圖2-3所示,只是在mini buff出現了:緩沖區是只讀狀態。這個時候需要切換回到終端修改一下文件的權限:

圖2-3 mini buff顯示只讀屬性

    # chmod u+w/etc/sudoers

u是user的意思,代表當前用戶;+w是增加write,即寫的權限。

按“C”-“x”“C”-“c”退出Emacs,在終端里修改權限后重新打開Emacs操作一遍,輸入完了之后按“C”-“x”“C”-“s”保存。

Emacs用戶的操作:

    C-u 98 C-n

即按下“C”-“u”后輸入“98”,就是行數,然后繼續按“C”-“n”,意思是向下移動。

如果只按“C”-“n”,則默認向下移動一行。按“C”-“u”并輸入數字可以用來指定下移的行數。

此時光標還是在行首,如果不在,按“C”-“a”移動光標到行首。按下“C”-“k”來剪切。

同樣提示緩沖區為只讀,這時按“C”-“x”“C”-“q”來解除只讀,如圖2-4所示。解除完只讀后,按下“C”-“k”剪切一行內容,再按一次“C”-“k”將換行符也剪切掉,這樣下次粘貼的時候就能自動將光標移動到下一行了。

圖2-4 mini buff顯示解除只讀屬性

按一次“C”-“y”粘貼之前剪切的內容,再按一次“C”-“y”,再次將那一行內容粘貼到了下一行,這個時候出現了:

    98 root    ALL=(ALL)      ALL
    99 root    ALL=(ALL)      ALL

而光標出現在第100行的行首,我們按“C”-“p”到上一行,按“M”-“d”一次性刪除“root”這個詞,輸入需要添加的用戶名,最后按“C”-“x”“C”-“s”保存。一切都能手不離鍵盤來完成,操作效率和Windows下的比起來優勢十分明顯。

4)內置的教程

不管系統是在圖形界面還是字符界面,Emacs打開后,默認的界面上就有一個教程,而且光標默認就是停留在那上面,只要再按一下回車鍵就能看到,如圖2-5所示。

圖2-5 Emacs自帶教程

教程會一步一步教導用戶如何使用快捷鍵及Emacs的基本操作。

5)簡單配置Emacs

前面我們用到了顯示行號這一功能,但我們不想每次打開Emacs都要執行那么長的命令,盡管補全功能可以少打很多字,還是很麻煩。這里我們通過修改Emacs的配置文件來達到定制Emacs的目的。

Emacs的配置文件在每個用戶的家目錄下:~/.emacs。Emacs啟動后默認會去讀取.emacs這個文件的內容,我們就可以將配置寫在里面。比如增加行數的顯示,我們可以添加以下內容至.emacs文件:

   (global-linum-mode 1)

后面的數字“1”和“0”可以切換該模式的開啟和關閉。

然后保存該配置文件。為了看到結果,可以選擇重啟Emacs,或者執行:“M”-“x”,或者將光標移動到句尾(使用“C”-“e”),然后執行“C”-“x”“C”-“e”。可以看到,行數出現了。以后重新啟動的Emacs都將加上行數。

如果需要其他功能,可以去網上搜索,一般都會有人貼出代碼,只要將那些代碼同樣添加進.emacs這個文件就可以了,比如定制自己喜歡的背景顏色、前景顏色,還有字體樣式和大小。

主站蜘蛛池模板: 汝城县| 维西| 河曲县| 丰原市| 闻喜县| 东明县| 焦作市| 黔西县| 久治县| 武川县| 兰西县| 霍山县| 衡东县| 盱眙县| 宣城市| 淄博市| 金川县| 类乌齐县| 民和| 谢通门县| 禹州市| 黄浦区| 齐齐哈尔市| 临泉县| 兴隆县| 镇坪县| 安龙县| 嵊州市| 潜江市| 莆田市| 宜良县| 兰溪市| 石狮市| 伊通| 偃师市| 于田县| 苏尼特左旗| 玉龙| 绥江县| 精河县| 东辽县|