jordan4ibanez / Vmacs

My attempt to turn Emacs into VSCode
GNU General Public License v3.0
9 stars 0 forks source link

Vmacs

My attempt to turn Emacs into VSCode

 __     __                                
 \ \   / / _ __ ___     __ _    ___   ___ 
  \ \ / / | '_ ` _ \   / _` |  / __| / __|
   \ V /  | | | | | | | (_| | | (__  \__ \
    \_/   |_| |_| |_|  \__,_|  \___| |___/

Targeted Emacs version: 27.1 (Ubuntu Repo Target)

Fun fact: This was bootstrapped with VSCode. :D

First there was emacs, then there was evil mode, crazy mode after that.

I present to you: Lazy mode.

This version of Emacs is tailored as much as I can to behave like VSCode and Common Lisp development.

Here is a video on it: https://youtu.be/Q3ez5Aw_7nY

How to install:

It is expected that you have SBCL installed and in your system path.

If you're unsure of this, try running sbcl in your terminal/command prompt.

Make sure you have no .emacs.d folder! If you do, back it up.

For first time startup, run this: (it's so treemacs doesn't open your home folder as a project on first startup)

git clone https://github.com/jordan4ibanez/Vmacs.git ~/.emacs.d/

cd ~/.emacs.d/

emacs

Or if you'd like to watch a video on how to install: https://youtu.be/88xj_45Dpzg

Vmacs will start to automatically install. Might take a minute.

Once it gets to the dashboard, let all the warnings with SLIME finish (wrongly documented/deprecated functions etc) and then close and open back up emacs.

After this, you can startup emacs like normal.

A small note: The first time you start it up it's going to take a minute to install all the packages.

If you don't want to ever check for updates, or maybe only once in a while, there is turn-on-automatic-package-updates. I recommend once in a while because it slows down startup a lot. It's enabled by default, though.

Side note: You have to click the REPL before it will start outputting debug info unfortunately.

TODO:

figure out how to split vertically proportioned like vscode

figure out if there's a way to disable region getting removed on shift+tab

Package manager:

MELPA

Bundled packages:

Doom-themes (The theme)

ergoemacs-mode (Gives sane key shortcuts)

all-the-icons (Icons)

centaur-tabs (Workspace tabs)

Treemacs (Tree layout on left side)

Dashboard (The dashboard)

CTRLF (The BEST search utility I could find!)

corfu.el (Autocomplete - Set to INSTANT by default)

kind-icon (gives nice icons to corfu.el)

diff-hl (Shows uncommitted lines in the gutter)

hl-todo (Shows colored todo fixme, and other things) NOTE: Document this!

real-auto-save (time based autosave)

markdown-mode (README.md support)

Currently testing: gcmh (tunes the garbage collector to only run when idle)

;; Lispy stuff!

SLY (Common Lisp SBCL REPL)

ParEdit OR Smartparens (Lisp parentheses balancer)

highlight-parentheses (Makes it easier to understand bracket scope)

rainbow-delimeters (Fancy rainbow brackets (disabled by default))

Notes:

Ican'tThinkOfAGoodName's ideas:

mrkubax10's ideas: