<divstyle="padding: 0 0 20px 0; margin: 0 0 20px 0; background-color: #22B24C;">
<divclass="container">
<pclass="banner"><ahref="https://www.gumroad.com/l/python-deployments" style="color: #fff">Learning Python web development? Check out the just-updated Guide to Deployments book</a>!</p>
</div>
</div><ahref="https://github.com/makaimc/fullstackpython.com"><imgstyle="position: absolute; top: 0; right: 0; border: 0;" src="/theme/img/fork.png" alt="Fork me on GitHub"></a>
<p>Emacs is an extensible text editor that can be customized by writing Lisp
code.</p>
<h2>Why is Emacs a good choice for Python coding?</h2>
<p>Emacs is designed to be customized via the built-in Lisp interpreter and
package manager. The package manager, named package.el, has menus for
handling installation. The largest Lisp Package Archive is
<ahref="http://melpa.org">Melpa</a>, which provides automatic updates from upstream
sources.</p>
<p>Macros are useful for performing repetitive actions in Emacs. A macro
is just a recording of a previous set of keystrokes that can be replayed
to perform future actions.</p>
<p>Hooks, which are Lisp variables that hold lists of functions to call,
provide an extension mechanism for Emacs. For example,
<code>kill-emacs-hook</code> runs before exiting Emacs so functions can be loaded
into that hook to perform necessary actions before the exiting completes.</p>
<divclass="well see-also">While you're reading about coding Python in Vim be sure to also learn about which <ahref="/web-frameworks.html">web frameworks</a> to use as well as <ahref="/deployment.html">how to deploy an application</a>.</div>
<ahref="http://www.deploypython.com/"><imgsrc="//static.fullstackpython.com/fsp-deployment-guide.png" alt="The Full Stack Python Guide to Deployments" width="100%"></a>
<pstyle="font-size: .8em; margin-top: 10px;">Searching for a complete, step-by-step deployment walkthrough? Learn more about <ahref="http://www.deploypython.com/">The Full Stack Python Guide to Deployments book</a>.