1 Star 1 Fork 0

superfpga / superemacs.d

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

A reasonable Emacs config

This is my emacs configuration tree, continually used and tweaked since 2000, and it may be a good starting point for other Emacs users, especially web developers. These days it's somewhat geared towards OS X, but it is known to also work on Linux and Windows.

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

  • Verilog / VHDL / SystemVerilog
  • 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

In particular, there's a nice config for autocompletion with corfu, and flymake (re-using backends from flycheck) is used to immediately highlight syntax errors in Ruby, Python, Javascript, Haskell and a number of other languages.

LSP support is provided using eglot.

Supported Emacs versions

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

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

Other requirements

To make the most of the programming language-specific support in this config, further programs will likely be required, particularly those that flycheck uses to provide on-the-fly syntax checking.

Installation

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

git clone https://gitee.com/superfpga/superemacs.d ~/.emacs.d

Upon starting up Emacs for the first time, further third-party packages will be automatically downloaded and installed. If you encounter any errors at that stage, try restarting Emacs, and possibly running M-x package-refresh-contents before doing so.

Updates

Update the config with git pull. You'll probably also want/need to update the third-party packages regularly too, because that's what I do, and the config assumes it:

M-x package-list-packages, then U followed by x.

You should usually restart Emacs after pulling changes or updating packages so that they can take effect. Emacs should usually restore your working buffers when you restart due to this configuration's use of the desktop and session packages.

Changing themes and adding your own customization

To add your own customization, use M-x customize, M-x customize-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 probably just 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 your config remains compatible with the latest package and Emacs versions.

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

Support / issues

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

-SuperMan


Copyright (c) 2006-2021, Steve Purcell All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

This is my personal emacs config for Digital Design!!!\ It come from Steven Purcell's config!!! 展开 收起
Emacs Lisp 等 2 种语言
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Emacs Lisp
1
https://gitee.com/superfpga/superemacs.d.git
git@gitee.com:superfpga/superemacs.d.git
superfpga
superemacs.d
superemacs.d
master

搜索帮助