An Emacs configuration for Norwegian keyboard on OSX (lol), as seen on emacsrocks.com and parens-of-the-dead.com.
Download Emacs for Mac OSX.
Spell checking:
brew install aspell --lang=en
Static analysis for Clojure with LSP
brew install clojure-lsp/brew/clojure-lsp-native
or get the nightly:
bash <(curl https://raw.githubusercontent.com/clojure-lsp/clojure-lsp/master/install) --version nightly --dir ~/bin
(place somewhere on your path before homebrew)
Fast grepping:
Make dired happy, install gls
as replacement for ls
:
brew install xz coreutils
Stop clojure-lsp from adding duplicate namespace declarations:
Open ~/.config/clojure-lsp/config.edn
and add:
{:auto-add-ns-to-new-files? false}
This is already handled better by clj-refactor (which also inserts test declarations in relevant namespaces).
Add dependencies to the project without CIDER running:
brew install babashka/brew/neil
Static analysis for CSS with LSP
npm install -g vscode-langservers-extracted
On a Mac you might want to do this, to disable C-M-d
in your OS, making it available for paredit-forward-down
:
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 70 '<dict><key>enabled</key><false/></dict>'
If you want to use my settings straight out of the box, here are some things to note:
This is my personal emacs configuration. I am constantly tuning it to my preferences. You should consider doing the same. Maybe start with a blank emacs + Technomancy's better-defaults package, and then dig through this repo for useful nuggets, instead of forking it directly.
The key bindings are optimized for a norwegian keyboard layout.
You quit emacs with C-x r q
, mnemonic Really Quit.
Find file in project with C-x p f
, in dir with C-x C-f
, recent with C-x f
Switch to a project with C-x p p
Add your user- and project-specific stuff in .emacs.d/users/[machine name]/*.el
C-h
is rebound to backspace, like in the shell. Get help on F1
instead.
Autocomplete with C-,
or C-.
, try both to get a feel for them. (autocomplete entire lines with C-:
)
expand-region is your friend. Find its bound key by doing F1 f er/expand-region
Undo with C-_
and redo with M-_
. Watch the undo-tree with C-x u
Indent and clean up white space in the entire buffer with C-c n
On a mac, the Meta key M
is bound to Command.
I recommend rebinding Caps Lock to Ctrl and use that instead of the often badly placed Ctrl-key.
Watch emacsrocks.com
When you start using emacs for the first time, your habits fight you every inch of the way. Your fingers long for the good old familiar keybindings. Here's an overview of the most commonly used shortcuts to get you through this pain:
C
Shorthand for the ctrl-keyM
Shorthand for the meta-key (bound to command on my mac settings)S
Shorthand for the shift-keys
Shorthand for the super-key (bount to option on my mac settings)C-x C-f
Open a file. Starts in the current directoryC-x f
Open a recently visited fileC-x p f
Open a file in the current project (based on .git ++)C-x C-s
Save this fileC-x C-w
Save as ...C-x C-j
Jump to this files' current directoryC-x b
Switch to another open file (buffer)C-x C-b
List all open files (buffers)C-space
Start marking stuff. C-g to cancel.C-w
Cut (aka kill)C-k
Cut till end of lineM-w
CopyC-y
Paste (aka yank)M-y
Cycle last paste through previous killsC-x C-y
Choose what to paste from previous killsC-@
Mark stuff quickly. Press multiple timesC-g
Quit out of whatever mess you've gotten yourself intoM-x
Run a command by nameC-.
AutocompleteC-_
UndoM-_
RedoC-x u
Show the undo-treeC-x m
Open magit. It's a magical git interface for emacsC-arrow
Move past words/paragraphsC-a
Go to start of lineC-e
Go to end of lineM-g M-g
Go to line numberC-x C-i
Go to symbolC-s
Search forward. Press C-s
again to go further.C-r
Search backward. Press C-r
again to go further.C-x 0
Close this windowC-x 1
Close other windowsC-x 2
Split window horizontallyC-x 3
Split window verticallyS-arrow
Jump to window to the left/right/up/downF1 t
Basic tutorialF1 k
Help for a keybindingF1 r
Emacs' extensive documentationRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4