编辑首先就得定位光标位置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,执行下看看: