Last active
December 4, 2024 03:28
-
-
Save lambdalisue/64e9db74532ba7cf7f28ce5a53bc71d5 to your computer and use it in GitHub Desktop.
Obsidian vimrc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" https://github.com/esm7/obsidian-vimrc-support | |
nmap j gj | |
nmap k gk | |
nmap ; : | |
set clipboard=unnamed | |
" Enable Emacs-like mappings in Insert/Command Mode | |
" It seems simple mappings doesn't work in 'imap' so some workaround is | |
" required | |
imap <C-a> <Esc><Home>i | |
imap <C-e> <Esc><End>a | |
imap <C-b> <Esc><Left>a | |
imap <C-f> <Esc><Right>a | |
imap <C-d> <Del> | |
cmap <C-a> <Home> | |
cmap <C-e> <End> | |
cmap <C-f> <Right> | |
cmap <C-b> <Left> | |
cmap <C-d> <Del> | |
" Close | |
exmap wq obcommand workspace:close | |
exmap q obcommand workspace:close | |
" Go back and forward with Ctrl+O and Ctrl+I | |
" (make sure to remove default Obsidian shortcuts for these to work) | |
exmap back obcommand app:go-back | |
nmap <C-o> :back<CR> | |
exmap forward obcommand app:go-forward | |
nmap <C-i> :forward<CR> | |
" Follow link with Ctrl+W F and Ctrl+W Ctrl+F | |
exmap followLink obcommand editor:follow-link | |
nmap gf :followLink<CR> | |
exmap openLinkInNewSplit obcommand editor:open-link-in-new-split | |
nmap <C-w>f :openLinkInNewSplit<CR> | |
nmap <C-w><C-f> :openLinkInNewSplit<CR> | |
" Window navigation | |
exmap focusRight obcommand editor:focus-right | |
nmap <C-w>l :focusRight<CR> | |
nmap <C-w><C-l> :focusRight<CR> | |
exmap focusLeft obcommand editor:focus-left | |
nmap <C-w>h :focusLeft<CR> | |
nmap <C-w><C-h> :focusLeft<CR> | |
exmap focusTop obcommand editor:focus-top | |
nmap <C-w>k :focusTop<CR> | |
nmap <C-w><C-k> :focusTop<CR> | |
exmap focusBottom obcommand editor:focus-bottom | |
nmap <C-w>j :focusBottom<CR> | |
nmap <C-w><C-j> :focusBottom<CR> | |
exmap split obcommand workspace:split-horizontal | |
nmap <C-w>s :split<CR> | |
nmap <C-w><C-s> :split<CR> | |
exmap vsplit obcommand workspace:split-vertical | |
nmap <C-w>v :vsplit<CR> | |
nmap <C-w><C-v> :vsplit<CR> | |
" Tab navigation | |
exmap tabnew obcommand workspace:new-tab | |
nmap <C-w>t :tabnew<CR> | |
nmap <C-w><C-t> :tabnew<CR> | |
exmap tabnext obcommand workspace:next-tab | |
nmap gt :tabnext<CR> | |
nmap <C-n> :tabnext<CR> | |
exmap tabprev obcommand workspace:previous-tab | |
nmap gT :tabprev<CR> | |
nmap <C-p> :tabprev<CR> | |
" Emulate Folding https://vimhelp.org/fold.txt.html#fold-commands | |
exmap togglefold obcommand editor:toggle-fold | |
nmap zo :togglefold<CR> | |
nmap zc :togglefold<CR> | |
nmap za :togglefold<CR> | |
exmap unfoldall obcommand editor:unfold-all | |
nmap zR :unfoldall<CR> | |
exmap foldall obcommand editor:fold-all | |
nmap zM :foldall<CR> | |
" Reload | |
exmap reload obcommand app:reload | |
nmap <F5> :reload<CR> | |
" We first need to unmap <Space> to use <Space> | |
" https://github.com/esm7/obsidian-vimrc-support?tab=readme-ov-file#some-help-with-binding-space-chords-doom-and-spacemacs-fans | |
unmap <Space> | |
" MRU | |
exmap mru obcommand switcher:open | |
nmap <BS> :mru<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment