Skip to content

manateelazycat/lazycat-emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lazycat Emacs

AndyStewart's Emacs, include configs and extensions.

Best way to study this project is try every keybinding in init-key.el ;)

Download Source Code

  1. Download lazycat-emacs source code:
git clone https://github.com/manateelazycat/lazycat-emacs.git
  1. Fetch all submodules in lazycat-emacs:
git submodule update --init --recursive

git submodule foreach git reset --hard

git submodule foreach git checkout $(git remote show origin | awk '/HEAD 分支|HEAD branch/ {split($0, a, ":"); print a[2]}')

Install On Mac

  1. Download emacs git code
$ git clone --depth 1 git://git.savannah.gnu.org/emacs.git
  1. Install compile dependencies
$ brew install autoconf automake texinfo gnutls pkg-config libxml2 --debug --verbose
  1. Compile emacs git
$ cd ./emacs && ./autogen.sh

$ export LDFLAGS="-L/usr/local/opt/libxml2/lib"
$ export CPPFLAGS="-I/usr/local/opt/libxml2/include"
$ export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig"

$ ./configure && make && make install
  1. Install in launcher:

    open -R nextstep/Emacs.app

    and dragging Emacs to the Applications folder.

  2. Add config in ~/.emacs

(defun add-subdirs-to-load-path (dir)
  "Recursive add directories to `load-path'."
  (let ((default-directory (file-name-as-directory dir)))
    (add-to-list 'load-path dir)
    (normal-top-level-add-subdirs-to-load-path)))
(add-subdirs-to-load-path "~/lazycat-emacs/site-lisp/")

(require 'init)

Install On Arch Linux

  1. Install emacs git version:
sudo pacman -S emacs-git

or compile from source code:

git pull ; ./configure --prefix=/usr --with-x-toolkit=gtk3 --without-xim ; make -j32; sudo make install ; sudo rm /usr/local/share/applications/emacsclient.desktop

Use --without-xim option to avoid input method active in Emacs, emacs-rime is better solution.

  1. Install Font:
sudo pacman -S wqy-microhei

Need install font TsangerJinKai03-6763, otherwise rime can't work

  1. Install dependency for from EAF

  2. Build my config symlink to emacs directory:

sudo ln -s /home/username/lazycat-emacs/site-lisp /usr/share/emacs/lazycat
  1. Copy site-start.el in emacs directory to start my config:
sudo cp /home/username/lazycat-emacs/site-start.el /usr/share/emacs/site-lisp/

Emacs29 native-comp branch will freeze if I put config in /usr/share/emacs/site-lisp/, we need put config in ~/.emacs instead to avoid Emacs29 freeze.

Update extensions.

When I want upgrade extensions to newest version, I will use below command:

git submodule foreach git pull --rebase

FAQ

  1. When you occur No avaliable parser for this buffer, please use treesit-install-language-grammar install grammar for current buffer.

Old extensions and configuration files.

In 2005, Emacs didn't have much advanced features, and it took me more than a decade to continuously improve Emacs.

Many extensions code that i wrote has been tossed, but I hope to still back up these unused code, I hope some of the those old code snippets can help other Elisp hackers

You can find those old extensions and configuration files at lazycat-emacs-time-machine

License

Lazycat Emacs is licensed under GPLv3.