emacs

下面将会简单的介绍一个叫做emacs的文本编辑器,它是由GNU组织提供的自由软件。它是一个非常优秀的编译器,并且,它能很好地和其他UNIX工具整合在一起。很多编辑器都有着非常多的理由来说明他们多优秀,但是这里我们就不讨论这个问题了。

如果想开始用emacs编辑一个新文件或是已存在的文件,只要在UNIX的提示下输入以下的命令...

emacs filename

filemname 就是将要编辑的那个文件。X-Windows的emacs版本叫做xemacs,如果你要使用它的话...好的,来看一下菜单,命令基本是一样的,但是你并不需要去记住那些有趣的组合键。

所有的吸引人的编辑命令,比如查找-替换,都只需要输入一些命令就可以实现了。有两个重要的键你必须得记住:^x(按住ctrl键再按x),[esc]-x(按住esc再按x),它们都是用来开始键入一些重要的命令。由于一些历史原因,在大部分的emasc的手册中,esc键实际上指“Meta”或是“M-”键。因此,你可以发现[esc]-x等价于M-x。

存储当前编辑的文件,命令是^x^s.退出的命令是^x^c(会提示保存保存).打开另一个文件的命令是^x^f.这个命令可以用来打开文件或者是新建文件。如果你同时打开了很多个文件,那么emacs会将他们存放在不同的缓存中。为了从一个文件跳换到另一个文件(这在一边编写.h文件和一边编写.c文件时会非常有用。),命令是^x-b(注意没有ctrl),然后你就可以通过输入文件名跳转到对应的文件(有一个默认的文件名用于快速切换)。方向键通常类似于鼠标的功能。下面有一些组合命令。

运行emacs

emacs <filename>     运行emacs。确定你没有在后台运行emacs,如果是那样的话,用fg命令就可以唤醒它了。在命令的最后加上"&",这样emacs就不会占用shell 了。

^z    将emacs挂起—用%或者是fg命令来唤醒。

^x^c    退出。

^x^f    装载新的文件。

^x^v     装载新的文件,并卸载之前的文件。

^x^s     保存文件。

^x-k    结束一个缓冲区。

移动光标

^f    向前移动一个位置。

^b    向后移动一个位置。

^n    移动到下一行。

^p    移动到前一行。

^a    移动到启示行。

^e    移动到行末。

^v    向下翻页。

M-v   向上翻页。

M-<    移动到文件的开始。

^x-[    移动到页首。

M->    移动到文件的结束。

^x-]    移动到页尾。

^1    重新编辑光标所在的当前行。

^x-o    切换到另一个屏幕。

^x-b    转换到另一个缓存。

查找

^s    查找一个字符串

^r    向后查找一个字符串

M-%    查找替换

删除 

^d    删除光标所在字符。

^k    剪切从光标处的到行末的所有字符。

^y    粘贴所有剪切的字符。利用^k,^y组合可以实现简单的剪切-复制。

区域

emacs将标记和点之间的空间定义为区域。用^-space(ctrl键加空格键)一个标记,点就是光标的位置。

M-w    复制区域。

^w    剪切区域。当然你也可以用^y来粘贴剪切的区域—这就是区域的剪切/复制/粘贴的方法。

分割屏幕

^x-2    水平分割屏幕。

^x-3    竖直分割屏幕。

^x-1    关闭除当前屏幕外的所有屏幕。

^x-0    将另一个屏幕作为唯一的屏幕。

其他的命令

M-$    检查当前单词的拼写.

^g    在大部分的时候是取消,停止或是回到普通的状态。

M-x goto-line num    移动到对应的行

^x-u    撤销

M-x shell    在emacs中开启一个shell。

M-q     折行

编译

M-x compile    在窗口中编译代码,如果你设置好了makefile,一切将会更加简单。

^c^c    在编译窗口使用这个命令,它将移动到下一个编译错误。太棒了!

获取帮助

^h    emacs的帮助。

^h t    运行emacs的教程。

emacs为你提供了命令补全功能,输入M-x space 将会列出所有的emacs的命令。emacs也有man帮助,在shell里运行man emacs就可以了。

打印你的源代码

这里有一个简单的打印源码的方法,用“enscript”命令。同常,它的代码格式如下:

enscript -2GrPsweet5    binky.c lassie.c *.h

这个例子用于打印binky.c和lassie.c还有它们的头文件,使用的打印机是sweet5.你可以改变这些参数在适应你的需求。

转载于:https://blog.51cto.com/8672742/1368444

斯坦佛编程教程-Unix编程工具(四)相关推荐

  1. 斯坦佛编程教程-Unix编程工具(二)

    第二节-make 当项目变得越来越大的时候,还用gcc命令来编译项目就没有那么吸引人了.make工具能够使编译和链接全自动化.在使用make工具的时候,程序员只需设置好项目所包含的文件和怎样去搭配好他 ...

  2. 斯坦佛编程教程-Unix编程工具(五)

    Unix Shell 这个部分是总结一下在Unix shell中使用的大多数的命令. 文件命令 cd directory    改变路径,如果directory没有指明,那么就返回home目录. pw ...

  3. python时钟编程教程_编程入门16:Python时间操作

    Python标准库包含有一个time模块用于基本的时间处理,其中的time()函数会读取系统时钟并返回float类型的Unix纪元"时间戳"(Timestamp),即当前时间距离国 ...

  4. Linux中pthread源码在哪,pthread - 源码下载|系统编程|Linux/Unix编程|源代码 - 源码中国...

    srvframe_thread01.tar.gz 多进程srvframe_fork01.tar.gz 复件 (2) 0529-linux系统应用编程-课堂纪要.docx 授课思路.txt 线程控制.t ...

  5. python编程教程if_Python编程:从入门到实践——【作业】——第五章(if语句)...

    第五章作业 5-1条件测试 : 编写一系列条件测试: 将每个测试以及你对其结果的预测和实际结果都打印出来. 你编写的代码应类似于下面这样: car = ' subaru' print("Is ...

  6. Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  7. Unix编程需要学习的内容(3)《精通Unix下C语言与项目实践》读书笔记(13)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  8. Unix编程要学习的内容(2)《精通Unix下C语言与项目实践》读书笔记(12)

    文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的职场感悟吧.不值钱的软件人才 精力充沛与事业成功   让系分来得更猛 ...

  9. python 网络编程是什么_什么是网络编程-Python 网络编程-嗨客网

    Python网络编程网络编程教程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一 ...

最新文章

  1. 1.2.2 认识各个硬件部件
  2. 如何识别真正的程序员
  3. 面向对象的程序设计在游戏开发中使用(一):类
  4. arcgis栅格邻域统计_ArcGIS 从基础到实战书正式出版,易智瑞技术总裁沙志友沙总推荐并亲自写序...
  5. Java Duration类| isNegative()方法与示例
  6. java printf与println_浅析Java中print、printf、println的区别
  7. vim 显示tab键
  8. Vue2.0组件之间通信
  9. 命令以及查找帮助方法
  10. 可以在电脑上在线录制视频GIF的软件,不需要下载安装
  11. ESP8285+WS2812+MAX9814制作的音乐律动氛围灯
  12. PG目录操作封装——dirent一:postgresql-8.4.1\src\port\dirent.c
  13. android 剪贴板增强工具,ClipX - 超级实用的小巧剪贴板增强工具
  14. python绘图 ——蜡笔小新
  15. 安装配置Axis2,为Eclipse安装配置Axis2插件教程
  16. 三层交换机光模块故障排除流程
  17. 视频添加背景音乐ffmpeg(十八)
  18. ArcMAP实现矢量数据平移
  19. 罗斯福国家森林树木类型识别
  20. python四叶玫瑰数,任意位数自幂数寻找|Python练习系列[4]

热门文章

  1. 码农技术炒股之路——实时交易信息、主力动向信息分库备份
  2. 汇编程序设计与计算机体系结构软件工程师教程笔记:指令
  3. CxImage类库的简介
  4. linux驱动:音频驱动(七)交叉编译alsa库及工具集alsa-utils
  5. 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()
  6. php 刀客友朋,数组与数组函数学习心得
  7. python3 zipfile_python3中zipfile模块的常用方法
  8. java bufferedwriter 写入tab_一个Java程序员的成长历程(014,015)天
  9. python loop call soon_从“call\u soon”回调函数执行协同路由
  10. serch安装2012 windows_随身携带电脑系统 U盘系统工具WinToGo系统安装到U盘