LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 倩儿

emacs的方便(大家补充下去,好吗)

[复制链接]
 楼主| 发表于 2004-3-17 23:33:36 | 显示全部楼层
最好的文件管理器

emacs提供的Dired模式是最引人注意的功能之一,它让你无须通过shell烦琐的编程工作而轻松管理文件。

1.打开一个目录,进入Dired模式

  1. C-xC-f <dirname>
复制代码

你会得到一个类似ls -l命令输出的目录文件长列表。
另外,Dired使用短命令,比如n就是向前移动,p就是向后移动。当然你也可以用通用的C-n或者C-p,其余命令如此类推。
查看文本文件

  1. v
复制代码

返回父目录或者退出文本只读浏览

  1. q
复制代码


2.标记文件群
这就是Dired模式的魔力所在,对文件群进行并行管理,也是所有操作的最后前提。
a.手动选取

  1. m
复制代码

b.模式选取

  1. %m
复制代码

这对于选取有规律命名的文件群很方便,比如可以用^sin选取以sin开头的所有文件。
提示:
撤消标记:

  1. u
复制代码

撤消全部标记:

  1. Alt+Del
复制代码


3.删除文件
a.对于文件群

  1. D
复制代码

b.对于单独文件
先加上删除标记

  1. x
复制代码

删除确认

  1. d
复制代码


4.重命名

  1. R
复制代码


5.创建目录

  1. +
复制代码


6.在文件上运行Unix命令
这是很方便的,它结合了shell命令,实现了shell code才能实现的管理功能。对于文件群或单独文本,执行命令

  1. !
复制代码


7.按模式匹配批量修改文件群中的内容
又是一个不可多得的功能。

  1. Q
复制代码

键入匹配字符串以及替换字符串,emacs会回答式地对文件群进行递归操作。
缺点:
不能使用记忆匹配,如\\(以及\\)。
发表于 2004-3-17 23:41:33 | 显示全部楼层
呵呵,我早就听说过: emacs是个筐,啥都往里装
但是一直上不了手,感觉比较费劲。
 楼主| 发表于 2004-3-17 23:46:05 | 显示全部楼层
最初由 windrose 发表
呵呵,我早就听说过: emacs是个筐,啥都往里装
但是一直上不了手,感觉比较费劲。

windrose大哥,这就是emacs高度集成化的好处啊。
清晨一打开emacs,你就能不离开它完成你一整天的工作(当然,除了对X的需要满足不了之外,这里主要针对Unix的命令纯粹派以及服务器管理员而言)。

windrose大哥,我建议你们slackware应该多多推广emacs,呵呵,和这个发行版本很相衬,呵呵~~
发表于 2004-3-18 08:19:11 | 显示全部楼层
呵呵,倩儿姑娘你的那些是不是都是从书上抄下来的啊?

, *^-^*, 说了一大堆,我觉得好虽然好,但是不实用啊。你想啊,用软件吗?当然是请求易学易用啊。对于熟的人来说emacs当然是很好,但是叫一个不熟的人来弄这个的话,实在有点。更何况现在有更多,更方便的软件开发出来了。
emacs就是一个编辑器,这才是真正的乐趣所有啊。
 楼主| 发表于 2004-3-18 08:27:27 | 显示全部楼层
最初由 黄叶 发表
呵呵,倩儿姑娘你的那些是不是都是从书上抄下来的啊?

, *^-^*, 说了一大堆,我觉得好虽然好,但是不实用啊。你想啊,用软件吗?当然是请求易学易用啊。对于熟的人来说emacs当然是很好,但是叫一个不熟的人来弄这个的话,实在有点。更何况现在有更多,更方便的软件开发出来了。
emacs就是一个编辑器,这才是真正的乐趣所有啊。

呵呵,没有抄袭哦。倩儿从不喜欢抄袭,因为这是毫无意义的事情,我们缺乏的不是教程,而是使用经验的介绍。

其实命令是书上学来的(除非你是开发人员或者黑客,你可以自创命令,但我只是一个用户~~,当然,我正在学习lisp,希望在二次开发方面有进步),但经验却是原创的(其实也写的不多,不过我看既然论坛上很少这方面的帖子,我只好献丑以抛砖引玉,大哥见笑了~~)。
发表于 2004-3-18 08:35:23 | 显示全部楼层
历害。
发表于 2004-3-18 08:37:12 | 显示全部楼层
坛子里又多了一位才华横溢的PLMM了。
 楼主| 发表于 2004-3-18 08:40:24 | 显示全部楼层
最初由 黄叶 发表
坛子里又多了一位才华横溢的PLMM了。

见笑了,大哥多多指教~~:rolleyes:
 楼主| 发表于 2004-3-18 09:18:08 | 显示全部楼层
emacs的编辑窗口与缓冲区

emacs具有多窗口操作的特色,它充分利用了linux的多任务机制,早在X普及之前,黑客们就使用emacs在字符界面下利用这一点进行高效的管理工作。典型的应用是当你用shell模式执行Unix命令的过程中,可以打开一个文本文件,很轻松地与其内容进行交互,尤其在你编写程序的时候,可以通过这样的对照来提高调试效率。

这里我谈一下文件与编辑缓冲区以及窗口在emacs中的区别。
编辑缓冲区是文件的一个副本,在保存之前,对缓冲区所做的改动不会影响文件;
窗口是emacs的一个显示区域,这个区域的下面有且仅有一个状态栏。一个窗口可以打开任意某个缓冲区,也可以多窗口同时显示同一个缓冲区(用以观察长文件的不同部位),窗口与缓冲区无关。关闭窗口不会影响缓冲区。

emacs不依赖于X,它高度集成化的特色是X所无法企及的(相比于图形操作,命令语言是人类表达思维的最好方法,也是最强大的手段)。这里的窗口不同于X的窗格。

emacs的窗口命令命名有一个规律,

  1. C-x n <operation>
复制代码

这里的n是数值,1代表当前窗口,2代表另一个上下窗口,3代表另一个左右窗口,4代表顺时针方向所指的另一个窗口,还有一个0,用以删除当前窗口的操作。

1.创建新的上下窗口

  1. C-x 2
复制代码

这时候会在旧窗口下创建一个新窗口,光标(插入点)依然停留在原窗口,我们可以通过"4"类命令来"远程"控制新窗口的编辑缓冲区。这类命令操作顺时针方向的下一个窗口。
在新窗口打开文件:

  1. C-x 4 f
复制代码

在新窗口切换缓冲区:

  1. C-x 4 b
复制代码

提示:可以通过命令平均分配各窗口的高度

  1. C-x +
复制代码

2.创建左右窗口

  1. C-x 3
复制代码

其余操作与上下窗口类似。

3.切换窗口

  1. C-x o
复制代码

切换到顺时针方向的另一个窗口。
提示:
i.如果有多个窗口,可以用数字来提高切换效率

  1. Esc n C-x o
复制代码

n是数字,它可以跳到第n个窗口。
ii.反向跳转

  1. Esc - C-x o
复制代码

其实Esc -这类命令前缀是反相的意思,这对于其他emacs操作也是适用的。

4.关闭窗口
关闭除当前窗口以外的其他窗口

  1. C-x 1
复制代码

关闭顺时针方向的下一个窗口

  1. C-x 0
复制代码
发表于 2004-3-18 09:30:55 | 显示全部楼层
嗬嗬,Emacs就是快捷键太多,需要花费一定的时间去熟悉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表