Giter VIP home page Giter VIP logo

mastering-emacs-in-one-year-guide's Introduction

Master Emacs in One Year

English version

Guide on how to master Emacs in one year.

The critical question is whether one year is enough.

My answer is a big YES, if you know how to do it efficiently!

Here are the tips for your first year:

  • Set the standard to the highest
  • DON’T create your own setup
  • Report bugs to the master
  • DON’T learn Lisp
  • DON’T remember key bindings

Emacs Lisp has nothing to do with your IQ. So don’t feel pressured to master it asap. As I have observed, most people (including me) dislike language with unfamiliar syntax. That’s ok. Start from using Emacs, you will feel the love for Emacs, then comes the love for Lisp naturally.

Click HERE to read it.

中文版本 (Chinese version)

关于如何在一年内成为高手的指导.

Web版本也会发布在我的CSDN博客个人博客.

我建议一年内,

  • 标准要最高
  • 不要从头创建自己的配置
  • 给高手报告bug
  • 不要学习Lisp
  • 不要记快捷键

Lisp和你的IQ毫无关系.不要急着学它.据我观察,大多数人(包括我)讨厌语法怪异的语言.这很正常,先从使用软件开始,当你爱上Emacs,对Lisp的爱也就跟着来了.

点击这里查看.

Practical guide to use Gnus with Gmail

English version

Gnus is the default Email client of Emacs. No technical details involved.

Click HERE to read it.

Guide for developers

Many tutorials teach you how to convert Emacs into a perfect IDE.

This guide explains how to convert Emacs into a good IDE with minimum setup.

mastering-emacs-in-one-year-guide's People

Contributors

ace-who avatar airmanh avatar andytimes avatar believerd avatar bimmlerd avatar chenyukang avatar chris00 avatar dewdrops avatar ixnij avatar juanitofatas avatar julianorchard avatar lu4nx avatar magemasher avatar magnific0 avatar maykhaw avatar mbeppler avatar mirasire avatar nasyxx avatar ohcrider avatar pel-daniel avatar scutdk avatar sergeyklay avatar spacewander avatar sujayvadlakonda avatar superewe avatar thedd avatar trevoke avatar xlighting avatar ynjxsjmh avatar zxymike93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mastering-emacs-in-one-year-guide's Issues

Guide for usage of workgroups2

Thanks for the helpful guides. You had a comment on redditt on using workgroups2 efficiently. Do you have a guide on its usage?

Wrong repository language detection.

Hello.
Github detect that this repository is written in the Common Lisp. I suppose this is because of used #+BEGIN_SRC lisp and similar definitions in the Org mode files. Can you try to fix this?

It doesn't really a problem with your project. But it annoying when irrelevant project appears in the top of search result in the different language.

Thanks.
Regards, Artem.

Tramp: Waiting for prompts from remote shell

For some unknown reason, there is a message read "Tramp: Waiting for prompts from remote shell. " And Emacs stuck there. Why is there this message and could I prohibit these prompt?

文字修改

emacs的而org-mode是 =〉而 emacs 的 org-mode 是

how switch heder and implament file

when i browser c/c++ code in emacs, how switch to header files from implement file. The cedet plug may have the feature. but it's complex and slow.

Is there any famous org mode configuration?

I agree with your idea of beginning emacs with other's configuration. Now, I was studing org-mode. Can you recommend some famous org mode configuration? Thank you very much.

算是对本文一些看法的交流 :)

我用词一般比较通俗: 感觉 Emacs 还是只适合比较特定的人群, 那些"懒得折腾不大喜欢玩"也没啥追求和想法的不建议入这个圈, 他们用的结果往往只会传递一些非常糟糕的主观偏颇的判断.

个人感觉最好不要跟那些专业 IDE 较劲, 只针对某个方向比如 c/c++ 开发 GUI, 很多地方专业 IDE 确实不是吃素的, 不过 Emacs 会有它的特色, 不好一一列举. 不管 Emacs 的哲学是不是 living in Emacs , 很多人都是这么玩的 :)

在 Emacs 圈子或者说社区方面, 个人感觉国内氛围比较好而且持久的还是水木社区的 Emacs 版, 链接 http://www.newsmth.net/nForum/#!board/Emacs . 早前乃至现在很多来这里交流 Emacs 的都是用老式的 telnet bbs 的, 那种字符界面的操作感跟 Emacs 是一样的畅快淋漓. ace-jump-mode 以及 yasnippet 的原作者早前也都在这里活跃. 另外接触有些人十分喜欢官方列的一些邮件组(Mailing Lists) , http://savannah.gnu.org/mail/?group_id=40 , 我个人更偏爱 reddit: http://www.reddit.com/r/emacs/

另外对 Emacs/Vim/Sublime Text 在这里发表了些个人, 欢迎拍砖交流 :) 链接 http://emacsist.com/9999

这才开始好好发现 Emacs

我是去年暑假接触的 Linux ,那时候对 Emacs 的理解仅限于移动光标,而且常用 geany,在用 Emacs 上根本就是个 newbie。最近对 Emacs 的感觉上来了,成功地添加了几个插件,越来越得心应手,感觉真不错。在这里留下痕迹,看看一年后的我是否成为 Emacs 高手 ~ 非常感谢你的分享。(说 "您" 我觉得有点怪。。)

Invalid link

在下段中的链接 https://github.com/languages/Emacs%20Lisp 打开后是错误404,望修复。

github是geek云集的地方

github的版本控制服务很好.现在它的社区化倾向越来越强了,我喜欢.

例如,可以看一下https://github.com/languages/Emacs%20Lisp上最酷的Emacs插件.

how can i follow your setup?

Hi, Chen
thanks for sharing the setup and the guide! that's really really awesome. how can i update my emacs setup and follow yours? because its have been three month since i first turn to your setup.
Thanks in advance:)

M-x is undefined

when i use the key M-x , emacs say 'M-x is undefined' How can i solve it?

I see your blog yesterday ,and a many things i don't understand . I use your code to build my emacs ,but when i use M-x ,it says 'M-x is undefined'. I tried google and baidu but i can't find any answer, i hope you can help me

Java集成Emacs

如何将Java的开发环境集成到Emacs,以及自动提示的安装。

谢谢

期待你的回信

无意标记了一个色块

请指教这个色块是什么意思,如何设定并取消。或请给个解决这个问题的线索。耽误您的时间了,谢谢!
selection_003

更新了package以后 出现 Wrong type argument: listp, "No commentary."

Hi Chen,
你好,今天在调试company的时候,总是会有frontends的问题,以为是版本问题,所以在list package里面用了U x更新了package, 但是在go-mode出出现了No,commentary的问题,后来我就取消了go-mode的更新但是把其他的都更新了,结果启动的时候出现了Wrong type argument: listp, "No commentary."的问题,查了以后,发现是你的init-elpa.el里面require gomode,将其注释后启动,还是有问题init.el 中的misc好像出了问题invalid function:1

//
;; * loop-return
;; * Named loops so you can break/continue outer loops
" "friendly imperative loop structures" single])
eval-buffer: Invalid function: 1Error during redisplay: (eval utf-8-unix) signaled (void-variable utf-8-unix)
Error during redisplay: (eval utf-8-unix) signaled (void-variable utf-8-unix) [18 times]
//

请教这是什么情况?
非常感谢!

defadvice

Emacs Lisp 书籍推荐(可选)

Bob Glickstein的Writing GNU Emacs Extensions是最好的.

生动,例子丰富.作者用心安排了书的结构.例如,很早就介绍了defadvice的用法.defadvice 是Emacs Lisp的精华.

please note that defadvice is deprecated and people should now use add-function, add-advice

安装成功后第二次启动有bug

Warning (initialization): An error occurred while loading `d:/emacs/.emacs.d/init.el':

Symbol's value as variable is void: ispell-program-name

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

初始化安装成功后运行起来没问题,关闭再次打开就会报这个错误。

打开文件时无法进入vi模式

打开一个org文件时,会马上进入vi模式;可是打开其它文件,比如s.txt或s.data时,就不会进入vi模式,有时不知道按到什么键,会转到vi模式。本人菜鸟,耽误大神时间,请指点一下。

请问能否提供一份不需要网络安装的版本下载

你好,
感谢你分享的 emacs 配置,由于国内网络的原因(使用 http 代理也很不稳定),因此在第一次安装时很难成功,不知道能不能帮忙提供一份完整的离线版本的配置文件,谢谢。

copy defined multiline text

Is there some short-cut way in VI mode to copy defined multi-line text like ':2,10 copy' to copy text between row 2 and row 10?

嘿, 你这篇文章很有用。

在你的博客上提交, 但是貌似失败了, 所以在这里重写一遍。

你写的这篇文章很好, 尤其是 smartpartens, expand-region 这两个插件貌似很不错,正在试用。

不过 expand-region 貌似没有 collapse 一个 block 的功能?
是一个方便的根据语法选择 block 的插件吧?

我用 Emacs 有几年了, 也是有大把的配置, 多到必须分成十几个文件,分模块来写, 否则找不到。

我也推荐一些你没有提到的插件, 都非常实用,我几乎天天在用它们, 希望对你有用:

project-explorer 一个类似于 vim 的文件导航, 这是据我所知唯一的一个功能足够强大,而且好用的类似插件, 虽然我不怎么用。

undo-tree, 在当前 frame 之中新开一个 window, 以树的形式显示历史 undo 节点, 比起 emacs 愚蠢的 undo 循环, 好太多了!

mode-compile, 针对不同模式, 自定义编译命令,参数,虽然老点, hack 一下还是很好用。

git-emacs mo-git-blame gist, 这些插件跟 git 有关,个人觉得比 magit 好用。

smart-mode-line, tabbar, 你懂得,让你的 emacs 看起来非常酷, tabar 也很有用处,

theme 我使用 zenburn, 推荐试用下。
还有 auto-complete, 很奇怪你没有提到它,它和 yasnippets 一起工作蛮好的。

我的 github: http://github.com/zw963
我的邮箱是同名的 163 邮箱, 你给我发封邮件,有空的时候彼此交流, 哈!

Please add screenshots to the GNUS guide

I'd be a lot more comfortable with the GNUS guide to read email if I saw at each step what it might look like. It would also help me decide which mail client to choose.

在 80 列处不显示竖线

你好:

在这篇介绍中,你提到了你的配置会在 emacs 的 80 列处显示一条竖线作为边界提醒,我使用你的配置之后,没有正常的显示出来,请问这个功能是哪个插件的功能呢?
现在我这里显示是这样的 http://imagebin.org/266973 , 好像在一行的最末尾显示了一条竖线,但是并不是在 80 列的位置处, 谢谢。

emacs配置后,软件的错误提示时软件**出现黑色方块

mac 10.9 + GNU Emacs 24.3
使用的时博主的配置,自己去掉了evil扩展
相应的第三方库是让emacs启动时自行下载编译的。
问题如下:

  1. 启动时原先是带有颜色主题的界面,但是是默认大窗体。
    我想改称此前默认的80x24,查过有关设置default-frame-alist的命令,请问放哪里合适?
  2. 设置鼠标滚动无效后,双指滑动时有错误提示,并在窗体
    **出现黑色方块。(图片不知原因无法贴出来T_T)
  3. Meta键绑定在了Super上,emacs里面M-v无法使用了。
    虽然在osx-key中设置了适应mac系统的按键,但是M-v无法翻页比其他的功能重要。
    谢谢大家的帮助~

类似vim里ctrlp的插件

能否推荐一个类似vim里ctrlp功能的插件。我正在使用你的配置,不知道是否已经有这样的插件或功能?

您好 关于在windows8下使用Emacs的配置问题。

Hi redguardtoo,
你好,我是一个想转CS的学生,在学java的过程中接触的emacs,emacs也是我第一个编辑器,很想学好它,之前一直是直接在学校的服务器上使用的emacs(用emacs硬写了两个月java囧),现在想更进一步,在自己的电脑上用emacs,电脑是win8。
已经下好了Cynwin和Emacs,但是不知道该如何使用,你说的在win下使用Emacs,step1是添加两个libraries该怎么加入到emacs中?(对于Cynwin的理解:他是模拟unix的环境,从而让我们能在win上面使用unix的命令对么?)
还有你提到的模仿大神的配置,因为初学我比较想用Emacs-starter-kit,但是他的教程上用的是git,我该怎么导入他的配置(刚刚接触linux什么的(只会一些简单的操作命令) 很多东西和概念还不明白还请见谅:P)(或者导入您的配置,我该怎么办?)
我现在正在一点一点的看emacs,tutorial已经反复看过多变,不过emacs的东西好多。。可能还需要一段时间才能读完囧。
再次感谢你的文章,给了我很多启发和动力:D

标点符号的使用

不知道基于什么原因,全篇使用的都是英文标点符号,建议改为中文标点。

Hi 你好,关于大作中一些package

Hi你好,有幸拜读到你的大作,获益良多。
我也很喜欢emacs,不过目前没没入门。
你的文章里提到一些有用的package,比如evil, org,smex。他们有些好像不能像标准的package那样安装,很多并不在官方的repo里,比如evil和smex。而像w3m的最新版好像是2005年。官方的只有w3。emacs24的包管理系统好像还有些问题,比较混乱。请问你一般是通过修改.emacs来添加repo还是直接人工下载el包?

个人觉得emacs有些地方不是很方便,对于新手来说需要配置的比较多,比如语法高亮显示。我工作上目前写得比较多的是classic asp和php,用vim甚至是notepadd++不需配置就有语法配色,但是emacs里却没有,对于我这种新手来说就不太方便。不知你有什么建议。

在vim里有可议通过:h 关键字来实现任意关键字的帮助搜索,请问emacs里有没有类似的功能?我个人觉得对于新手来说emacs好像没有vim来得友好。

Btw,你住在悉尼?我也是。

非常感谢你所有关于emacs的文章。

mail cannt send

你好!
我目前在使用您的配置,非常感谢,遇到了几个问题,请指教
1,在发送邮件时失败 : 530 5.7.0 must issue a starttls command first emacs
我查了下说是ssl问题,我用的是win7版本的emacs ,请问应该怎么设置? 我需要在配置中写账户密码吗?
2,NNTP 的host我没找到在哪里设置,可以告知吗?
我是个十足的emacs新人,很抱歉用这些问题打扰你。但是看了一年成为emacs高手,决定转来emacs,望不吝赐教!

error: Package `kv-' is unavailable

在 Win7 X64 不联网的电脑上,使用你的emacs.d设置,出现错误如下:
Warning (initialization): An error occurred while loading `c:/Users/xxx/AppData/Roaming/.emacs.d/init.el':

error: Package `kv-' is unavailable

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

同样的配置,在winxp联网的电脑上不会发生。

错字:被-->背

如果你只是复制了高手的配置开始使用而不是纠结于完成被快捷键这个无聊的任务
BTW:我看的是csdn版本

How to merge?

Error message:
~/.emacs.d$ emacs -nw –debug-init

Warning (initialization): An error occurred while loading `/home/zzt/.emacs.d/i
nit.el':

Symbol's value as variable is void: <<<<<<<

And I realize that it mistakenly take the token by git as the variable. My question is how to merge:
for example:

<<<<<<< HEAD
(add-to-list 'load-path (expand-file-name "~/.emacs.d"))
=======
(add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp"))
;;>>>>>>> upstream/master

Should I just delete the setting of last version?

Is there any good tutorial for using el-get?

Hello redguardtoo,

Recently, I am trying to use el-get to manage my emacs plugins and my custom settings. My expected way of using el-get are:

  1. using el-get to auto install (if not installed) and auto load packages
  2. commit all my custom setting (such as shortcuts, themes, fonts) as el files to github as separate repos and install and load them and other social plugins in github automatically
  3. for plugin like yasnippets, upload my custom snippets files to git and let el-get automatically install the packages and using my custom snippets

So my ultimate expectation is to use el-get to simplify init.el and make it easier to sync among different computers. It can also avoid gitsubmodule (git in git folder) when backuping all file in the folder .emacs.d to git. I can manage different package in different git repos separately and only clone the init.el file to get all other packages to work.

It seems el-get is designed to manage package in such way (Please correct me if my understanding is wrong.) But there are too few documents for el-get and some examples are ambiguous with few explanations. (http://www.emacswiki.org/emacs/el-get). Maybe this is also because I almost have no knowledge in elisp language.

Could you tell me whether my expect of using el-get is right? If basically I am right, I hope there will be some doc or tut for dummies like me. I appreciate if you could give some help or suggestion.

Behaviour of 'paste' in evil

When I use evil normal mode, if I paste multi-lines codes, it paste from cursor; if I paste one-line code, it open a new line and paste it there. Is it a bug or meant to be?

关于使用git管理自己的.emacs

Hi, redguardtoo
我现在正在尝试使用用git来VC我的.emacs.d文件夹
其中有几个问题就是, 哪些文件我需要add呢? 是不是只需要.el就可以了?还是直接使用你的ignore文件来进行过滤?还是直接全部同步到Git上去?
另外就是如果我自己管理以后, 你这儿的更新我该怎么接受呢,每次只能参考历史记录手动更新吗?

Org-mode to PDF

您好,

拜读您的大作之后,我开始用org-mode来做笔记和进行GTD。但是我发现在org-mode导出pdf时会出现一些不一致现象。

  • 在org-mode中, 我们能够通过创建 CUSTOM_ID 属性来实现页面内锚链接,然后用 [[#my-custom-id]]来实现跳转. 但是,在导出的pdf文件中,链接的文字显示为可点击,但是不会实现任何实际动作。下面是例子:
This sentence contains an [[#jump-internal-link][internal link]].

** destination heading
   :PROPERTIES:
   :CUSTOM_ID: jump-internal-link
   :END:
  • 在org-mode中, 我们可以使用外连接来连接到一个本地文件: [[file:../../file.pdf][book]]. 这个连接在导出的pdf文件中也没有作用。
    同时,在刚才的例子中的相对路径在导出的tex文件中会被转换成绝对路径。
    如果我更改导出的tex文件,把 \href{file:///Users/XXX/file.pdf 改成 \href{run:///Users/XXX/file.pdf}.
    那么编译好的pdf文件中的路径会变为: ///path to .tex file////Users/XXX/file.pdf,绝对路径会被叠加。

有没有办法解决这些不一致问题?

the problem of using w3m

when I type M+x w3m and , the following error occured.
Error: Install w3m command in exec-path' or setw3m-command' variable correctly
I want to know how to solve it. Thanks!

org-mode & org2blog-mode shortcut conflict

org-mode中TAB 是收缩标签的,
但是YAsnippet 中的各种补全快捷键也是TAB ,
目前YAsnippet 的TAB失效了,请问怎么修正这个配置,或者重新在冲突的时候为YASnippet设置一个另外的快捷键?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.