有哪些是谷歌浏览器必备扩展的emacs扩展

习惯自己定义了编辑器的颜色,一下子看不惯Emacs自己默认的那个主题
想办法改掉那个主题。在这个各种哥当道的时代,问了下古哥老大,主题就可以自己定制了。
1、首先咱去网站上把我们需要的扩展包给下载下来,这事必须的要不你怎么改颜色捏 :-):
&&&& 以下我给出了下载地址:
2、当把主题下载下来后 解压,然后将文件夹整个复制到到我们的load-path中。:-)& 默认是site-lisp目录下
&& 复制到该目录后,我们使用emacs打开我们的.emacs文件在该文件下加入以下代码:
;;================================
;;为我的emacs配置主题色彩 (color-theme-色彩名称)
;;================================
(require 'color-theme)
(color-theme-initialize)
(color-theme-calm-forest)
当然 ,可能有的童鞋会问,我们知道我的主题色彩的名字呢?????
确实,这个我配置的时候也想问。不过人家开发人员找到想到这个问题了,他们给我们开发了一个叫做color-theme-select的扩展,看到这个想必各位已经知道了是干什么的吧??
拿起你的Emacs来我们选择自己的主题色彩吧:
打开Emacs输入M-x命令,然后输入color-theme-select后选择。当然你要是记不到的话,还有个快捷键阿,别忘了Emacs自带的自动不全功能,Tab键。
进入color-theme-select后你会看到一大堆的主题色彩名字,选中某个主题色彩的名字后,按回车预览。接下来。将你选好的色彩使用上述命令中的(color-theme-'色彩名称') 写入Emacs的配置文件中:
& 注意:在主题预览中的名称你在配置文件里面应该以这样的格式出现,否则它可不认你这个东西:
主题色彩名称:将预览中的名字全部换成小写 ,空格使用连字符替换 就是那个横线减号 。
好了,色彩已经配置好了。祝大家成功。
阅读(...) 评论()有哪些是必备的emacs扩展_百度知道
有哪些是必备的emacs扩展
我有更好的答案
手工一个一个下载扩展的时代早就过去了. 查到相关的东西, packages. 然后通过它来管理所有的扩展.el 可以以此为关键字最重要的当然是包管理扩展
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Emacs及扩展配置
Emacs及扩展配置
编辑:www.fx114.net
本篇文章主要介绍了"Emacs及扩展配置",主要涉及到Emacs及扩展配置方面的内容,对于Emacs及扩展配置感兴趣的同学可以参考一下。
1 动机之反思
捣鼓了几天,总算把Emacs配置到基本正常使用的程度了。虽然有点迟,但还是尽量将能想起的细节都记录下来吧,否则以后要用到时都忘光了。
为什么会想转到Emacs上呢?多年以前,当我还在读大学时,就玩过Emacs,但是可能是觉得操作不方便,也可能是身边有朋友在用Vim了,捣鼓了一小段时间Emacs后,就转投向学习使用Vim了。 其实Vim作为编辑器而言非常好用,但是作为开发IDE而言,总是感觉欠缺;之前看过别人用Emacs,确实在代码调试上有其优势,可能就是因为这一点,一直耿耿于怀吧。 另外,在很早之前我就觉得在Emacs中显示中文很漂亮,比Vim中显示要漂亮些。恰好这次新买了MBP,换了OSX系统,就想在上面全新配置自己的环境。加上自己有一些任务管理、使用LaTex等的需求, 上网一搜,全都是将在Emacs上怎么实现的,于是就心痒痒想试试了。
本来想完全抛弃原先Vim的使用习惯,重新学习Emacs的各种操作的,但是每次用到Emacs那些复杂而且别扭的快捷键时,总是由心地希望用回Vim。我想,这就是Vim阵营的人鄙视Emacs的一大原因吧。 好在作为独缺好编辑器的操作系统,Emacs开发者已经为我这种两面派提供了终极解决方案:各种模仿Vi操作的扩展。最终,我使用了Evil,将ELPA中所有Evil开头的扩展都装了个遍,并将Emacs设 置为默认进入Evil模式,重启生效,顿时世界一片清静。其实我不太能理解为什么网上会有这么多Vim和Emacs之争,为什么不能站在相互取长补短的角度来使用它们?我觉得,只有真正去用一个工具, 才能真切体会它的好;同样,只有真正了解对手,才能发现自身的不足,也才有动力和方向去进一步完善它。当然,我只是一个纯粹的实用主义者,谁能解决我的问题,予我方便,我就用哪个,如果中 间遇到什么现在还没有的功能,而我有恰好有兴趣和时间去完善,那我才会去完善,回馈相应社区。
我不知道这次用Emacs会坚持多久,或者用了一段时间后发现不习惯了,还是用回Vim了。不过自从用了Evil,我感觉还是挺顺手了,现在环境也配置得七七八八了,应该够我用一阵的了。后续如果再 遇到问题,如果有时间,我想我还是会在Emacs上折腾的。
2 它山之石
刚开始我是从零开始配置Emacs的,所有的配置都写在~/.emacs中,基本也能工作,就是感觉自己要配置的东西太多,太繁琐。google了一番后,找到这篇文章:, 里面的介绍蛮好的,作者力荐学Emacs要从使用研究大牛的配置开始,我刚刚开始学,不知道这样是否是最佳的学习方式,因此持谨慎的保留态度,但不可否认的是,大牛们的配置确实让我们省去了很多繁琐, 并且,给我们的后续配置提供了一个不同于原始Emacs配置方式的扩展框架(缺点是我们必须先搞清楚大牛的框架,否则出现问题时就不知道怎么办了)。老实说,相比Vim大牛们的配置,在网上能找到的 Emacs配置还是有点弱的,很多功能都没有,特别是编程方面的,基本就没有(purcell和prelude配置中对于C系的自动补全和自动缩进等都没有配置)。 从我google的结果来看,比较普遍使用的Emacs配置集基本有几个:purcell、prelude以及emacs-starter-kit。(注意,如果使用这些配置集,就不能添加自己的.emacs文件了,否则会导致这些配置集 失效;这些配置集内部都有机制可以让你定制自己的功能的)
starter-kit:由于starter-kit的名字表明我太初级了,而我又自命不凡地觉得自己用了那么多年的Vim,不应该属于初级那类,因此我始终没有用starter-kit,也就无从知道它好不好用了。
purcell:purcell是《一年成为Emacs高手》中推荐的,作者Purcell本身是从事Web开发的,从评论上看更新有点快,所以自己配置的话,可能经常会出现配置冲突。这个配置中有个比较好的功能, 就是可以保存桌面,保存的桌面可以在下一次打开时自动载入。purcell的版本默认装不了el-get,因为跟装在里面的scratch扩展有冲突,我的解决方案是在git clone el-get的过程中在终端通过 sed命令将el-get中冲突的部分替换掉,或者启动Emacs后,先将scratch卸载(在ELPA中卸载),然后执行el-get的下载脚本,安装成功后再重启Emacs;由于启动时purcell配置会自动检测更新配 置环境,因此在启动过程中会检测到scratch被删除,然后重新下载安装scratch。在purcell中,如果要加入自己的定制,则可以通过在Emacs中执行&M-x customize-variable&或者在 ~/.emacs.d/lisp/中增加init-local.el文件,这个文件相当于.emacs文件,只是记得文件最后要有一句:
(provide 'init-local)
prelude:在网上乱搜的时候无意看到这个的,后来发现其实很多人都有推荐这个,比推荐purcell的多。它设置了一个较好的功能,就是保存&el&文件时自动编译。如果要添加自己的东西,则可以同样 通过&M-x customize-variable&,或者:在~/.emacs.d/personal/中添加后缀为&el&的文件,这样prelude便会自动载入这些配置了,这点感觉比purcell的实现要灵活一些。我大概花了一天左右的 时间在prelude上安装扩展和配置,弄得七七八八,基本能正常写代码了。不过后来头脑一热,又改成使用purcell了。现在回过头来看,purcell和prelude相比,并没有太多的孰优孰劣,要改成自己习 惯的环境也都得折腾一番,所以选择哪个完全是自己喜好了。
3 扩展的管理
目前Emacs主要有两种扩展管理器,一个是ELPA(package.el),另一个是el-get。其中ELPA是从Emacs24版本开始内置到Emacs中的,是官方的扩展管理器,但其仓库中的扩展比较少,需要配置其他仓库; 我加上网上搜到的几个仓库后,还是有些扩展找不到。el-get应该是比较老牌的扩展管理器了,安装(参见 )不算复杂,但是跟某些配置可能会有冲突(如在purcell的配置中,会跟其中的 scratch扩展有冲突,会提示void-variable el-get-sources);其仓库中的扩展比较完整,而且据称可以使用ELPA的仓库,但我没试过。从个人感觉而言,用el-get还是挺爽的,无奈大牛们的配置都是使用ELPA的,所以现在我也基本都是使用 ELPA了。比较讨厌的是el-get和ELPA相互不知道对方装了哪些东西,可能会造成重复安装;如果想在el-get中安装某个有依赖的包(如auto-complete-clang),则无论ELPA中是否已经安装了依赖,el-get都 会将依赖安装一遍,即浪费了空间,又可能导致不必要的冲突。
ELPA和el-get都有显示所有扩展的命令(pacakge-list-packages和el-get-list-packages),在列表界面中,&i&标记安装光标所在包,&d&表示删除,&U&表示更新,完成所有想要的动作后,输入&x&来 一次执行所有的操作。
如果要给ELPA添加其他仓库,则在配置文件中添加诸如以下语句(可以添加多句来实现添加多个仓库的目的):
(package-initialize)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
4 我额外安装的通用扩展(在purcell基础上)
unicad:当打开文件时,自动猜测文件编码,启用后&妈妈再也不用担心我打开文件乱码了^_&。传说Emacs内置也有一个猜测编码的扩展,但我打开GBK编码的文件时始终会乱码,不知道是不是需要配置, 网上没有看到相关介绍。unicad不在ELPA的仓库中,需要通过el-get安装或者从网上搜索手动下载安装。配置相当简单:
;; allow unicad to guess file's encoding when open a file
(require 'unicad)
evil:我将ELPA仓库中所有evil开头的扩展都装了,基本啥都不用配置,用起来跟Vim差不了多少,相当给力!
(require 'evil)
;; enter evil-mode automatically
(evil-mode 1)
yasnippet:据说如果要跟auto-complete共同使用的话,需要在auto-complete前配置:
;; not yasnippet-bundle, and yasnippet is conflict with yasnippet-bundle now
(require 'yasnippet)
(yas-global-mode 1)
(yas-minor-mode-on)
auto-complete:蛮好用的自动补全工具。我的配置如下:
(require 'auto-complete-config)
;; change the path to where your dict fold locates,
;; and note that the trailing '/' must present.
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-/dict/")
(ac-config-default)
(setq ac-auto-start t)
(setq ac-quick-help-delay 0.5)
(define-key ac-mode-map
[(control tab)] 'auto-complete)
:使用clang来扫描生成文件的符号信息,以便用于自动补全等,非常爽的功能。修改自auto-complete-clang,不同的是采用了C/S方式,即使用一个二进制程序 clang-complete来进行源码分析,另外使用auto-complete-clang-aysnc.el来做前端,目的是提高自动补全的响应速度,避免卡顿。编译clang-complete时,需要系统安装有llvm(llvm-config) 和clang的头文件,在MacOX中,可以用以下命令安装:
# first install llvm
brew install llvm --with-clang --with-asan
以上只是下载并编译了llvm,生成的二进制文件存放在/usr/local/Cellar/llvm/[版本号]中(/usr/local/opt/llvm会链接到/usr/local/Cellar/llvm/中最新版本的llvm)。在OSX中,由于系统自带有llvm,为了避免第三方的llvm替代系统默认的llvm而造成无法预测的问题,一般不建议在系统层面上替换llvm。如果为了省事,也可以强制安装替换:
# to link the binary to /usr/local/bin and /usr/local/lib/
# if we don't link, programs that use llvm's dylib will not run because
# they can't find the libs.
brew link llvm --force # we have to add '--force', or we can't link llvm
如果不愿冒险替换,则比较繁琐:
(1) 在编译clang-complete时,不能直接make,而是需要指定llvm-config的位置:
make LLVM_CONFIG=/usr/local/opt/llvm/bin/llvm-config
(2) 编译出来的二进制是无法运行的,会出现如下错误:
$ ./clang-complete
dyld: Library not loaded: @rpath/libLLVM-3.4.dylib
Referenced from: /usr/local/opt/llvm/lib/libclang.dylib
Reason: image not found
Trace/BPT trap: 5
(3) 采用如下方法修改:
sudo install_name_tool -add_rpath /usr/local/opt/llvm/lib/ /usr/local/opt/llvm/lib/libclang.dylib
(4) 在每次升级llvm后,clang-complete都会出现(2)的现象而无法运行,都需要使用(3)的方法进行修改。
ELPA中的auto-complete-clang-async.el与github仓库中完全一致,只是从ELPA下载的扩展包中不包含C代码,因此可以直接使用ELPA中的auto-complete-clang-async。 要让clang-complete能正常工作,还需要将编译好的clang-complete拷贝到~/.emacs.d/(或其他自定义的位置)中,并在.emacs或init-local.el(使用purcell的话)中进行以下设置:
(require 'auto-complete-clang-async)
(defun ac-cc-mode-setup ()
;; you should change the server program's path here
(setq ac-clang-complete-executable "~/.emacs.d/clang-complete")
(setq ac-sources (append '(ac-source-clang-async) ac-sources))
(ac-clang-launch-completion-process)
(defun my-ac-config ()
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
(global-auto-complete-mode t))
(my-ac-config)
google-c-style:我不喜欢它的两字节缩进,但是既然要用,就习惯它吧,毕竟存在即合理。在其代码中,它将回车绑定为&newline-and-indent&,这样有个缺陷,就是无法实现回车后自动更正缩进 (比如回车后的大括号的位置),我修改它扩展中的源码,将其改为绑定到&reindent-then-newline-and-indent&,便能满足我的需求了。
auto-indent-mode:在输入时实现自动缩进,有时很爽,有时很烦人,个人觉得有比没有好。有了这个,google-c-style中的修改应该可以不做了(但我没实测过)。配置如下:
;; note that auto-indent-mode might be conflict with yasnippet and autopair,
;; so we must load it first.
;; don't enable auto-indent-on-visit-file, or there will be error(conflict with yasnippet, maybe).
;(setq auto-indent-on-visit-file t) ;; If you want auto-indent on for files
(require 'auto-indent-mode)
;; make auto-indent work globally
(auto-indent-global-mode)
slime:运行lisp用的,我在系统中装的是clisp,默认它无法识别这个,因此需要在配置文件中指定:
(setq inferior-lisp-program "/usr/local/bin/clisp")
其他就没有什么需要配置的了。注意使用的lisp解析器是可以换其他的,之前我还试过另一个lisp解析器,忘了叫啥了,发现在使用slime时会无法使用方向键来调整输入,所以就换成clisp了。
ecb:直接通过ELPA安装即可。我安装并启用了,但还没仔细用。
cal-china-x:在calendar中显示农历的扩展。ELPA和el-get中的版本都是0.6的,在我的Emacs24中都是无法执行的,会有错误。从网上找到了2.1版本 。我先通过ELPA安装0.6版本, 然后将网上下载的新版本直接替换~/.emacs.d/elpa/cal-china-x-0.6目录中的cal-china-x.el就可以了。配置很简单:
(require 'cal-china-x)
;; mark holidays in calendar
(setq calendar-mark-holidays-flag t)
nav:比较简便的、类似于Vim的Nerdtree的文件树导航。输入&.&来转换是否显示隐藏文件。
smartparens:自动输入匹配的括号等。网上查了一下,这个似乎是自动匹配的扩展中目标最宏伟的(实现其他几个扩展的功能),至于是不是最好用的就不知道了。purcell的配置也有自动输入匹配括号的功能, 对emacs-lisp有效,但是对C代码不生效,不知道为什么。smartparens简单配置一下就基本满足我的需求了,因此没有进一步研究其配置项:
;; use smartparens
(require 'smartparens-config)
;; global enabled, and use strict mode
(smartparens-global-strict-mode +1)
evernote-mode:可以通过Emacs登录查看evernote上的笔记,并可以进行管理(新增、修改等),我一直没有让它跑起来(跟其他扩展有冲突),而且看了下,这个扩展已经有几年没更新了。网上也说由于evernote新修改了登陆验证方法, 导致这个扩展无法正常使用了。搞了半天没搞定,最后把它卸载掉了。
epic:在Mac OSX中,可以与Evernote.app通信,从而管理evernote中的笔记的扩展。简单地在配置文件中加入:
(require 'epic)
就可以正常使用了(如M-x epic-read-notebook),能获取到笔记本列表,但是进一步想查看里面的笔记时,就出错了,貌似又是与某些插件冲突了,在网上找了挺久也没解决方案,最后还是放弃了。
本文标题:
本页链接:有哪些是必备的emacs扩展_百度知道
有哪些是必备的emacs扩展
我有更好的答案
什么是“构建”,造大桥啊;-) Linux中的这几个是基本编程工具,写代码用Vim,但是不一定非用它不可,我就偏爱emacs,还有gedit,都算不错,vim很经典,岁数也比emacs大,这些都是编辑器; gcc是最长用的编译器 ,用于编译C语言程序,但还有cc,它是UNIX中的化石,一般Linux,BSD,FreeBSD,openBSD等POSIX系列系统必备的;程序弄出来了,不可能一点错误都不发生,所以可以用gdb来调试,gdb是一个很不错的调试(用它时要记得在gcc编译加参数“-g” ),不仅可以查看某个变量的值,还能看寄存器等值,除gdb之外还有kdb,kgdb
不知你用的是哪个发行版的,Redhat系列(redhat,fedora,SUSE)的用如下命令 :
yum install gcc gdb vim
若有RPM包:
rpm -ivh gcc-xxxxx.rpm
rpm -ivh gdb-xxxxx.rpm
rpm -ivh vim-xxxxx.rpm
其他类似问题
为您推荐:
emacs的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 谷歌浏览器必备扩展 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信