编辑首先就得定位光标位置
你肯定首先想到的是上下左右键甚至你更幸运有一个鼠标那么更容易定位插入点了。
可是想过没有如果你没有鼠标怎么办,更变态没有上下左右键呢,呵呵。
当然了,如果有的话可以使用他们,但是你是不是感觉你得大步移动你的手臂了,当你再移回键盘区可要费点心思了,难免分散一点注意力,不要小看这点,如果操作频繁的话规模可不可以忽视,我用emacs是干活的,好比cpu如果忙于处理外部事件难免影响工作。emacs很贴心给我们准备更方便的操作方式,用了4个位于主键盘区的键作为替代,使得我们的上手不用离开主键盘区就可以实现光标的上下左右移动,那就是pnbf这4个字母键的配合使用,当然了处于编辑直接用这4个字母是不行的,那会当作普通的编辑字符,OK上功能键呵呵Ctrl键(我们用C)表示哈,C-x表示我们按Ctrl的同时按下x这点我们会用pc的人应该都比较熟悉哈,emacs与众不同的地方是还可以多按几个键这样可以有更多的组合了。
好了我们来一一看一下:
光标向左移动一个字符位置是C-b (这个b就是back的首字母啦,方便记忆)
光标向右移动一个字符位置是C-f (这个f就是forwards的首字母啦,代表向前进,方便记忆)
光标向上移动上一行字符位置是C-p (这个p就是previous-line的首字母啦,方便记忆)
光标向左移动一个字符位置是C-n (这个n就是next-line的首字母啦,方便记忆)
好了,赶紧练习下吧。
那要是移动一个单词的距离呢(标点符号等定界)
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,执行下看看:
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/860634,如需转载请自行联系原作者