当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 38 篇帖子 ]  前往页数 上一页  1, 2, 3  下一页
作者 内容
16 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-11-30 11:19 
头像

注册: 2008-10-25 5:04
帖子: 137
送出感谢: 1
接收感谢: 0 次
emacs正则表达式
参考:
Emacs 正则表达式简介(From 水木清华)
正则表达式

“. (Period)”
“*”
“+”
“?”
“*?, +?, ??”
是前面几个个操作符的非贪心(non-greedy)的变体
“\{N\}”
“\{N,M\}”
“[ ... ]”
注意,通常在字符集中的特殊字符不再特殊。而在字符集中的“]”,“-”和 “^”却不这样。

如果想在集中包括“]”,必须把它作为字符集中的第一个字符。例如,“[]a]” 匹配“]”或“a”。想包括“-”,它要是字符集中的第一个或最后一个字符。 或者放在一个范围的后面。如“[]-]”匹配“]”和“-”。

如果想在集包括字符“^”,它可以在除第一个位置以外的任何地方。(在开始 位置,它会把这个字符集取补——看下面。)

“[^ ... ]”
“[^”表示“补集合”,匹配的字符是除掉指定的字符外其他所有的字符

当“^”在字符集中第一个时,被看作是特殊字符。而跟在“^”后面的字符被看 作是第一个字符(就是说,此处的“-”和“]”将不是特殊的)。

一个补集合可以匹配换行符,除非换行符被指定为补集合中的一个字符。这不同 于某些象“grep”的程序对正则表达式的处理。

“^”
“$”
“\”
有两个作用:引用特殊字符(包括“\”);产生附加的特殊结构。

因为“\”引用特殊字符,“\$”是一个仅匹配“$”的表达式,“\[”是一个仅 匹配“[”的表达式,等等。

关于反斜线
注意:为兼容性考虑,特殊字符,如果在其没有意义的上下文中,将被当作普通字符。比如:“*foo”中把“*”当作普通字符,因为在它前面没有可以作用的前导表达式。很少有人会根据这条规则去实践;无论如何,在任何地方都加上引用会更好些。

对于大多数情况,“\”后接任何字符仅仅匹配那个字符。然而,有几个例外:以“\”开始的两字符序列会有特殊的意思。其中的第二个字符往往是普通字符。下面是“\”的结构表。

“\|”
“\( ... \)”
分组结构,有三个功能:

1. 围住“\|”的选择项,以实现别的操作。例如“\(foo\|bar\)x”匹配 “foox”或“barx”。
2. 围住复杂的表达式以实现后缀操作符(如“*”“+”和“?”)的操作。例如 “ba\(na\)*”匹配如“bananana”等,有任意个(零或更多)的“na”串。
3. 记录一个已匹配的子串用作后面的参考引用。

最后一个应用并不是括号的分组功能思想的结果;这个分开的特点是给同样的 “\( ... \)”结构赋予的第二种含义。在实际应用中,这两种含义通常不会发生 冲突。当发生冲突的时候,可以使用“谨慎的”分组("shy" group)。

“\(?: ... \)”

“谨慎的”分组("shy" group),这个分组不记录匹配的子串;你不能用“\D”来 引用。这在机械的结合正则表达式的时候有用,这样,你可以为语法目的加入分 组,而不用干涉使用者写的分组的个数。

“\D”
匹配和“\( ... \)”结构第 D 次出现时所匹配的同样的文本。

在“\( ... \)”结构结束之后,匹配程序保存被这个结构匹配的文本(的开始和 结束);之后的正则表达式中,你可以使用“\”跟着一个数字 D 来表示“匹配 和‘\( ... \)’结构第 D 次出现时所匹配的同样的文本。”

正则表达式中前九个出现的“\( ... \)”结构,按正则表达式中左括号出现的次 序从 1 到 9 赋值。因此可以用“\1”到“\9”来引用相应的“\( ... \)”结构。

例如,“\(.*\)\1”匹配任何有完全相同的两部分而无换行符的串。“\(.*\)” 匹配前一半,可以是任意的串,“\1”匹配后面的,但必须和前面的完全相同。

如果一个特定的“\( ... \)”结构匹配了多次(比如后面有一个“*”,这很显 然),那么仅记录最后一次的匹配。

“\`”
“\'”
“\=”
“\b”
匹配空串,但仅在一个词的开始或者结尾的。例如,“\bfoo\b”匹配任何作为单 独的词出现的“foo”。“\bballs?\b”匹配作为单独的词出现的“ball”或 “balls”。
“\B”
匹配空串,但不在词的开始或结尾处。

“\<”
匹配空串,但仅在词的开始处。仅当一个构成词的字符在缓冲区开始处时“\<” 匹配缓冲区开始处的空串。

“\>”
匹配空串,但仅在词的结尾处。仅当缓冲区尾部有构成词的字符时“\>”匹配缓 冲区尾部的空串。

“\w”
“\W”

“\sC”
“\SC”
“\cC”
“\CC”

Author: Wang Chunyu <dddkk@sina.com> Create: "2002-04-20"
Updated: 2004-05-11 Index


页首
 用户资料  
 
17 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-11-30 12:32 
头像

注册: 2008-10-25 5:04
帖子: 137
送出感谢: 1
接收感谢: 0 次
emacs复制行,单词,段落
转:
让 Emacs 为您工作


这段代码定义了三个 Emacs Lisp 函数。这三个函数提供了可以在 Emacs 编辑器中执行的三个操作。分别用来拷贝当前光标所在的 行 ,当前光标所在的 单词 以及当前光标所在的 段落 。
代码:
(defun copy-line (&optional arg)
 "Save current line into Kill-Ring without mark the line"
 (interactive "P")
 (let ((beg (line-beginning-position))
   (end (line-end-position arg)))
 (copy-region-as-kill beg end))
)


(defun copy-word (&optional arg)
 "Copy words at point"
 (interactive "P")
 (let ((beg (progn (if (looking-back "[a-zA-Z0-9]" 1) (backward-word 1)) (point)))
   (end (progn (forward-word arg) (point))))
 (copy-region-as-kill beg end))
)


(defun copy-paragraph (&optional arg)
 "Copy paragraphes at point"
 (interactive "P")
 (let ((beg (progn (backward-paragraph 1) (point)))
   (end (progn (forward-paragraph arg) (point))))
 (copy-region-as-kill beg end))
))



页首
 用户资料  
 
18 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-11-30 13:33 
头像

注册: 2008-10-25 5:04
帖子: 137
送出感谢: 1
接收感谢: 0 次
Tab Bar

TabBarMode

下载tabbae.el
.emacs文件中加入
代码:
(require 'tabbar)
(tabbar-mode t)


页首
 用户资料  
 
19 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-12-11 16:46 
头像

注册: 2008-10-25 5:04
帖子: 137
送出感谢: 1
接收感谢: 0 次
tabbar.el grey60
";+\\+\\+"
Esc C-s ;() Enter ;++


页首
 用户资料  
 
20 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-12-18 12:28 
头像

注册: 2006-10-19 8:43
帖子: 787
地址: 长江口
送出感谢: 1
接收感谢: 2
试试
<C-S-backspace> runs the command kill-whole-line

qinglangee 写道:
删除一行
emacs的删除一行是C-a C-k,而且只删内容,还留了个空行,不太方便,自己写了个删除一行的函数,绑定到C-d上,C-d一般就用Delete键,全是Windows风格 :em01
代码:
;;;删除一行
(defun zl-delete-line nil
  "delete the whole line"
  (interactive)
  (beginning-of-line);光标移动到行首
  (push-mark);做个标记
  (beginning-of-line 2);移动到下一行行首
  (kill-region (point) (mark)));光标和标记之间的删掉
(global-set-key (kbd "C-d") 'zl-delete-line);删除一行
(global-set-key [delete] 'delete-char);delete 删除一个字符


页首
 用户资料  
 
21 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2008-12-22 10:10 

注册: 2007-12-23 12:22
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
这东西还是看文档最好了,只是都 是英语的,看着累


页首
 用户资料  
 
22 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-01-30 9:55 
头像

注册: 2009-01-28 23:15
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
谢谢路飞的好贴


页首
 用户资料  
 
23 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-05-07 12:16 

注册: 2008-01-14 22:11
帖子: 30
地址: Wuhan, China
送出感谢: 0 次
接收感谢: 0 次
ibear 写道:
试试
<C-S-backspace> runs the command kill-whole-line

qinglangee 写道:
删除一行
emacs的删除一行是C-a C-k,而且只删内容,还留了个空行,不太方便,自己写了个删除一行的函数,绑定到C-d上,C-d一般就用Delete键,全是Windows风格 :em01
代码:
;;;删除一行
(defun zl-delete-line nil
  "delete the whole line"
  (interactive)
  (beginning-of-line);光标移动到行首
  (push-mark);做个标记
  (beginning-of-line 2);移动到下一行行首
  (kill-region (point) (mark)));光标和标记之间的删掉
(global-set-key (kbd "C-d") 'zl-delete-line);删除一行
(global-set-key [delete] 'delete-char);delete 删除一个字符


嗯, emacs 里有删除整行的函数, 但高手说这样不便于对文档精细操作


_________________
From Ai.Freedom

http://aifreedom.com/
Just feel free as in freedom.


页首
 用户资料  
 
24 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-06-24 1:18 

注册: 2007-11-08 16:29
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
好帖子要留名的。


页首
 用户资料  
 
25 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-07-19 17:58 
头像

注册: 2008-10-25 5:04
帖子: 137
送出感谢: 1
接收感谢: 0 次
在Windows下使用Emacs

1. 到 http://nqmacs.sourceforge.net 下载emacs的Windows编译版本,包括两个文件 emacs-21.3.50.1-20050130c-w32.zip 和 emacs-21.3.50.1-20050130-lisp.zip

2. 将 emacs-21.3.50.1-20050130c-w32.zip 解压缩到想要放置的目录,这里为 D:\Program Reserved\emacs-21.3.50.1-20050130c-w32

3. 将 emacs-21.3.50.1-20050130-lisp.zip 也解压缩在这个目录,然后设置环境变量

HOME=D:\Program Reserved\emacs-21.3.50.1-20050130c-w32

这样在以后 .emacs.d 目录和 .emacs 文件就都在 $HOME 目录下面了,但是这个方法并不好,因为设置 $HOME 会影响 Cygwin 和 MSYS 等很多东西,所以最好的方法是在注册表中设置 HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\HOME=%emacs_dir%

4. 需要自己添加的el文件放在 D:\Program Reserved\emacs-21.3.50.1-20050130c-w32\site-lisp 里面即可


页首
 用户资料  
 
26 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-08-01 17:34 

注册: 2007-12-10 1:28
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
留印,学习


页首
 用户资料  
 
27 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-09-03 20:50 
头像

注册: 2008-08-07 1:31
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
2L的 提前准备工作,最后的命令应该有笔误把

sudo apt-get install libtiff4-div
-》 div - dev?


页首
 用户资料  
 
28 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-09-29 2:37 

注册: 2009-04-07 10:28
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
目前发现俩Bug:
2楼
sudo apt-get install libtiff4-div应为
sudo apt-get install libtiff4-dev
sudo apt-get ssh cvs libc6-dev libncurses5-dev应为
sudo apt-get install ssh cvs libc6-dev libncurses5-dev
快3点了,先睡了,早晨再编译 :em09


页首
 用户资料  
 
29 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-10-09 13:49 
头像

注册: 2009-02-17 21:36
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
好帖,顶 :em11


页首
 用户资料  
 
30 楼 
 文章标题 : Re: 学习Emacs
帖子发表于 : 2009-10-18 19:09 

注册: 2009-02-25 23:17
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
留标签.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 38 篇帖子 ]  前往页数 上一页  1, 2, 3  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译