Skip to content

Lyonsclay/doom-config

Repository files navigation

Getting Spun Up with Doom Emacs 🚆

Table of Contents

Description

Maintainers

  • @Lyonsclay (Author)

Packages

doom

  • treemacs 😺
  • lsp 🐲

private

  • keychord 🏀 **Not Working**

Goto Commands

(SPC i e) emojify-insert-emoji 🐳

(SPC m e e) eval-last-sexp 🥑

(SPC t t) treemacs ⛑

(SPC t m) minimap-mode 🐘

(SPC h t) load-theme 🍆

(SPC o t) vterm-here 🌈

Prerequisites

  • for a more comprehensive list https://github.com/ztlevi/doom-config
  • brew install emacs-head@30 --with-cocoa --with-imagemagick --with-xwidgets --with-native-full-aot --with-tree-sitter --with-native-comp --with-modern-icon-black-dragon
  • vterm – yes you want this 👀

Getting started driving Doom emacs 🎏

`doom doctor` 👜

Doom comes with a command line interface that is quite nice and enables an easy upgrade experience.

`doom sync` 🙋🏾

This command will add/remove packages and update all conigs.

`doom install`

When you need a clean config. Rename your existing ‘.doom.d’ directory before running this.

Tips and Tricks

  1. ibuffer - is an easy way to delete any buffer from current window. To delete a buffer navigate to it in the list(popup window) user j/k, then ender ‘d’ - label line for deleting. ‘x’ confirms deleting buffers that have been designated with a ‘d’ delete on their respective line. I can’t figure out how to display the list of actions and keystrokes. TODO
  2. clone-indirect-buffer (SPC b c) and clone-indirect-buffer-other-window (SPC b C) can create a second buffer of a particular file. I am not sure the operational difference of the two. My use case is to have two windows of the same file, but have one completely collapsed showing the function names. Note - you can achieve a similar effect by using treemacs and hitting tab. This might be usefull in setting up two database clients from the same file. I do this often when pulling data from a remote database and storing results in my own local database for further analysis.
  3. treemacs-peek (P) from the treemacs window is quite nice, especially with the combination of expanding a file to show functions and types.
  4. In order to preview color themes on the fly; (SPC h t) to get into the interactive color theme selection interface. (M C n) to move to the next selection and view it applied to your open windows. (M C p) to move to the previous selection and view it applied to your open windows. For normal scrolling (C n) or (C j) to move down and (C p) or (C k) to move up.
  5. M-x getenv pulls up drop down of all environment variables. Once you select one it will show you the value.
  6. IPython or other shell user `(setq inhibit-read-only t)` in order to edit buffer.
  7. use \(\s-*\)\s- with the align-regexp command 🐈
  8. In a terminal shell use (SPC k) to delete highlighted output lines.
  9. (setq gptel-log-level 'debug) and check the gptel-log buffer.
  10. Copy current file path a. relative - (SPC f Y) b. absolute - (SPC f a)
  11. Show current file in treemacs - (SPC o P)
  12. If you use ivy(as I do) then you have to scroll by pressing C-M n or C-M p to see previous or next.

debugging and fixing

  1. Recently had an issue with a dep that introduced a bug or breaking change. As it turns out I was able to update emacs-plus@28 because a change was pushed that accomodates the new xref pattern. But hlissner offered this suggestion on discord which is a good tip in general. The workaround: pin xref to the last known working ref: a82f459b37b31546bf274388baf8aca79e9c30d9

    ;; in $DOOMDIR/packages.el (package! xref :pin "a82f459b37b31546bf274388baf8aca79e9c30d9")

  1. Why iPython would show error about not having readline. https://www.danliden.com/notes/20240709-python-readline.html

About

My doom configuration. Includes settings for sql-mode, go-mode and python-mode.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published