Skip to content

Instantly share code, notes, and snippets.

@tuxdna
Last active April 8, 2025 10:19
Show Gist options
  • Save tuxdna/1742262312dabc6f7cde8ba1e6acbbd6 to your computer and use it in GitHub Desktop.
Save tuxdna/1742262312dabc6f7cde8ba1e6acbbd6 to your computer and use it in GitHub Desktop.
Rediscovering Emacs, Vim(neovim)

eglot mode ( gopls, pylsp, etc.)

M-x eglot
Meta .   -> Go to definition
Meta ,   -> Navigate back
Meta ?   -> Find usages  ( navigate the usage and press q to quit that buffer )

install yasnippet for auto-completions and then

Ctrl Meta i   -> Fills completion at point
Ctrl Meta i   -> Pressing again will show completions buffer with suggestions at point

Renaming symbols ( functions, variables etc. )

M-x eglot-rename  -> Provide new name, followed by RET

https://github.com/renzmann/treesit-auto

https://github.com/jamescherti/compile-angel.el

https://github.com/jamescherti/elispcomp

Vim keybindings

Browse Directory:

:E /path/of/directory

Create splits:

Horizontal split
:split
Vertical split
:vsplit 

Navigate Splits:

Ctrl+w -> (h,j,k,l or arrow keys) 

Close all but current buffer
Ctrl+w -> o

Exit from Terminal mode:

Ctrl+/ -> Ctrl+n

Other Editors and IDEs

Other editors of interest:

Start
options=--debug-init
1.88user 0.30system 0:02.50elapsed 87%CPU (0avgtext+0avgdata 139376maxresident)k
0inputs+0outputs (0major+18984minor)pagefaults 0swaps
options=--debug-init -nw
1.55user 0.27system 0:01.84elapsed 98%CPU (0avgtext+0avgdata 109732maxresident)k
0inputs+0outputs (0major+16072minor)pagefaults 0swaps
options=--debug-init -q
0.37user 0.09system 0:00.54elapsed 86%CPU (0avgtext+0avgdata 88692maxresident)k
0inputs+0outputs (0major+9030minor)pagefaults 0swaps
options=--debug-init --no-site-file
1.75user 0.31system 0:02.21elapsed 93%CPU (0avgtext+0avgdata 137944maxresident)k
0inputs+0outputs (0major+18583minor)pagefaults 0swaps
options=--debug-init --no-site-lisp
1.06user 0.15system 0:01.90elapsed 63%CPU (0avgtext+0avgdata 117160maxresident)k
0inputs+0outputs (0major+15098minor)pagefaults 0swaps
options=--debug-init --no-splash
1.85user 0.34system 0:02.51elapsed 87%CPU (0avgtext+0avgdata 139836maxresident)k
0inputs+0outputs (0major+18999minor)pagefaults 0swaps
options=--debug-init --no-x-resources
1.83user 0.30system 0:02.27elapsed 93%CPU (0avgtext+0avgdata 139364maxresident)k
0inputs+0outputs (0major+18990minor)pagefaults 0swaps
options=--debug-init -nw -Q
0.09user 0.03system 0:00.12elapsed 100%CPU (0avgtext+0avgdata 60904maxresident)k
0inputs+0outputs (0major+6446minor)pagefaults 0swaps
#/usr/bin/env bash
OUT_F="benchmark-emacs.log"
echo Start > $OUT_F
DEBUG_FLAGS="--debug-init"
for o in "" -nw -q --no-site-file --no-site-lisp --no-splash --no-x-resources "-nw -Q"
do
OPTS="$DEBUG_FLAGS $o"
echo "Running with options=${OPTS}"
echo "options=${OPTS}" >> $OUT_F
/usr/bin/time -a -o ${OUT_F} emacs ${OPTS} --eval '(save-buffers-kill-emacs)'
echo >> $OUT_F
echo "DONE"
echo
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment