編輯首先就得定位光標位置shell
你確定首先想到的是上下左右鍵甚至你更幸運有一個鼠標那麼更容易定位插入點了。ide
但是想過沒有若是你沒有鼠標怎麼辦,更變態沒有上下左右鍵呢,呵呵。函數
固然了,若是有的話可使用他們,可是你是否是感受你得大步移動你的手臂了,當你再移回鍵盤區可要費點心思了,不免分散一點注意力,不要小看這點,若是操做頻繁的話規模可不能夠忽視,我用emacs是幹活的,比如cpu若是忙於處理外部事件不免影響工做。emacs很貼心給咱們準備更方便的操做方式,用了4個位於主鍵盤區的鍵做爲替代,使得咱們的上手不用離開主鍵盤區就能夠實現光標的上下左右移動,那就是pnbf這4個字母鍵的配合使用,固然了處於編輯直接用這4個字母是不行的,那會看成普通的編輯字符,OK上功能鍵呵呵Ctrl鍵(咱們用C)表示哈,C-x表示咱們按Ctrl的同時按下x這點咱們會用pc的人應該都比較熟悉哈,emacs不同凡響的地方是還能夠多按幾個鍵這樣能夠有更多的組合了。spa
好了咱們來一一看一下:命令行
光標向左移動一個字符位置是C-b (這個b就是back的首字母啦,方便記憶)xml
光標向右移動一個字符位置是C-f (這個f就是forwards的首字母啦,表明向前進,方便記憶) blog
光標向上移動上一行字符位置是C-p (這個p就是previous-line的首字母啦,方便記憶) 事件
光標向左移動一個字符位置是C-n (這個n就是next-line的首字母啦,方便記憶) ip
好了,趕忙練習下吧。get
那要是移動一個單詞的距離呢(標點符號等定界)
Alt鍵咱們用(M-)表示哈,就是Meta鍵?
M-f表明向右移動到下一個單詞位置或者ESC f也行(若是不喜歡Alt鍵的話,按一下Esc鍵鬆開再按,注意我沒有寫ESC-f呵呵,後面這種替代不說了,我主要用M-演示)
M-b就是向左啦。
要是把光標移動到行尾呢是C-e(就是end啦)
行首呢C-a(注意不是全選哈,有說用a表示是A-Z字母表裏的開頭,還算比較形象吧)
M-a表示移動到句子開始 .
編輯
刪除光標到行尾C-k(kill-line的意思),因此後面還烙下個換行符捏,再按C-k會刪掉那個。
C-d刪除光標處的字符,往前刪是Backspace退格刪。
M-d是刪到單詞結束
往前刪除是M-backspace
撤銷C-x u
C-@(得按Shift鍵和2的那個鍵)設置標記點,用於選擇區塊起始,比較沒有鼠標嘛。(CUA下仍是比較直觀的,高亮選擇,若是沒有的話,能夠在執行操做前C-x C-x確認下標記點設置的對不對,這個命令是交換編輯點和當前光標的,能夠自由切換)
全選在哪裏,呵呵(不是Ctrl-A)是C-x h(這個x是表明擴展命令,想一想C-(a-z)也就能26個組合,可是這樣組合更多了:-)
這個其實就是標記整個緩衝區Buffer.
交換光標行和前一行,C-x C-t
交換先後兩個單詞M-t
咱們來試驗下:
- 1.C-x C-f
- 文件 g:/hello.c
- 沒有自動新開一個buffer
- 2.
- inc <TAB> 注意須要裝YASnippet
- 出來智能提示菜單,選擇<>那個
- stdio.h <TAB>
- --------------------------當前結果----------------
- #include <stdio.h>
- --------------------------------------------------
- <RET> <RET> 兩次回車空一行
- main <TAB> -----YASnippet自動擴展主函數
- --------------------------當前結果----------------
- #include <stdio.h>
- int main(int argc, char *argv[])
- {
- 【光標出於這裏】
- return 0;
- }
- --------------------------------------------------
- printf <TAB> ---擴展printf("%s\n");
- hello,world. <TAB>
- ----------------------------OK-------------------
- #include <stdio.h>
- int main(int argc, char *argv[])
- {
- printf ("hello,world.\n");
- return 0;
- }
- ----------------------------------------------------
- C-x C-s 存盤
如今編譯這個簡單的c程序,
M-x compile (TAB能夠自動補全命令,這個跟在shell命令行相似)
底下出來
Compile command:make -k
修改成
Compile command:gcc hello.c -o myhello
這樣生成一個myhello.exe程序。
不信能夠C-x d打開目錄看一下:
M-x shell
打開shell,執行下看看: