Last active
September 12, 2024 08:27
-
-
Save lambdalisue/64e9db74532ba7cf7f28ce5a53bc71d5 to your computer and use it in GitHub Desktop.
Obsidian vimrc
This file contains 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 | |
" 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 | |
exmap forward obcommand app:go-forward | |
nmap <C-i> :forward | |
exmap followLink obcommand editor:follow-link | |
nmap gf :followLink | |
exmap openLinkInNewSplit obcommand editor:open-link-in-new-split | |
nmap <C-w>f :openLinkInNewSplit | |
nmap <C-w><C-f> :openLinkInNewSplit | |
" Close | |
exmap wq obcommand workspace:close | |
exmap q obcommand workspace:close | |
" Window navigation | |
exmap focusRight obcommand editor:focus-right | |
nmap <C-w>l :focusRight | |
nmap <C-w><C-l> :focusRight | |
exmap focusLeft obcommand editor:focus-left | |
nmap <C-w>h :focusLeft | |
nmap <C-w><C-h> :focusLeft | |
exmap focusTop obcommand editor:focus-top | |
nmap <C-w>k :focusTop | |
nmap <C-w><C-k> :focusTop | |
exmap focusBottom obcommand editor:focus-bottom | |
nmap <C-w>j :focusBottom | |
nmap <C-w><C-j> :focusBottom | |
exmap split obcommand workspace:split-horizontal | |
nmap <C-w>s :split | |
nmap <C-w><C-s> :split | |
exmap vsplit obcommand workspace:split-vertical | |
nmap <C-w>v :vsplit | |
nmap <C-w><C-v> :vsplit | |
" Tab navigation | |
exmap tabnew obcommand workspace:new-tab | |
nmap <C-w>t :tabnew | |
nmap <C-w><C-t> :tabnew | |
exmap tabnext obcommand workspace:next-tab | |
nmap gt :tabnext | |
nmap <C-n> :tabnext | |
exmap tabprev obcommand workspace:previous-tab | |
nmap gT :tabprev | |
nmap <C-p> :tabprev | |
" Emulate Folding https://vimhelp.org/fold.txt.html#fold-commands | |
exmap togglefold obcommand editor:toggle-fold | |
nmap zo :togglefold | |
nmap zc :togglefold | |
nmap za :togglefold | |
exmap unfoldall obcommand editor:unfold-all | |
nmap zR :unfoldall | |
exmap foldall obcommand editor:fold-all | |
nmap zM :foldall | |
" Reload | |
exmap reload obcommand app:reload | |
nmap <F5> :reload | |
" 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 <Space>mm :mru | |
" Enable Emacs-like mappings in Insert/Command Mode | |
" It seems simple <Home>/<End> doesn't work in 'imap' so some workaround is | |
" required | |
imap <C-a> <Esc><Home>i | |
imap <C-e> <Esc><End>a | |
imap <C-f> <Right> | |
imap <C-b> <Left> | |
imap <C-d> <Del> | |
cmap <C-a> <Home> | |
cmap <C-e> <End> | |
cmap <C-f> <Right> | |
cmap <C-b> <Left> | |
cmap <C-d> <Del> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment