当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 21 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : emacs问题求助
帖子发表于 : 2010-12-29 17:38 
头像

注册: 2007-01-16 16:14
帖子: 250
地址: 郑州
送出感谢: 4
接收感谢: 0 次
有好多问题要问,干脆都在这一个帖子里吧。


===
如何根据扩展名不同选择不同的加亮方式: 已解决
代码:
(add-to-list 'auto-mode-alist '("\\.extension\\'" . your-favorite-mode))

===
目前问题,安装cedet后
配置文件里面设置为以下
代码:
(setq semanticdb-project-roots
      (list
       (expand-file-name ".")))
(global-set-key [C-tab] ' senator-completion-menu-popup)

但是 C-tab 时只有有些函数能够自动补全,变量和一些函数都不能自动补全,请问是什么问题:已解决
这个问题已经想明白了,emacs下的这个补全是和程序架构有关的,但是vim下面的 C-p 或者 C-n 是关注的单词本身,可以从当前文件中选择匹配,或者从系统定义的头文件里选择匹配(个人猜测,应该是这样),也就是说一串字符,不是什么变量,也不是什么函数,先输入几个字符,然后用vim的C-p就能匹配出来,但是emacs却不能补全。emacs只能找到变量的定义、函数的定义才能补全。
当然,emacs也肯定可以补全当前文本中匹配的字符串而不考虑程序的结构,谁给指导一下怎么才能实现好吗。已解决可以选择 auto-complete
另外有个小问题,比如一个结构体里面有两个 char buf_a[100]; char buf_b[100]; 此时 C-tab 就会弹出一个窗口,选择的话只能通过鼠标吗?感觉太不方便了,google了不少,没说可以用什么快捷键啊。

===




















[del]这个对于一般的通用的文件倒是正常的,比如.c .sh 或者别的文件,emacs都会选择适合的加亮规则。
但是有时候会自己定义一个自己用的扩展名,类似备忘什么的,里面的有些东西会和c的语法很相似,这个时候emacs启动,但是因为扩展名不是通用的扩展名,所以emacs就不会加亮,我还要手动 m-x c-mode 运行一下才行。
我想让emacs默认启动编译这些文件的时候也选择c模式加亮。文件的扩展名有自己来定。

一句话总结就是让emacs根据扩展名(不是通用的扩展名)的选择加亮方式 :em06 [/del]

thx


最后由 tpli 编辑于 2010-12-31 20:32,总共编辑了 5 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-29 19:33 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
代码:
(add-to-list 'auto-mode-alist '("\\.extension\\'" . your-favorite-mode))


页首
 用户资料  
 
3 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-29 22:57 
头像

注册: 2007-01-16 16:14
帖子: 250
地址: 郑州
送出感谢: 4
接收感谢: 0 次
谢谢楼上 :em01

请问你是怎么找到的啊。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-30 10:11 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
tpli 写道:
谢谢楼上 :em01

请问你是怎么找到的啊。


怎么找到的,真忘了。

用这玩意儿好些年了,无论换作是谁,都会知道的,经验而己。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-30 10:26 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
按照扩展名识别,太假了。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-30 11:15 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
按照扩展名识别,太假了。

自然可以按照文件内容识别,magic-mode-alist 之类,但有些人就喜欢用扩展名来区分。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-30 11:39 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
vim的招数那么多。还可指定路径。


_________________
● 鸣学


页首
 用户资料  
 
8 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-30 11:45 
头像

注册: 2007-01-16 16:14
帖子: 250
地址: 郑州
送出感谢: 4
接收感谢: 0 次
谢谢。

另外,怎么继续上面的设置 c-mode-style呢
因为如果把c-mode-style 'bsd 写到配置文件的话,当启动的文件不是 c-mode时,emacs会报错,如何让emacs选择c-mode后,再自动设置 style?

thx


页首
 用户资料  
 
9 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-31 9:03 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
vim的招数那么多。还可指定路径。

可以按文件名,文件内容,时间,属主,路径,大小……及其任意组合来选择 mode.

tpli 写道:
谢谢。

另外,怎么继续上面的设置 c-mode-style呢
因为如果把c-mode-style 'bsd 写到配置文件的话,当启动的文件不是 c-mode时,emacs会报错,如何让emacs选择c-mode后,再自动设置 style?

thx

c-mode-hook


页首
 用户资料  
 
10 楼 
 文章标题 : Re: emacs问题求助
帖子发表于 : 2010-12-31 12:12 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
tpli 写道:
这个问题已经想明白了,emacs下的这个补全是和程序架构有关的,但是vim下面的 C-p 或者 C-n 是关注的单词本身,可以从当前文件中选择匹配,或者从系统定义的头文件里选择匹配(个人猜测,应该是这样),也就是说一串字符,不是什么变量,也不是什么函数,先输入几个字符,然后用vim的C-p就能匹配出来,但是emacs却不能补全。emacs只能找到变量的定义、函数的定义才能补全。
当然,emacs也肯定可以补全当前文本中匹配的字符串而不考虑程序的结构,谁给指导一下怎么才能实现好吗。未解决
另外有个小问题,比如一个结构体里面有两个 char buf_a[100]; char buf_b[100]; 此时 C-tab 就会弹出一个窗口,选择的话只能通过鼠标吗?感觉太不方便了,google了不少,没说可以用什么快捷键啊。


你 google 用的关键词太矬,使用 auto-complete 解决所有问题。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: emacs问题求助
帖子发表于 : 2010-12-31 12:19 
头像

注册: 2008-03-25 15:49
帖子: 25878
地址: 谁知道?
送出感谢: 8
接收感谢: 10
引用:
让emacs根据扩展名(不是通用的扩展名)的选择加亮方式

看不懂。lz能上个图给小鸟 解释解释不?


页首
 用户资料  
 
12 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-31 12:57 
头像

注册: 2009-04-11 23:46
帖子: 4131
系统: Arch Linux
送出感谢: 11
接收感谢: 124
anewbie 写道:
可以按文件名,文件内容,时间,属主,路径,大小……及其任意组合来选择 mode.


能按随机数或者当前时间之类的选择 mode 不? :em04


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
13 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-31 13:09 
头像

注册: 2007-01-16 16:14
帖子: 250
地址: 郑州
送出感谢: 4
接收感谢: 0 次
anewbie 写道:
eexpress 写道:
vim的招数那么多。还可指定路径。

可以按文件名,文件内容,时间,属主,路径,大小……及其任意组合来选择 mode.

tpli 写道:
谢谢。

另外,怎么继续上面的设置 c-mode-style呢
因为如果把c-mode-style 'bsd 写到配置文件的话,当启动的文件不是 c-mode时,emacs会报错,如何让emacs选择c-mode后,再自动设置 style?

thx

c-mode-hook


谢谢。 hook稍微查了一下:
emacs以mode来组织各种不同的编辑环境,通常每种文件类型都有一个独立的 major-mode,比如 c-mode
定制某个特定的mode除了通过设置快捷键和修改一些mode提供的变量之外,还可以有一个方法。通常major-mode都会提供一个hook,mode名字加上 -hook,在进入这个major-mode之后会调用对应的hook里加入的函数。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: emacs问题求助
帖子发表于 : 2010-12-31 13:12 
头像

注册: 2007-01-16 16:14
帖子: 250
地址: 郑州
送出感谢: 4
接收感谢: 0 次
pocoyo 写道:
引用:
让emacs根据扩展名(不是通用的扩展名)的选择加亮方式

看不懂。lz能上个图给小鸟 解释解释不?

水牛不要嘲笑我。。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: emacs如何根据后缀名设置不同的加亮模式
帖子发表于 : 2010-12-31 13:23 

注册: 2009-02-24 19:39
帖子: 159
送出感谢: 0 次
接收感谢: 0 次
lilydjwg 写道:
anewbie 写道:
可以按文件名,文件内容,时间,属主,路径,大小……及其任意组合来选择 mode.


能按随机数或者当前时间之类的选择 mode 不? :em04


这是相声还是认真的?
好吧,能,在 after-*-hook 后挂个函数,能用敲 lisp 代码确定的条件都能。
前提:不考虑伪随机与“随机”的差异,不考虑获取“当前时间”的指令执行时的“当前时间”与执行具体任务的指令执行时的“当前时间”的细微差异。


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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