189 lines
6.6 KiB
Plaintext
189 lines
6.6 KiB
Plaintext
|
""""""""""""""""""""""
|
|||
|
" Leader
|
|||
|
""""""""""""""""""""""
|
|||
|
" let mapleader=,
|
|||
|
" can't set leaders in Obsidian vim, so the key just has to be used consistently.
|
|||
|
" However, it needs to be unmapped, to not trigger default behavior: https://github.com/esm7/obsidian-vimrc-support#some-help-with-binding-space-chords-doom-and-spacemacs-fans
|
|||
|
unmap ,
|
|||
|
|
|||
|
" map ; to : in normal mode, so that I don’t rely on the shift key
|
|||
|
" nmap ; :
|
|||
|
|
|||
|
" no modifier key for jumping to next word
|
|||
|
nmap + *
|
|||
|
|
|||
|
" Have j and k navigate visual lines rather than logical ones
|
|||
|
nmap j gj
|
|||
|
nmap k gk
|
|||
|
|
|||
|
" I like using H and L for beginning/end of line
|
|||
|
nmap H ^
|
|||
|
nmap L $
|
|||
|
" nmap J 5j
|
|||
|
" nmap K 5k
|
|||
|
|
|||
|
" Moving to next/prev paragraph
|
|||
|
nmap [ {
|
|||
|
nmap ] }
|
|||
|
|
|||
|
" Yank to system clipboard
|
|||
|
set clipboard=unnamed
|
|||
|
|
|||
|
" Surround
|
|||
|
exmap surround_wiki surround [[ ]]
|
|||
|
exmap surround_double_quotes surround " "
|
|||
|
exmap surround_single_quotes surround ' '
|
|||
|
exmap surround_brackets surround ( )
|
|||
|
exmap surround_square_brackets surround [ ]
|
|||
|
exmap surround_curly_brackets surround { }
|
|||
|
exmap surround_chinese_double_quotes surround “ ”
|
|||
|
exmap surround_chinese_brackets surround 「 」
|
|||
|
|
|||
|
" NOTE: must use 'map' and not 'nmap'
|
|||
|
map [[ :surround_wiki
|
|||
|
nunmap s
|
|||
|
vunmap s
|
|||
|
map s" :surround_double_quotes
|
|||
|
map s' :surround_single_quotes
|
|||
|
map s( :surround_brackets
|
|||
|
map s) :surround_brackets
|
|||
|
map s[ :surround_square_brackets
|
|||
|
map s{ :surround_curly_brackets
|
|||
|
map s} :surround_curly_brackets
|
|||
|
" Surround 中文双引号
|
|||
|
map s] :surround_chinese_brackets
|
|||
|
map s\ :surround_chinese_brackets
|
|||
|
map ss :surround_chinese_double_quotes
|
|||
|
map sy :surround_chinese_double_quotes
|
|||
|
|
|||
|
" Surround Admonition https://github.com/esm7/obsidian-vimrc-support/discussions/146
|
|||
|
exmap CodeBlockAdmonitionNote obcommand code-block-from-selection:17f30753-d5f4-4953-abed-5027a25ede58
|
|||
|
map san :CodeBlockAdmonitionNote
|
|||
|
exmap CodeBlockSelectionAdmonitionNote jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:17f30753-d5f4-4953-abed-5027a25ede58'].callback() }
|
|||
|
vmap san :CodeBlockSelectionAdmonitionNote
|
|||
|
|
|||
|
exmap CodeBlockAdmonitionBrainstorm obcommand code-block-from-selection:36a8b91d-c4f1-4ac4-999c-7bfc53c998c1
|
|||
|
map sab :CodeBlockAdmonitionBrainstorm
|
|||
|
exmap CodeBlockSelectionAdmonitionBrainstorm jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:36a8b91d-c4f1-4ac4-999c-7bfc53c998c1'].callback() }
|
|||
|
vmap sab :CodeBlockSelectionAdmonitionBrainstorm
|
|||
|
|
|||
|
exmap CodeBlockAdmonitionQuote obcommand code-block-from-selection:91dc799c-4f7e-4d75-9cde-d9e6db990a5a
|
|||
|
map saq :CodeBlockAdmonitionQuote
|
|||
|
exmap CodeBlockSelectionAdmonitionQuote jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:91dc799c-4f7e-4d75-9cde-d9e6db990a5a'].callback() }
|
|||
|
vmap saq :CodeBlockSelectionAdmonitionQuote
|
|||
|
|
|||
|
exmap CodeBlockAdmonitionContext obcommand code-block-from-selection:cb332ef3-8053-42b0-88c9-a233e6dae6d0
|
|||
|
map sac :CodeBlockAdmonitionContext
|
|||
|
exmap CodeBlockSelectionAdmonitionContext jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:cb332ef3-8053-42b0-88c9-a233e6dae6d0'].callback() }
|
|||
|
vmap sac :CodeBlockSelectionAdmonitionContext
|
|||
|
|
|||
|
exmap CodeBlockAdmonitionRoutine obcommand code-block-from-selection:31f32950-d8df-4d8a-9ca3-91a34d2a67ab
|
|||
|
map sar :CodeBlockAdmonitionRoutine
|
|||
|
exmap CodeBlockSelectionAdmonitionRoutine jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:31f32950-d8df-4d8a-9ca3-91a34d2a67ab'].callback() }
|
|||
|
vmap sar :CodeBlockSelectionAdmonitionRoutine
|
|||
|
|
|||
|
exmap CodeBlockAdmonitionThink obcommand code-block-from-selection:655b28f0-353f-479e-bc5a-c0b422b987c9
|
|||
|
map sat :655b28f0-353f-479e-bc5a-c0b422b987c9
|
|||
|
exmap CodeBlockSelectionAdmonitionThink jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:655b28f0-353f-479e-bc5a-c0b422b987c9'].callback() }
|
|||
|
vmap sat :CodeBlockSelectionAdmonitionThink
|
|||
|
|
|||
|
" Emulate Folding https://vimhelp.org/fold.txt.html#fold-commands
|
|||
|
exmap togglefold obcommand editor:toggle-fold
|
|||
|
nmap zo :togglefold
|
|||
|
|
|||
|
exmap unfoldall obcommand editor:unfold-all
|
|||
|
nmap zR :unfoldall
|
|||
|
|
|||
|
exmap foldall obcommand editor:fold-all
|
|||
|
nmap zM :foldall
|
|||
|
|
|||
|
" Emulate Tab Switching https://vimhelp.org/tabpage.txt.html#gt
|
|||
|
" requires Pane Relief: https://github.com/pjeby/pane-relief
|
|||
|
exmap tabnext obcommand pane-relief:go-next
|
|||
|
nmap gt :tabnext
|
|||
|
exmap tabprev obcommand pane-relief:go-prev
|
|||
|
nmap gT :tabprev
|
|||
|
" Same as CMD+\
|
|||
|
nmap g\ :tabnext
|
|||
|
|
|||
|
exmap openlink obcommand editor:open-link-in-new-leaf
|
|||
|
nmap go :openlink
|
|||
|
nmap gd :openlink
|
|||
|
|
|||
|
" [g]oto [f]ile (= Follow Link under cursor)
|
|||
|
exmap followLinkUnderCursor obcommand editor:follow-link
|
|||
|
nmap gf :followLinkUnderCursor
|
|||
|
|
|||
|
" Link Jump (similar to Vimium's f)
|
|||
|
exmap linkjump obcommand mrj-jump-to-link:activate-lightspeed-jump
|
|||
|
nmap ,f :linkjump
|
|||
|
|
|||
|
" g; go to last change - https://vimhelp.org/motion.txt.html#g%3B
|
|||
|
nmap g; u<C-r>
|
|||
|
|
|||
|
" exmap cursorBackward obcommand heycalmdown-navigate-cursor-history:cursor-position-backward
|
|||
|
" exmap cursorForward heycalmdown-navigate-cursor-history:cursor-position-forward
|
|||
|
" nmap g; :cursorBackward
|
|||
|
" nmap g' :cursorForward
|
|||
|
|
|||
|
" mapping next/previous heading
|
|||
|
exmap nextHeading jsfile .obsidian.markdown-helper.js {jumpHeading(true)}
|
|||
|
exmap prevHeading jsfile .obsidian.markdown-helper.js {jumpHeading(false)}
|
|||
|
nmap g] :nextHeading
|
|||
|
nmap g[ :prevHeading
|
|||
|
|
|||
|
exmap scrollToCenterTop70p jsfile .obsidian.markdown-helper.js {scrollToCursor(0.7)}
|
|||
|
nmap zz :scrollToCenterTop70p
|
|||
|
|
|||
|
" rename file
|
|||
|
exmap renameFile obcommand Obsidian-VimEx:file-rename-modal
|
|||
|
nmap gr :renameFile
|
|||
|
|
|||
|
" mapping vs/hs as workspace split
|
|||
|
exmap vs obcommand workspace:split-vertical
|
|||
|
exmap sp obcommand workspace:split-vertical
|
|||
|
exmap hs obcommand workspace:split-horizontal
|
|||
|
nmap <C-w>v :vs
|
|||
|
nmap <C-w>s :hs
|
|||
|
|
|||
|
" window controls
|
|||
|
exmap wq obcommand workspace:close
|
|||
|
exmap q obcommand workspace:close
|
|||
|
|
|||
|
" focus
|
|||
|
exmap focusLeft obcommand editor:focus-left
|
|||
|
exmap focusRight obcommand editor:focus-right
|
|||
|
exmap focusBottom obcommand editor:focus-bottom
|
|||
|
exmap focusTop obcommand editor:focus-top
|
|||
|
nmap <C-w>h :focusLeft
|
|||
|
nmap <C-w>l :focusRight
|
|||
|
nmap <C-w>j :focusBottom
|
|||
|
nmap <C-w>k :focusTop
|
|||
|
|
|||
|
" Blockquote
|
|||
|
exmap toggleBlockquote obcommand editor:toggle-blockquote
|
|||
|
nmap ,< :toggleBlockquote
|
|||
|
nmap ,> :toggleBlockquote
|
|||
|
|
|||
|
" complete a Markdown task
|
|||
|
exmap toggleTask obcommand editor:toggle-checklist-status
|
|||
|
nmap ,x :toggleTask
|
|||
|
|
|||
|
" Zoom in/out
|
|||
|
exmap zoomIn obcommand obsidian-zoom:zoom-in
|
|||
|
exmap zoomOut obcommand obsidian-zoom:zoom-out
|
|||
|
nmap zi :zoomIn
|
|||
|
nmap zo :zoomOut
|
|||
|
|
|||
|
nmap &a :zoomOut
|
|||
|
nmap &b :nextHeading
|
|||
|
nmap &c :zoomIn
|
|||
|
nmap &d :prevHeading
|
|||
|
nmap z] &a&b&c
|
|||
|
nmap z[ &a&d&c
|
|||
|
|
|||
|
" Stille Mode
|
|||
|
exmap toggleStille obcommand obsidian-stille:toggleStille
|
|||
|
nmap zs :toggleStille
|
|||
|
nmap ,s :toggleStille
|