A year to become a master of Emacs (like God using the editor)

Source: Internet
Author: User
Tags wrapper sublime text ruby on rails

Author: chenbin (Redguardtoo)

Version number: 20160125

Update time: <2016-01-25 mon>

Original time: <2012-01-31 tue>

Copyright: This article is licensed under the following agreement, free reprint-non-commercial-non-derivative-retain attribution | Creative Commons by-nc-nd 3.0, reproduced please specify the author and source.

Brief introduction

It's easy to be a master. At the beginning I in the vi camp, occasionally with Emacs also forgot "exit" shortcut key, a year later I entered the ranks of the master.

Many articles emphasize that Emacs has many cows, but the "How to do" is vague. Even when it comes to "how to do", more details and less methodology, so this article focuses on methodology .

The full text structure is as follows:

    • Why Emacs is worth learning, such as familiarity with open source culture can skip this chapter, or at least read the Attitude section
    • The core point of this paper is to make full use of the achievements of the master, do not reinvent the wheel
    • Steps to master Emacs as soon as possible
    • Tips for further improvement (community, reading, knowledge management)
    • To jump out of specific emacs skills, it is important that people
    • FAQ and Summary
Why use Emacs (optional)

Simply talk, because the focus is "how to do", not "why".

Really proficient after Emacs, other editors are naturally proficient

Once you have tasted the best, you naturally understand what the good editor should do.

For example, an embedded plug-in Manager is the most basic.

If you download a third-party plugin, if you find that it is problematic, you can fix it without touching the plugin's original code.

The plug-in server is off, and you should be able to quickly create a mirror on your own USB flash drive.

The current popular editor such as sublime text also do not have the above points.

The characteristics of Emacs determine its community level is not low

Emacs is developed with Lisp, and Lisp's unusual grammar determines that its developers are senior developers and have mastered many languages.

Lisp doesn't do you any good, so its community members are purely technical enthusiasts, and opportunistic utilitarianism are not interested.

Compared to the IDE, EMACS does more and faster

The IDE is optimized for a specific language or framework, and Emacs is more efficient at accomplishing common tasks.

For example, I have a problem, need on IRC to consult a foreign master (workflow is, paste code to http://gist.github.com, ask questions on IRC, look at the page, paste the solution back), Emacs integrated IRC tools and browser (for example), the operation is very convenient.

I use Visual Studio for many years, Firefox is also a master, believe me, most of the cases Emacs faster.

Accreditations, see the Expert YouTube video, Emacs Power:can your editor do this!

By the way, a lot of beginners care about the code automatically completed, several mainstream language support is good (including Java).

Emacs will last forever.

Individual developers will lose interest and the company will fail. But the Free Software Foundation will continue to exist.

Emacs as its signature software will be maintained, my investment will never depreciate.

can start working immediately.

Software open source, configuration is plain text, and resource consumption is small, the installation package is small (command line version 30M or so), any environment is available.

This is especially useful in large projects, such as editing Perl, Java,c, Bash, SQL, and editing the code on a remote server. The advantages of Emacs are reflected.

One year refers to the free time of the year

I didn't say I'd have to do anything in a year. For Emacs, I am most against cantilever without short-term returns.

I've made a lot of progress using my commuting time of the year and I'm confident that I can write this article.

Attitude determines everything.

The important thing is that the mind is open and not preconceived.

The problem for beginners is that they are blindly set up to get started. Some must know that it is time-consuming.

Take me for example,

    • Online tutorial List of beginners must know shortcut keys I don't know , because I don't need
    • Many people say that it is the best way to learn to configure Emacs from scratch.
    • I only have a small part of the grammar of Emacs Lisp. For example, if the syntax has blind spots, but this does not prevent me from writing useful plugins
    • As I mentioned earlier, I have only one year to master Emacs.

Also avoid sectarianism, such as using Emacs to repel Vim shortcut keys. For example, be sure to helm and Ido in two (I'm using it at the same time). Treatment is the re-reading of the martial arts novels "laughing Proud of the lake."

Specific steps

Before starting, explain the naming conventions used in the following article,

    • "C" means hold down the CTRL key, "M" means hold down the ALT key
    • "M-x My-command" means press "ALT" and "X" at the same time, enter "My-command" and return
Quick Guide for Beginners without Linux/unix experience (optional)

Suggestions

    • Installing Emacs 24
    • Do not install any third-party plugins
    • Master the basics, what are the environment variables (such as path, home variables), what is stdin, stdout, pipe
    • Read the official tutorials and learn basic text operations (about more than 10 shortcuts)
    • Personal management with Org-mode from Emacs 24
    • Org-mode key is to use, just remember to press the TAB key is to expand the content can be, others do not have to learn

The purpose of this step is to:

    • Understand the cute places of Emacs
    • Know how Emacs interacts with other software
Read the official Tutorials

Follow these steps to read the tutorial:

    • Do not install any plugins to open Emacs, such as running the command "Emacs-nw-q" in the shell
    • Press ALT and X-health at the same time, enter help-with-tutorial (similar shortcut after the text shorthand for ' m-x help-with-tutorial ' instead), enter.

It takes only half an hour. The fallacy of how hard it is to learn about Emacs can be closed. The cost of half an hour is negligible. Think about how many and a half hours you've been practicing.

Even if you do not intend to use Emacs default shortcuts, this step is also necessary, do not skip!

At the very least, you should know the following commands

    • "M-x describe-variable", shortcut key "C-h V", view the document of the variable
    • "M-x describe-function", shortcut key "C-h F", view the document of the command
    • "M-x Describe-key", shortcut key "C-h K", view shortcut key documentation
Take the practical problem as the starting point

If you get a great return on a tiny endeavor, you'll learn more and have fun and get into an emotional positive feedback.

In any field to become a master, interest is the most important.

In my case, I urgently need the GTD tool, and Emacs's Org-mode is the best of its kind (not one). After much time saving with Org-mode, I was 100 times times more interested in Emacs love me.

The reverse example is that many people start their emacs journey with a Lisp tutorial, and few people stick to it.

Prioritize issues to be solved

The key is to think rationally about one of the most pressing issues you need to solve.

with this problem as a starting point, we can compromise .

Although Emacs is omnipotent, it also takes a mouthful of food. Sometimes step back two steps.

For example, I always thought that Emacs's Chinese display is perfect, so I don't understand why people spend so much time on font configuration. After receiving feedback, I realized that it was because I have been using Emacs under the terminal, the terminal software can display Chinese fonts perfectly, So there's no such thing as Emacs. The person who needs to configure the font is using the graphical interface emacs.

The only use of Emacs at the end of the terminal is because of the need to connect to the remote server. I think that's the point. Even gave up the beautiful color theme (later found that the sacrifice is unnecessary).

Disguise, this also avoids all problems with the graphical interface version.

Standing on the shoulders of giants

I am a negative example in this respect. Just started to play with the mentality of looking around for interesting configuration paste into my configuration.

It's a waste of time!

I should have copied the Emacs configuration of world-class master Steve Purcell from the beginning.

Warning, Purcell always love to try the latest WEB development technology, stability is not the first place for him, if you have enthusiasm and ability, willing to toss together, then the level will improve quickly.

If this is a very important premise, when I went to Purcell ship, I have 10 years of development experience, proficient in many languages.

If you do not want to toss, then at least do not repeat my mistakes, do not question, do not innovate, follow the master to do. Put it bluntly, you are a beginner, the beginning of the stage should be based on imitation. How can I stress this point?

In order to impress, let me give another example. I was told that Emacs has too many shortcuts and a lot of pressure on my back. My advice is to use a master configuration instead of imposing a tedious task such as a shortcut key. You'll find the master has installed a plugin called Smex, so that the direct input command is faster than the shortcut key.

If you are not convinced, please reconsider my reasons:

    • Article title is a year to become a master , not a year to get started.
    • Master is a world-class master, not close the door to a small circle of experts
    • That's what I do, you can see how many bugs I've reported to him in a year.
    • At the end of the question is attitude, if you really make up your mind, considering Purcell's talent and diligence, the best way to catch him is to join him.
    • To go beyond a master, you have to know where the benchmark is, you need a year to imitate to learn
    • Based on the Purcell configuration give him a bug (or even a patch), you are considering the problem he has not considered, at least at this point over him, the accumulation of considerable.

Well, you're convinced now. But do you really understand ?

For example, do you immediately infer that even without a master configuration, you can subscribe (watch) to a master configuration on GitHub, whose update notification is equivalent to a free maintenance service.

Report a Bug

It is a daydream to worship a master like a martial arts swordsman. The only way to get a master's advice is to give it first. The most reliable pay is to report the bug.

That's how I learned some advanced Lisp skills.

Don't have a low-level idea of a bug. Many experts are happy and good at reporting bugs. But the rookie likes to reinvent the wheel.

Help the master, your starting point is high, but also the benefits of being pointed.

Continuous improvement

The premise is the high starting point, in the master has already worked on the improvement. Even minor improvements, if you persist for a while, are great advances, you can laugh at this point.

Find out where another master needs to improve and use the same approach.

For example, it is not convenient to move the child window focus in Emacs by default. You need to press "C-x o" multiple times. I found the Emacs plugin Switch-window, just press "C-x o" once, there will be a hint subwindow number, then just enter the number is OK. But there is room for improvement, I found the window-number.el, just press "M-num" on it.

Window-number.el has been perfect, but the ALT key is still a bit slow, I combine evil and evil-leader, you can quickly switch the subwindow by commas and numbers.

Join the community to the Heights

The most important thing is specificity.

For example, there are a lot of interesting topics on quora.com. Please refrain from interested in the topics that are not related to Emacs.

Reddit

Reddit is the best. The advantage is that you always have access.

Google Plus

Google Plus posts are of high quality. For example, I joined the Emacs forum for LinkedIn and Facebook and are now out of the process. They are not professional, just Google Plus is a high-level discussion.

At present, the popularity is not Reddit, because of Google.

GitHub is a geek gathering place.

GitHub has a good version control service. Now it's becoming more and more community oriented, I like it.

For example, you can take a look at Https://github.com/search?p=1&q=stars:>20+extension:el+language:elisp&ref=searchresults The coolest Emacs plugin on the &type=repositories.

Emacs Cow People's Blog

The best is Planet Emacsen, a collection of multiple Emacs blogs.

Quora.com

My preference is for specific questions such as "enumerating the most useful commands". A lot of answers are eye-opener. Even though I am proficient in emacs.

That "How to get Started" problem, everyone can plug in. Even if there is a high level of answer, also drowned in a lot of mediocre answers.

If your problem is more general, from a can measure the level of specific problems to find a master, and then see how the Master is to answer the more general questions.

Regular search on Twitter with "Emacs:en"

Twitter is a lot of people and the results are fast.

The reason for adding ": En" is to exclude Japanese content.

Search for related discussions on StackOverflow

Google "Emacs-related-keywords site:stackoverflow.com"

I will search regularly, the same post repeated intensive reading. Because the discussion is of high quality.

Http://emacs.stackexchange.com is a dedicated question-and-answer sub-community for Emacs.

See Emacs Videos on Youtube

For example, I just saw the introduction of this Org-mode author on Google Tech Talks and fell in love with Org-mode.

But YouTube search results are the best match. Because there are not many related videos, such as following the default algorithm, each time always that several. So if you're looking at the latest developments, the search should be sorted by time.

Reading the most effective Emacswiki

Emacswiki is a community-maintained document that is the coolest plug-in and best-practice collection point.

Some people complain that the documents are too messy and the quality is uneven. The latter disagree. Emacswiki document quality is quite high because it is the only semi- official document. Endure the chaos of the orderly state.

The best way to read is to select a specific topic and read from the beginning to the end. This is a good idea of the latest developments. Whether or not to adopt its recommendations is another matter.

Emacs Lisp Books recommended (optional)

Bob Glickstein's writing GNU Emacs extensions is the best.

Vivid, rich examples. The author arranged the structure of the book. For example, the use of Defadvice was introduced very early. Defadvice is the essence of Emacs Lisp.

Xah Lee's offer of paid Lisp tutorials is also pretty good.

Steve Yegge's Emacs Lisp tutorial

His emergency elisp is very concise. I particularly like the "statements" chapter.

Knowledge management

Do not underestimate the cumulative effect of long-term management.

The positive examples refer to the configuration of the Steve Purcell. 2000 start of 14 maintenance! 8-year GitHub record! The configuration of more than 1000 stars is not the fame of the waves.

The more knowledge accumulates, the more connections there will be. The speed of contact growth is exponential. As from the beginning, it means that the accumulated knowledge of the written record is lost. The loss is very large. The cardinality is zero, and the amount of growth can be much.

So never reset the configuration!

This is also the reason why you need to use tools to save configuration and knowledge later in the article.

Configuring version control into GitHub

My configuration is shown in HTTPS://GITHUB.COM/REDGUARDTOO/EMACS.D.

Versioning can be thought of as a centralized knowledge management, where changes to the configuration are uploaded in a timely manner at any point in time (merge). This is the key to accumulating capacity.

Sharing is actually also a self-interest behavior, a lot of people use my configuration, equals to help me test.

Back up information (such as e-books, blog posts)

I put all the information on the Dropbox server so that the data is synced to my smartphone and my tablet, and I can use my free time to learn.

Please click here to register your Dropbox account. Note that the Dropbox client can be used entirely domestically, although there may be a problem accessing its homepage.

I've also written a lot of blog posts. These articles all exist in org format files. The last static blog is also included in version control, see http://github.com/redguardtoo/blog.binchen.org.

Recommended third-party plugins

The problem with beginners is that too many plugins have been installed and management has become a problem.

I suggest that the principle is few but good, by a few of the best plug-ins to cultivate taste, you can freely choose the appropriate.

The standard is as follows:

    • High quality
    • frequently updated
    • Very powerful

All plugins can be downloaded through the Package manager.

Here is the checklist:

name Description Similar plugins
Evil Turn Emacs into Vim No
Org Org-mode, the all-powerful note tool No
Company-mode Auto-complete input with support for various languages and backend Auto-complete
Expand-region Shortcut key to select text to stretch the selection area No
Smex Let the input command become fast No
Yasnippet Powerful text template Input tool No
Flymake Grammar checking in different languages Flycheck
Helm Auto-complete with plug-in to complete specific functions Ido
Ido Similar to helm, Helm and Ido can be used simultaneously Helm
Js2-mode JavaScript main mode, self-explanatory parser Js-mode
w3m Web browser (requires installation of command-line tools w3m) Eww
Simple-httpd Lisp writes a WEB server Elnode
Smartparens Automatically enter characters such as parentheses that need to be entered into pairs Autopair
Window-numbering.el Jump to a different sub-window Switch-window.el
Web-mode Support for various HTML files Nxml-mode
Magit Play Git No
Git-gutter.el Mark version control diff (Subversion supported) No
Emacs is a way of life

The bulls are also very good at other aspects. Extrapolate you have a lot to gain.

Sacha Chua is such a cow temperament girl, this is her Youtube video. The way she learns is to have Emacs automatically synthesize the manuals so that she can listen to the documents as she walks around the room.

I am now consciously sorting out the master list to see what tools they use except for Emacs .

For example, the maintainer of Js2-mode Masafumi Oyamada (Network name Mooz) has also developed keysnail and Percol. Percol, in particular, has made my command line 10 times times more efficient.

This stage can be called Hearts have swords, hands without swords .

Whether or not to use Emacs is not important, it is important to do whatever you want. For example, many people argue that which editor comes with better file management. After I learned from Mooz that the big recruit, jumped out of the five elements, not in the three realms.

Pay it to action

How to act varies from person to person.

The key is to really understand the gist of this article.

For example, do you realize that the previous chapters imply the following actions:

    • Find out the author of all plugins
    • Follow them on the quora/twitter/github/reddit/google+.
    • Read through the posts they have posted
How to start a beginner

To HTTPS://GITHUB.COM/REDGUARDTOO/EMACS.D refer to the "Install stable version in easiest" section.

Just click to download two zip files and do not need any knowledge of git.

Does the configuration of Steve Purcell have documentation to refer to?

In addition to the README is not, I mainly by looking at Emacswiki and source code to understand. The trick is that the source code file has the head of the User guide and the author's contact information.

Is the master's configuration too heavy-weight?

The master's configuration is lightweight, because they know how to optimize.

Like a technique called autoload. The module is loaded into memory only when it is used with a function of the module. I recommend a master who knows this kind of skill.

Besides the configuration of Purcell, are there other master's settings?

I searched for GitHub:

    • Bozhidar Batsov ' s EMACS.D
    • Sylvain Benner ' s Spacemacs (Spacemacs is optimized for VIM users, so non-vim users don't have to try)
    • Eric Schulte ' s Emacs Starter Kit.
Is there a simpler configuration?

My configuration is available:

    • git dependencies are removed.
    • The network is not required
    • The Pinyin input method is installed
    • C + + supports powerful

Note that Purcell, as a top web developer, will try to use the latest web technology while my configuration Web class plug-in update lags for a while. In addition, my toolchain and Purcell are not exactly the same. You weigh it yourself.

Which version of Emacs should I use?

The current stable version is Emacs 24.3 or 24.4, and it is not recommended to use Emacs above this version.

You don't usually have to worry about version issues. Mainstream Linux distributions will be processed.

VI Master to turn camp?

Hey, I am also VI proficient after transferred to Emacs. It is because of the power of Emacs (for example, the perfect combination with GDB) and its scripting language is Lisp.

Of course VI's multi-mode editing and shortcut keys are much more efficient than Emacs, so the best solution is vi+emacs.

At present, I use evil, under Emacs simulation vim, combining the advantages of both.

Now I am the god of God with the editor !

warning , I am enabled by default Vim shortcut keys, not accustomed to open ~/.emacs.d/init.el, one line of code commented out, details refer to the README.

Why do many Vim masters not accept evil?

Because they are deeply configured for Vim shortcuts. Emacs defaults to pressing the CTRL key frequently, such as a custom Vim shortcut key also with the CTRL key, there is inevitably conflict.

The solution is for everyone to make leader (Vim direct support, Emacs requires a third-party plugin).

Another way is to stay in the comfort zone of vim. If you can endure life without Org-mode and Lisp, then there will be no problem.

If you hesitate, reread the section "attitude determines everything".

Once I realized the potential of evil and Evil-leader, I immediately reset my vim settings by Emacs.

The more splendid example is the author of Spacemacs, and countless GitHub stars represent his success.

Not accustomed to the default shortcut keys, what to do?

Patience !

The default shortcut key after decades of testing is quite efficient, not a master before or to endure.

If you must be using Windows shortcut keys, consider Ergoemacs.

Shortcut keys too many can't remember how to do?

No need to remember, I also only remember the more than 10 commonly used shortcut keys. Let it go, use it, remember it, don't forget it, it's normal.

At present a lot of experts in using Smex, can quickly enter the command, shortcut keys actually do not need.

After using the cow person configuration, the interface some strange bug, how to change?

Don't change it! Referring to the previous chapter on the shoulders of giants, you find it strange that you are not experienced enough to mistake certain features for bugs. Please stick with it for at least one year.

For example, some people reflect that there is always a vertical line at the 80th column on the right, hoping to remove it.

This is actually a feature that reminds the user that the row width does not exceed the 80th column. This is the reason for not more than 80 columns per line.

I suggest that the first year should be as understandable as possible and not judgmental.

The package has been updated, but it has no effect and no error message

Delete the ". Emacs" in the home directory, "~/.emacs.d/init.el" instead of the original ". Emacs".

If you have any questions about how to configure
    • Read the official Tutorials
    • Use the information that Google and I provide

For example, Q: What is the role of the Init.el file in. emacs.d? Answer: Google "Emacswiki Init.el".

How to solve the problem of starting error after using Cow person configuration?

Verify that you have installed the third-party command-line tools you need , which are optional, see my readme for a list.

If the above reasons are excluded, restart with the "–debug-init" parameter, and then report the error message and environment to the corresponding developer.

The details should be given in the report. For example, many of the bugs that readers have given me are due to the newer version of the third-party plug-in, and I get the version number before I can download a specific version of the bug. Otherwise, it can only be guessed that it wastes a lot of time.

The cow's configuration is too complex, or from a simple configuration to change the good control

Then you are the old way of my regret, a man groping in the dark. The beginning is very high, but the reality is cruel, the complex problem can not be solved. Only to escape, the pretext that Emacs is too complex to give up.

I finally woke up to the bright Avenue, many people on the road, I am afraid there is no such consciousness and perseverance.

I want to be in control frankly is a non-technical problem, because there is no self-confidence, so there is a compensation mentality. Hope to prove myself in a wrong way. The end is a vicious circle.

The correct way is to put down the figure for at least a year (I have repeatedly stressed this point), play a good basic skills, reading, open-minded to master learning.

Why did I use the cow people to configure the add-ons that are not valid

Emacs is an open platform, and its many plugins don't have to be rigorously tested before they are released. So there may be conflicts between plugins.

This is why I recommend beginners to use the cow person configuration directly, because the cow has solved a lot of compatibility problems, you just have to enjoy his services directly on the line.

Even if you find a bug that the bull has not yet had time to deal with, the most effective way is to submit a report to the cow instead of studying Lisp himself.

I want to use the Windows version of Emacs instead of the Cygwin version, what do I do?

You need to be familiar with command-line operations. There are two key points of knowledge:

    1. Set the home environment variable because some of the elisp scripts in. EMACS.D assume that the. EMACS.D is in the path specified by home.
    2. Some features of Emacs require the use of third-party command-line tools, and the paths to these tools should be added to the environment variable path (optional, for reasons below).

If you do not know how to add modify environment variables under Windows, do not know how to install third-party tools, it is recommended to use the Cygwin in the Emacs, because it has its own tools, no installation is also convenient. and under Cygwin environment variable HOME is set by default.

For a list of third-party command-line tools, please refer to the README in my. Emacs.d.

Emacs has a gap between the code jump and the auto-completion and the business IDE, what do I do?

This gap is ultimately the problem of the backend parsing engine. This problem is often referred to as Microsoft Visual Studio and IBM Eclipse.

In the case of C + +, Apple's clang has worked well. Specifically what plug-ins to invoke these engines have a lot of options, not expanded.

In combat, I usually use ctags as the back-end engine, because it takes all languages. Although the analytic effect is very close, the proper naming specification (as few as possible) can compensate.

If Ctags is not satisfied, you may consider using GNU Global (gtags).

The back-end engines are all discussed above.

As far as the front-end interface is concerned, the best thing to do is Company-mode, which is very active, and you can consult its developers on how a particular language is configured.

The main development tools for the Java and C # languages are best used by Ides rather than emacs.c# and more difficult to use in Emacs than Java. cause you know.

Web browsing

It is strongly recommended to use Keysnail.

This is the best, I have tried all the options available.

Mail

I use Gnus. But there are many other options.

If you have to access Microsoft Exchange Servers, use Davmail.

After using the Davmail, you can also use POPFile to pick up the mail. Davmail+popfile Let me live in heaven.

Why does Emacs install a third-party package from the server (ELPA) when it starts to fail?

After you start Emacs, run ' m-x package-refresh-contents ' to update the software index from the server and then restart Emacs.

If you are not using EMACS24, there is no full copy of the master configuration (this is the main idea of this article), then you need to install Package.el, details refer to here.

Emacs download package is via HTTP, so if the network problems you need to use HTTP proxy server, the specific operation is described later.

Some sites Emacs cannot access

Add the "Http_proxy=your-proxy-server-ip:port" prefix when you start Emacs on the command line.

For example

http_proxy=http://127.0.0.1:8000 EMACS-NW
Some packages do not download and do not use proxies

Then use my Emacs configuration.

And my configuration is a separate third-party package service that I set up, please refer to the Readme on its homepage.

Is it helpful to learn Emacs Lisp early to become a master of Emacs?

No, it only acts as a hindrance !

The Lisp grammar differs from the usual language, except that there is a considerable amount of programming experience (at least 10 years) in which the average person has a bit of a negative emotion (which is, of course, unjustified prejudice!). Learning anything new is the most important thing in the long run. Avoid any negative emotions at the outset.

Emacs Lisp is a language used only for Emacs and has a lot of terminology to master. such as "Buffer", "Yank", "Font face" can only be understood by experienced users.

So it is a waste of time to learn to expand the language before the software is used without considerable foundation.

Referring to the previous section on finding pointcuts, I recommend the order is to first use excellent configuration to enjoy the benefits, after having the interest to learn Lisp will follow.

Have a world-class master (the name is not a point) to my suggestion, he said Lisp is very powerful and interesting, should learn first.

But his blind spot lies in the fact that he forgot to turn to Emacs and had a list of other editors. He used python to extend the sublime to boredom, and Lisp's peculiar grammar stimulated interest. The common terminology of the editor is a cinch. And this article is aimed at the majority of mortals.

Choose the right way for you, a year after the genius, or mortals, to reach the height are the same.

Is it necessary to master Emacs Lisp as a master?

No. But Lisp is a powerful language, characterized by the possibility of change. When I say "everything", I mean "everything" in literal sense, not rhetorical exaggeration.

I've used a lot of editors, except for Emacs, and none of them can "change everything." Vim.

So learning some lisp is not bad for raising the Emacs level. In addition Lisp grammar is good, it is worth the programmer to learn.

By the way, Lisp is simple, much easier than VB, once you adapt to its grammar, you will find it is actually very friendly, at least a lot of words.

Is it necessary to learn keyboard macros (Keyboard Macros)?

There's no need, Lisp is enough.

But the Lisp code generated by the keyboard macro is sometimes more interesting, it is recommended that you master Lisp and then play keyboard macros.

Basic operation I will, the next step to learn what is lost in

The point is what you're going to do with this Swiss army knife.

It has been emphasized that interest and solving practical problems are the starting points.

Give some examples of my own:

    • I have to write blog needs, lazy to use wordpress that broken interface, so with Org2blog
    • Developing the Ruby on Rails program requires the IDE, which is loaded with Rinari
    • Do cross-platform C + + desktop development, loaded with Cmake-mode
    • Need to jump between multiple sub-windows, so loaded with Window-numbering.el
    • Large projects need to debug multiple languages at the same time, so the evil-nerd-commenter is loaded so that you can comment out the code without remembering the language-specific syntax.
How to learn Org-mode?

Org-mode Concise manual is a good Chinese course.

The best English course is the Carsten Dominik (Org-mode inventor) 's speech on Google Tech talks. The point is Org-mode essence is a text file, just remember to press TAB to expand or indent the entry. Other features can be learned slowly.

What do you think of the idea that everything is done with Emacs?

Don't be obsessed. Emacs is essentially a platform that offers infinite possibilities.

From a practical point of view, Emacs can sometimes work faster when combined with other tools (but never guess what Emacs can't do until you have a year of practice).

Here's where Emacs doesn't have to be sneaking:

    • ClipBook: Should be combined with command-line tools Xsel (Linux)/pbpaste (OSX)/putclip (Cygwin)
    • Web browsing: Using Firefox with plugins such as Keysnail
    • Remote login management: With Screen/tmux
    • ftp: With dedicated FTP software
    • File Management: Using dedicated software
    • Lisp speed is slow, if there is a large amount of work, to third-party tools to do.

The focus is on flexibility, and the belief that Emacs is omnipotent and adaptable.

Contact me

This is my Twitter and Google Plus and Weibo, and I'm also able to contact me via my email<chenbin dot sh at GMAIL dot com>. I opened the account Emacsguru on Sina weibo.com.

The main blog for http://blog.binchen.org.

I don't answer specific configuration questions. If you read through this article, you should know where to find the answer better.

Conclusion

Again, highlight the most important points of this article:

    • guided by interest based on solving practical problems
    • completely copy the world's top masters such as Steve Purcell configuration , try to avoid writing Lisp
    • To the expert reported that the bug is the best learning,
    • The methodology for studying Emacs and learning any professional skill (violin, math problem) is the same , please refer to the 10,000-hour genius theory.

The key is that you take it as a professional skill to learn in a serious manner.

A lot of people disagree with my core point of view because there is a deep heart and a sense of how cool I am to have Emacs as a toy to show off.

Emacs is powerful as an alternative entertainment to Bo eyeball. But the essence is the artifact used by professionals.

For example, a professional killer cares only two things about a knife:

    1. Killing people with efficiency
    2. Reliable in any environment

It doesn't matter whether the knife is beautifully decorated or whether the skill is original.

Emacs is the knife.

How to report a bug

The official website of this article is https://github.com/redguardtoo/mastering-emacs-in-one-year-guide.

If you have any questions, please report the bug on the above website. This is faster than email. GitHub messages are always categorized into my top priority folder because GitHub notifies me by email.

If you send me an email, it will drown in the spam messages.

Do not copy the pasted article

Emacs is essentially a community and platform that constantly has new and interesting people and technologies appearing. I will update this article regularly.

If you copy the full text of the sticker, you'll miss the update yourself and others.

I suggest sharing the link to this article

    • Chinese and English text version will be posted on GitHub (https://github.com/redguardtoo/mastering-emacs-in-one-year-guide)
    • Chinese HTML version will be published to my official blog (http://blog.binchen.org/?p=268)
    • In view of the Chinese mainland's network, there is another Chinese HTML version of the image (http://blog.csdn.net/redguardtoo/article/details/7222501)

from:http://blog.csdn.net/redguardtoo/article/details/7222501/

A year to become a master of Emacs (like God using the editor)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.