The etags program is used to create a tag table file, in a format understood by emacs(1); the ctags program is used to create a similar table in a format understood by vi(1).
这是我的 man 帮助的内容。我没试过,不过 Emacs 要能支持 ctags, 还要 etags 干嘛?
用 etags 生成的是以下格式:和 ctags 不一样的,.
/root/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/sync.rb,630 def Err.Fail(*opt)54,1007 def UnknownLocker.Fail(th)60,1156 def LockModeFailer.Fail(mode)67,1298 def Sync_m.define_aliases(cl)76,1412 def Sync_m.append_features(cl)88,1719 def Sync_m.extend_object(obj)96,1893 def sync_extend101,1962 def sync_locked?115,2264 def sync_shared?119,2310 def sync_exclusive?123,2356 def sync_try_lock(mode = EX)128,2426 def sync_lock(m = EX)136,2579 def sync_unlock(m = EX)157,3000 def sync_synchronize(mode = EX)222,4362 def sync_inspect239,4674 def sync_initialize246,4933 def initialize(*args)257,5145 def sync_try_lock_sub(m)262,5206
我不用鼠标。不过我很擅长了解用户需求。 这两者没有任何关系。
新加了一个问题。还望有知道的朋友分享下~
是的。只好通过 REGEXP 来实现了。
kao!!
Both forms of the program understand the syntax of C, Objective C, C++, Java, Fortran, Ada, Cobol, Erlang, Forth, HTML, LaTeX, EmacsLisp/Common Lisp, Lua, Makefile, Pascal, Perl, PHP, Postscript, Python, Prolog, Scheme and most assembler-like syntaxes.
唯独没有 Ruby.
Windows 下从来不脸红,而且盗版用的理直气壮。但是 linux 下,惭愧了。
你就跟我说一下,如何把 Ruby 的内核和标准库的方法,创建一个 tag 呢?
ctags 怎么用呢?能讲一下么?
有破解的啊~~
beyondcompare
比较代码的工具,无出其右。
其实看我那么多,有大把的 alias, 可能只是进入一个最简单的目录或者打开一个最简单的文件而已。
当然也有复杂的。alias 指向了对应的 function.
哇。原来你用的系统这么干净,那么多基础安装包都需要自己安装。
我用的 slack 大把基础部件都自带了。而且配合工作很完美 ( 这也是 slackware 受人赞誉的地方,因为这个版本就是一两个人在维护,理念,一致性各方面都很统一,而且绝少 bug.)
折腾你这么一个列表,也许要花不少时间吧。呵呵。
我看到那几个跟 fcitx 有关的安装包了,凭你用 geetoo, 我就知道你动手能力只在我之上了。
我也认为,会用 GTD 都是大神。哈
都六七年了,前辈哦,看不懂我们说的么?
一个笑话:
使用 vi?那该多么麻烦呀?如果你真决定这样,需要做好以下准备:
1.获得一条任意品种的鱼,长度大于 12 英寸就行 2.冰冻一晚上 3.把它放到电脑前,运行 vi 4.抓住鱼的尾巴不停的往你头上砸,直到你决定用 EMACS。
没过多久,vi 的拥护者们开始回击,其中一个建议把这一行加到他的步骤中去:
在第 1 步之前键入 emacs,这样在第 4 步结束时 emacs 才可能加载完成。
可发挥的余地大大地~
事实上我早就想过通过类似方式来实现,只不过一搜,已经有人搞定了。直接拿来主义了。
别灰心,我和你水平差不多。只不过用多了 熟了点。
Ctrl+Meta+i 这个快捷键默认绑定的是:单词拼写检查,和 M-$ 一样的功能。纯粹给废了。而且我几乎不用。
#18 楼 @doitian 哈。兄弟很有创意呀。我都没想到。
我的这个应该比你方便一些吧。
我把我的也分享下:
用到这个插件 (其实就是一个宏) http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el
(defun backward-upcase-word ()
(interactive)
(upcase-word (- (1+ (seq-count)))))
(defun backward-capitalize-word ()
(interactive)
(capitalize-word (- (1+ (seq-count)))))
(defun backward-downcase-word ()
(interactive)
(downcase-word (- (1+ (seq-count)))))
(defun backward-mark-word ()
(interactive)
(mark-word (- (1+ (seq-count)))))
我估计其他编辑器不见得有类似功能吧。呵呵。
个人习惯问题吧。最初是因为,Shift 在文本终端下
, 是无效的。
我刚刚跨入 linux 那会儿,还不知道怎么启动图形界面呢。那会儿已经用 Emacs 很熟了。所以,很少使用 Shift. 到目前为止,唯一用 Shift 的地方,就是查看帮助的时候,Shift+Meta+n, Shift+meta+p, 滚动另一个 buffer, 而不用把光标切换到另一个窗口。
其他的有些命令,因为怕冲突的缘故,例如 C-l, 我直接就自动映射成 C-S-l 了。这样保证任何模式,C-l 都是移动键。(最初其实我是映射到 Super L 了。后来觉得 Super 啥的搞的挺复杂,别人也不好懂,就换成大写了.), 既然已经这样 map 了。我肯定无法再定义 Shift 相关的键了。
事实上根本用不到 Shift 吧。C-c 前缀里面还有大把快捷键没占用呢。我又弄出来个 M-c 前缀 (基本上没用几个), 另外还有 C-v,C-f 前缀.(分别是 VC 控制和 rinari 专用).
实在想不出来用 Shift 的地方。事实上 shift 也不方便啊。左手按着 Capslock,再按 Shift 很难受。 而右手,我手指几乎从来不离开 J,K,L. 顶过 Shift-tab 的时候用一下右边的 Shift.