Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

An Emacs configuration bundle with batteries included

License

NotificationsYou must be signed in to change notification settings

purcell/emacs.d

Repository files navigation

Build StatusSupport me

A reasonable Emacs config

This is my emacs configuration tree, continually used and tweakedsince 2000, and it may be a good starting point for other Emacsusers, especially web developers. These days it'ssomewhat geared towards OS X, but it is known to also work on Linuxand Windows.

Emacs itself comes with support for many programming languages. Thisconfig adds improved defaults and extended support for the following, listedin the approximate order of how much I use them, from most to least:

  • Haskell / Purescript / Elm / OCaml
  • Ruby / Ruby on Rails
  • SQL
  • CSS / LESS / SASS / SCSS
  • Javascript / Typescript
  • HTML / HAML / Markdown / Textile / ERB
  • Common Lisp (with Slime)
  • Python
  • Rust
  • Clojure (with Cider and nRepl)
  • PHP
  • Erlang

Included is a nice setup for in-buffer autocompletion withcorfu, and minibuffer completion usingvertico.

flymake (re-using backends fromflycheck)is used to immediately highlight syntax errors in Ruby, Python,Javascript, Haskell and a number of other languages.

LSP support is provided usingeglot.

Various popular Emacs tools are included and configured here, such asmagit,docker.el,projectile,org-mode etc., but the focus is moderate

Supported Emacs versions

Use the latest released Emacs version available to you. The authortypically uses the latest stable version.

The config should run on Emacs 27.1 or greater and is designed todegrade smoothly - see the CI build - but many enhancements may beunavailable if your Emacs is too old, and in general you should tryto use the latest stable Emacs release like I do.

Other requirements

To make the most of the programming language-specific support in thisconfig, further programs will likely be required, particularly thosethat flycheck or flymake use to provide on-the-fly syntax checking.

Installation

To install, clone this repo to~/.emacs.d, i.e. ensure that theinit.el contained in this repo ends up at~/.emacs.d/init.el:

git clone https://github.com/purcell/emacs.d.git ~/.emacs.d

Upon starting up Emacs for the first time, further third-partypackages will be automatically downloaded and installed. If youencounter any errors at that stage, try restarting Emacs, and possiblyrunningM-x package-refresh-contents before doing so.

Updates

Update the config withgit pull. You'll probably also want/need toupdate the third-party packages regularly too, because that's what Ido, and the config assumes it:

M-x package-list-packages, thenU followed byx.

You should usually restart Emacs after pulling changes or updatingpackages so that they can take effect. Emacs should usually restoreyour working buffers when you restart due to this configuration's useof thedesktop andsession packages.

Changing themes and adding your own customization

To add your own customization, useM-x customize,M-xcustomize-themes etc. and/or create a file~/.emacs.d/lisp/init-local.el which looks like this:

... your code here ...(provide'init-local)

If you need initialisation code which executes earlier in the startup process,you can also create an~/.emacs.d/lisp/init-preload-local.el file.

If you plan to customize things more extensively, you should probablyjust fork the repo and hack away at the config to make it your own!Remember to regularly merge in changes from this repo, so that yourconfig remains compatible with the latest package and Emacs versions.

Please note that I cannot provide support for customised versions ofthis configuration.

Support / issues

If you hit any problems, please first ensure that you are using the latest versionof this code, and that you have updated your packages to the most recent availableversions (see "Updates" above). If you still experience problems, go ahead andfile an issue on the github project.

-Steve Purcell


💝 Support this project and my other Open Source work

💼 LinkedIn profile

✍ sanityinc.com

About

An Emacs configuration bundle with batteries included

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

    No packages published

    [8]ページ先頭

    ©2009-2025 Movatter.jp