Skip to content

pradyungn/athena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Athena

This is my own emacs configuration, thus you’ll likely see active commits with keybind changes/additions, more functionality, etc. I came to emacs after using Vim for 4 very formative years of my life in development work, so the general responsiveness and “simplicity” that I saw there is something that I’ve tried to bring to emacs. I hate feeling latency when I type, but am okay with it when opening a file or doing some other operations, and I think the configuration here is tuned for that.

To my understanding, the main dependencies you’ll need to install are rg, and some sane emacs version so that the packages all work. You’ll also need to install the TTF fonts in /fonts. Most things should work OOTB though. You may need to run emacs once to trigger an initial install and then reopen it due to errors, but that’s a known issue I’ve encountered when moving this onto different computers.

You should update the personal configuration in /configs/setup.el to your own information, and then there are some directories that you can optionally configure in /configs/packages.el for the org-roam location. I use org roam to maintain my notes and TODO, and you can see that pretty clearly in the configuration as a whole.

Keybinds are mostly located in /configs/keybinds.el and are maintained using general, with some hydras and submaps here and there. More mode-specific keybinds are in /configs/packages.el. Here’s a table with the keybinds you may need to know, assuming you already know basic emacs keybinds and vim keybinds.

NOTE: While these keybinds are functionally correct, I have moved from Ivy/Counsel to Verticonsult and a plethora of related packages. Some specific keybind names may be inacurrate.

KeybindAction
SPC SPCsearch for a file in project hierarchy
SPC .navigate FS/open file
SPC ;M-x (i hate pressing it)
SPC jswiper (fancy search in current file)
SPC /ripgrep search the current “project”
SPC p[]keybinds for the projectile package
SPC bbswitch to a different open buffer
SPC bkkill buffer
SPC boswitch to last used buffer in current window
SPC bmopen or add a bookmark
SPC brsearch file history to open a file
SPC bddiff two open buffers (useful for golden/actual logs)
SPC wnhorizontal split
SPC wvvertical split
SPC wcclose window
SPC w[hjkl]move to window
SPC w[HJKL]swap/move window
SPC w[-+]resize window vertically
SPC w[<>]resize window horizontally
SPC w_set window height in rows (w/prefix arg)
SPC opexport org or tex file to pdf
SPC ovopen org or text file’s pdf export in system viewer
SPC orreload buffer
SPC oaopen org agenda
SPC otopen vterm (can be prefixed w/ number for >1 terminals)
SPC fnToggle comment on highlighted region
SPC faAlign first match of regex on each line of highlighted region
SPC ggOpen magit
SPC giNative git blame
SPC gbFancy git blame
SPC nfOrg Roam node find
SPC niOrg Roam node insert

There are more keybinds that I’ve not documented here, and I encourage you to discover them by either using the config or by reading the files in the /configs directory. An editor configuration is best used when you understand how it works, and I’ve done my best to make it transparent how this one does. My main gripe with Doom Emacs was obfuscation of all the various settings and defaults under the hood, and I hope that this is not the case with mine.

As an aside, the default theme for my configuration is Mountain, my own colorscheme. This is loaded via the doom-themes package, so you should be able to use any doom theme. The caveat here is that I use a custom modeline that hardcodes in colors from the Mountain theme. There is a commented region above my modeline’s use-package that includes default settings to use doom-modeline instead - this should be compatible with whatever colorscheme you choose to use.

Splash Screen

./splash.png

About

This repository is outdated!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages