+++ date = '2022-11-07T13:42:02' draft = false title = 'Basic Doom Emacs Commands' type = 'post' tags = ['Emacs'] +++ This is basically just a collection of various commands I discovered while learning to use Doom Emacs. All Sources will be listed at the bottom of this page. Also. This side does not provide a lot of explanation regarding the function of the commands. It is just intended as a cheat sheet. Updates/ Changes **will** be added to this post. # Navigation ## Workspaces - switch between workspaces: '**SPC TAB .**' - load workspace: '**SPC TAB l**' - create new workspace: '**SPC TAB n**' - rename workspace: '**SPC TAB r**' - save workspace: '**SPC TAB s**' - select project for workspace: '**SPC p p**' ### File Switching inside Workspaces - switch to file within current project: '**SPC SPC**' - '**SPC .**' provides the save functionality but can also search outside the current project - switch to buffer within current project: '**SPC ,**' - switch to a buffer outside the current project: '**SPC b B**' - load recently viewed file: '**SPC fr**' ## Finding Text - search all files in the current project: '**SPC sp**' - search inside the current buffer: '**/**' (normal Vim navigation) ### Moving to Text - jump to line (faster then relative line numbers): '**gsj**' - '**s**' and two chars to jump to the nearest match - '**S**' to jump backwards - '**,**' or '**;**' to cycle through the matches (forwards/ backwards) **NOTE:** this navigation can be combined with (almost) all of the standard Vim commands (e.g. '**vs\\**' visualizes all the text to the nearest match for \\) ## Source Code - go to definition: '**gd**' - list references: '**gD**' ### Fancy Delete **NOTE:** all these commands should also work for 'change' ('**c**') - delete inside the same indent (e.g. *function* of if statement): '**dii**' - delete inside the same indent + line above (e.g. *complete* if statement in python): '**dik**' - delete inside the same indent + line above and below (e.g. *complete* if statement in java): '**dij**' ## Compilation Errors - next and previous flycheck error: '**\\]e**' and '**\\[e**' - list current errors: '**SPC c x**' # Miscellaneous - compile: '**SPC p c**' - open [Magit](https://magit.vc/): '**SPC gg**' - comment/ uncomment a line: '**gcc**' # Sources - https://github.com/doomemacs/doomemacs/ - https://noelwelsh.com/posts/doom-emacs/ - https://medium.com/@aria_39488/the-niceties-of-evil-in-doom-emacs-cabb46a9446b