The Kalem Book GitHub

This Book describes Kalem's main branch, which may be ahead of the latest release.

Keymaps

The keymap files that come with Kalem, generated from them when the Book is built. A binding applies where its when-clause holds (the command's own when-clause too); where several apply, the later one wins. Terminal gives the keys used in terminals that cannot send the first ones.

1. The Word-like profile

crates/kalem-core/keymaps/word.json: the default profile's bindings on top of the commands' default keys (the Commands appendix): heading levels, the file manager's keys, the keys of each kind of document.

Keys Command When Terminal
ctrl+1 Heading Level org.headline.setLevel {"level":1}    
ctrl+2 Heading Level org.headline.setLevel {"level":2}    
ctrl+3 Heading Level org.headline.setLevel {"level":3}    
ctrl+4 Heading Level org.headline.setLevel {"level":4}    
ctrl+5 Heading Level org.headline.setLevel {"level":5}    
ctrl+6 Heading Level org.headline.setLevel {"level":6}    
ctrl+0 Heading Level org.headline.setLevel {"level":0} onHeadline  
tab Fold or Unfold view.fold    
shift+tab Fold or Unfold All view.foldAll onHeadline  
shift+enter Line Break edit.newline   ctrl+j
enter Line Break edit.newline editorMode != org  
f2 Rename Symbol code.rename hasLanguageServer  
ctrl+. Code Actions code.actions hasLanguageServer  
enter New Line or Item latex.enter editorMode == latex  
enter New Item markdown.newline editorMode == markdown && inMarkdownList  
enter Edit Cell viewer.grid.edit editorMode == viewer && viewerGrid  
enter Cell Below csv.cellBelow editorMode == csv && !sourceView  
shift+enter Cell Above csv.cellAbove editorMode == csv && !sourceView alt+enter
alt+enter Line Break in Cell csv.lineBreak editorMode == csv && !sourceView && !terminal  
ctrl+j Line Break in Cell csv.lineBreak editorMode == csv && !sourceView && terminal  
left Cell Left csv.cellLeft editorMode == csv && !sourceView && !vimActive  
right Cell Right csv.cellRight editorMode == csv && !sourceView && !vimActive  
shift+left Extend Selection Left csv.extendLeft editorMode == csv && !sourceView && !vimActive  
shift+right Extend Selection Right csv.extendRight editorMode == csv && !sourceView && !vimActive  
shift+up Extend Selection Up csv.extendUp editorMode == csv && !sourceView && !vimActive  
shift+down Extend Selection Down csv.extendDown editorMode == csv && !sourceView && !vimActive  
ctrl+left Data Edge Left csv.edgeLeft editorMode == csv && !sourceView && !vimActive  
ctrl+right Data Edge Right csv.edgeRight editorMode == csv && !sourceView && !vimActive  
ctrl+up Data Edge Up csv.edgeUp editorMode == csv && !sourceView && !vimActive  
ctrl+down Data Edge Down csv.edgeDown editorMode == csv && !sourceView && !vimActive  
home Row Start csv.rowStart editorMode == csv && !sourceView && !vimActive  
end Row End csv.rowEnd editorMode == csv && !sourceView && !vimActive  
ctrl+home First Cell csv.firstCell editorMode == csv && !sourceView && !vimActive  
ctrl+end Last Cell csv.lastCell editorMode == csv && !sourceView && !vimActive  
f2 Edit Cell csv.editCell editorMode == csv && !sourceView && !vimActive  
escape Cancel Entry csv.cancelEdit editorMode == csv && !sourceView && !vimActive  
delete Clear Contents csv.clearCells editorMode == csv && !sourceView && !vimActive  
backspace Clear and Type csv.backspaceCell editorMode == csv && !sourceView && !vimActive  
tab Cell Right viewer.grid.right editorMode == viewer && viewerGrid  
shift+tab Cell Left viewer.grid.left editorMode == viewer && viewerGrid  
ctrl+1 Heading Level latex.section.setLevel {"level":1} editorMode == latex  
ctrl+2 Heading Level latex.section.setLevel {"level":2} editorMode == latex  
ctrl+3 Heading Level latex.section.setLevel {"level":3} editorMode == latex  
ctrl+4 Heading Level latex.section.setLevel {"level":4} editorMode == latex  
ctrl+5 Heading Level latex.section.setLevel {"level":5} editorMode == latex  
ctrl+6 Heading Level latex.section.setLevel {"level":6} editorMode == latex  
ctrl+0 Heading Level latex.section.setLevel {"level":0} editorMode == latex  
ctrl+enter Cycle TODO State org.todo.cycle   ctrl+t
ctrl+, Settings app.settings   alt+,
ctrl+shift+p Command Palette view.palette   ctrl+g
ctrl+shift+z Redo edit.redo   ctrl+y
ctrl+tab Next Document file.next   ctrl+pagedown
ctrl+shift+tab Previous Document file.previous   ctrl+pageup
cmd+tab Next Document file.next   ctrl+pagedown
cmd+shift+tab Previous Document file.previous   ctrl+pageup
ctrl+shift+] Next Document file.next   ctrl+pagedown
ctrl+shift+[ Previous Document file.previous   ctrl+pageup
enter Open dired.open    
o Open in New Pane dired.openInPane    
^ Parent Folder dired.up    
i List Folder Here dired.insertSubdir    
shift+k Remove Listed Folder dired.removeSubdir    
- Parent Folder dired.up    
backspace Parent Folder dired.up    
n Next Line dired.next    
p Previous Line dired.previous    
g Read Again dired.refresh    
shift+p Projects View dired.projects editorMode == directory  
( Show or Hide Details dired.toggleDetails    
. Show or Hide Dot Files dired.toggleHidden    
s Sort By Next Order dired.sort    
shift+f Filter by Name dired.filter    
m Mark dired.mark    
u Unmark dired.unmark    
shift+u Unmark All dired.unmarkAll    
t Toggle Marks dired.toggleMarks    
d Flag for Deletion dired.flag    
x Delete Flagged dired.executeFlagged    
% m Mark by Regular Expression dired.markRegexp    
* / Mark Folders dired.markDirectories    
* . Mark by Extension dired.markExtension    
* t Mark Changed Since dired.markChangedSince    
shift+c Copy To dired.copy    
shift+r Rename or Move To dired.move    
shift+d Move to Trash dired.delete    
+ New Folder dired.mkdir    
c New File dired.newFile    
f2 Rename or Move To dired.move    
delete Move to Trash dired.delete    
ctrl+z Undo File Operation dired.undo    
e Edit Names dired.editNames    
% f Find by Name dired.findName    
shift+a Search in Files dired.searchFiles    
shift+w Open with Application dired.openExternal    
! Shell Command on Files dired.shellCommand    
v Preview Pane dired.togglePreview    
ctrl+t Picture Thumbnails dired.thumbnails    
ctrl+s Apply Edited Names dired.commitNames    
escape Discard Edited Names dired.abortNames    
shift+s Symbolic Link dired.symlink    
shift+m Change Permissions dired.chmod    
shift+t Touch dired.touch    
w Copy Names dired.copyName    
q Close File Manager dired.close    
* * Mark Executables dired.markExecutables    
% u Rename to Upper Case dired.upcase    
% l Rename to Lower Case dired.downcase    
% shift+r Rename by Regular Expression dired.renameRegexp    
shift+z Compress or Extract dired.compress    
& Shell Command on Files dired.shellCommand    
ctrl+c Copy Files dired.copyFiles    
ctrl+x Cut Files dired.cutFiles    
ctrl+v Paste Files dired.paste    
ctrl+a Select All dired.markAll    
ctrl+n New File dired.newFile    
ctrl+shift+n New Folder dired.mkdir    
shift+delete Delete for Good dired.deletePermanently    
space Preview Pane dired.togglePreview !vimCommand  
alt+enter Properties dired.properties    

2. The Vim profile

crates/kalem-core/keymaps/vim.json: added to the Word-like bindings when editor.keymap_profile is vim. leader is the key of editor.vim.leader, Space unless changed.

Keys Command When Terminal
leader : Command Palette view.palette vimCommand  
leader space Find File in Project project.findFile vimCommand  
leader . Open File file.open {"prompt":true} vimCommand  
leader , Switch Document file.switch vimCommand  
leader / Search in Project project.search vimCommand  
leader b b Switch Document file.switch vimCommand  
leader b k Close Document file.close vimCommand  
leader b d Close Document file.close vimCommand  
leader b n Next Document file.next vimCommand  
leader b ] Next Document file.next vimCommand  
leader b p Previous Document file.previous vimCommand  
leader b [ Previous Document file.previous vimCommand  
leader b s Save app.save vimCommand  
leader b r Revert to Saved app.revert vimCommand  
leader b shift+n New Document file.new vimCommand  
leader b shift+s Save All file.saveAll vimCommand  
leader b l Last Document file.last vimCommand  
leader ` Last Document file.last vimCommand  
leader b i Open Files view.openFiles vimCommand  
leader b x Scratch Document file.scratch vimCommand  
leader x Scratch Document file.scratch vimCommand  
leader b shift+x Scratch Document file.scratch vimCommand  
leader b shift+o Close Other Documents file.closeOthers vimCommand  
leader b shift+k Close All Documents file.closeAll vimCommand  
leader b y Copy the Whole Document file.copyText vimCommand  
leader b c Split View view.split vimCommand  
leader b shift+c Split View view.split vimCommand  
leader b shift+i Open Files view.openFiles vimCommand  
leader b - Widen view.widen vimCommand && narrowed  
leader b - Narrow to Element view.narrowToElement vimCommand && !narrowed && editorMode == org  
leader b z Move Document to the End file.bury vimCommand  
leader b shift+b Switch Document file.switch vimCommand  
leader < Switch Document file.switch vimCommand  
leader f f Open File file.open {"prompt":true} vimCommand  
leader f r Open Recent File file.recent vimCommand  
leader f s Save app.save vimCommand  
leader f shift+s Save As app.saveAs vimCommand  
leader f shift+d Delete This File file.delete vimCommand  
leader f shift+r Rename or Move This File file.rename vimCommand  
leader f shift+c Copy This File To file.copy vimCommand  
leader f y Copy This File's Path file.copyPath vimCommand  
leader f shift+y Copy This File's Path from the Project file.copyRelativePath vimCommand  
leader f d Open File file.open {"prompt":true} vimCommand  
leader f shift+f Open File file.open {"prompt":true} vimCommand  
leader f p Open the Settings Folder file.openSettingsFolder vimCommand  
leader f shift+p Open Your Keymap file.openKeymap vimCommand  
leader f c Open the Workspace Settings file.openWorkspaceSettings vimCommand  
leader p p Switch Project project.switch vimCommand  
leader p f Find File in Project project.findFile vimCommand  
leader p a Add Project project.add vimCommand  
leader p d Remove Project project.remove vimCommand  
leader p r Recent Files in Project project.recentFiles vimCommand  
leader p b Switch Document in Project project.switchDocument vimCommand  
leader p k Close Project Documents project.closeDocuments vimCommand  
leader p s Save Project Documents project.saveDocuments vimCommand  
leader p i Refresh Project Files project.refresh vimCommand  
leader p . Project Folder in the File Manager dired.projectRoot vimCommand  
leader p > Browse Another Project project.browseOther vimCommand  
leader p ! Shell Command at the Project project.shellCommand vimCommand  
leader p shift+r Run Project project.run vimCommand  
leader p shift+t Test Project project.test vimCommand  
leader p e Open the Workspace Settings file.openWorkspaceSettings vimCommand  
leader p g Open the Workspace Settings file.openWorkspaceSettings vimCommand  
leader p o Other File file.other vimCommand  
leader p t Project TODOs project.todos vimCommand  
leader p x Scratch Document file.scratch {"project":true} vimCommand  
leader p shift+x Scratch Document file.scratch {"project":true} vimCommand  
leader p & Shell Command at the Project project.shellCommand vimCommand  
leader p shift+f Find File in Another Project project.findFileOther vimCommand  
leader p shift+p Projects View dired.projects vimCommand  
leader s p Search in Project project.search vimCommand  
leader s s Search Lines search.lines vimCommand  
leader s b Search Lines search.lines vimCommand  
leader s shift+b Search Lines search.lines {"all":true} vimCommand  
leader s i Search Lines search.lines {"headings":true} vimCommand  
leader s shift+i Search Lines search.lines {"all":true,"headings":true} vimCommand  
leader s shift+s Search Lines search.lines {"word":true} vimCommand  
leader s d Search in Folder search.folder vimCommand  
leader s shift+d Search in Folder search.folder {"ask":true} vimCommand  
leader s shift+p Search in Another Project project.searchOther vimCommand  
leader s o Search Online search.online vimCommand  
leader s shift+o Search Online search.online vimCommand  
leader o p Open Files view.openFiles vimCommand  
leader o o Show in System File Manager file.reveal vimCommand  
leader o shift+o Show in System File Manager file.reveal {"project":true} vimCommand  
leader o i Open a Terminal Here app.terminal vimCommand  
leader o shift+i Open a Terminal Here app.terminal vimCommand  
leader o t Open a Terminal Here app.terminal vimCommand  
leader o shift+t Open a Terminal Here app.terminal {"project":true} vimCommand  
leader o b Export as HTML and Open export.htmlBrowser vimCommand  
leader o l Open Link org.link.open vimCommand  
leader * Search Project for Word project.searchWord vimCommand  
leader ' Resume Last Picker picker.resume vimCommand  
leader ~ Toggle Last Panel view.toggleLastPanel vimCommand  
leader u Universal Argument app.universalArgument vimCommand  
leader q s Save Session session.save vimCommand  
leader q shift+s Save Session As session.saveAs vimCommand  
leader q l Restore Last Session session.restore vimCommand  
leader q shift+l Restore Session session.restoreNamed vimCommand  
leader q shift+k Save Session and Quit session.saveAndQuit vimCommand  
leader q shift+q Quit Without Saving app.quitWithoutSaving vimCommand  
leader q f Close Window window.close vimCommand  
leader q shift+f Close All Documents file.closeAll vimCommand  
leader q r Restart and Restore app.restartAndRestore vimCommand  
leader q shift+r Restart app.restart vimCommand  
leader enter Jump to Bookmark bookmark.jump vimCommand  
leader n l Store Link link.store vimCommand  
leader n s Search Notes notes.search vimCommand  
leader n shift+f Browse Notes notes.browse vimCommand  
leader n y Copy as HTML edit.copyHtml vimCommand  
leader n shift+y Copy as Rich Text edit.copyRichText vimCommand  
leader i e Insert Emoji insert.emoji vimCommand  
leader i f Insert File Name insert.fileName vimCommand  
leader i shift+f Insert File Path insert.filePath vimCommand  
leader i r Insert from Register insert.fromRegister vimCommand  
leader i u Insert Unicode Character insert.unicode vimCommand  
leader i y Insert from Clipboard History insert.fromHistory vimCommand  
leader tab tab Switch Workspace workspace.list vimCommand  
leader tab n New Workspace workspace.new vimCommand  
leader tab shift+n New Named Workspace workspace.newNamed vimCommand  
leader tab d Delete Workspace workspace.delete vimCommand  
leader tab r Rename Workspace workspace.rename vimCommand  
leader tab [ Previous Workspace workspace.previous vimCommand  
leader tab ] Next Workspace workspace.next vimCommand  
leader tab 1 Go to Workspace workspace.switch {"index":0} vimCommand  
leader tab ` Last Workspace workspace.last vimCommand  
leader tab s Save Workspace workspace.save vimCommand  
leader tab l Load Workspace workspace.load vimCommand  
leader tab . Switch Workspace workspace.list vimCommand  
leader tab shift+d Delete Saved Workspace workspace.deleteSaved vimCommand  
leader tab shift+r Restore Last Session session.restore vimCommand  
leader tab 0 Go to Workspace workspace.switch {"index":-1} vimCommand  
leader tab 2 Go to Workspace workspace.switch {"index":1} vimCommand  
leader tab 3 Go to Workspace workspace.switch {"index":2} vimCommand  
leader tab 4 Go to Workspace workspace.switch {"index":3} vimCommand  
leader tab 5 Go to Workspace workspace.switch {"index":4} vimCommand  
leader tab 6 Go to Workspace workspace.switch {"index":5} vimCommand  
leader tab 7 Go to Workspace workspace.switch {"index":6} vimCommand  
leader tab 8 Go to Workspace workspace.switch {"index":7} vimCommand  
leader tab 9 Go to Workspace workspace.switch {"index":8} vimCommand  
leader w v Split Right pane.splitRight vimCommand  
leader w s Split Below pane.splitBelow vimCommand  
leader w h Focus Pane pane.focus {"dir":"left"} vimCommand  
leader w j Focus Pane pane.focus {"dir":"down"} vimCommand  
leader w k Focus Pane pane.focus {"dir":"up"} vimCommand  
leader w l Focus Pane pane.focus {"dir":"right"} vimCommand  
leader w shift+h Move Pane pane.move {"dir":"left"} vimCommand  
leader w shift+j Move Pane pane.move {"dir":"down"} vimCommand  
leader w shift+k Move Pane pane.move {"dir":"up"} vimCommand  
leader w shift+l Move Pane pane.move {"dir":"right"} vimCommand  
leader w c Close Pane pane.close vimCommand  
leader w d Close Pane pane.close vimCommand  
leader w o Only This Pane pane.only vimCommand  
leader w m m Only This Pane pane.only vimCommand  
leader w w Next Pane pane.next vimCommand  
leader w p Previous Pane pane.previous vimCommand  
leader w = Balance Panes pane.balance vimCommand  
leader w + Resize Pane pane.resize {"axis":"column","by":5} vimCommand  
leader w - Resize Pane pane.resize {"axis":"column","by":-5} vimCommand  
leader w < Resize Pane pane.resize {"axis":"row","by":-5} vimCommand  
leader w > Resize Pane pane.resize {"axis":"row","by":5} vimCommand  
leader w x Swap Panes pane.swap vimCommand  
leader w r Rotate Panes pane.rotate vimCommand  
leader w shift+r Rotate Panes pane.rotate {"back":true} vimCommand  
leader w u Undo Layout pane.undo vimCommand  
leader w shift+u Redo Layout pane.redo vimCommand  
leader w n New Pane pane.new vimCommand  
leader w q Close Pane and Document pane.closeWithDocument vimCommand  
leader w shift+s Split Below pane.splitBelow vimCommand  
leader w shift+v Split Right pane.splitRight vimCommand  
leader w ctrl+h Focus Pane pane.focus {"dir":"left"} vimCommand  
leader w ctrl+j Focus Pane pane.focus {"dir":"down"} vimCommand  
leader w ctrl+k Focus Pane pane.focus {"dir":"up"} vimCommand  
leader w ctrl+l Focus Pane pane.focus {"dir":"right"} vimCommand  
leader w ctrl+w Next Pane pane.next vimCommand  
leader w shift+w Next Pane pane.next {"back":true} vimCommand  
leader w ctrl+o Only This Pane pane.only vimCommand  
leader w ctrl+u Undo Layout pane.undo vimCommand  
leader w ctrl+r Redo Layout pane.redo vimCommand  
leader m t Set TODO State org.todo.set vimCommand && editorMode == org  
leader m q Set Tags org.tags.set vimCommand && editorMode == org  
leader m o Set Property org.property.set vimCommand && editorMode == org  
leader m x Toggle Checkbox list.toggleCheckbox vimCommand && editorMode == org  
leader m . Search Lines search.lines {"headings":true} vimCommand && editorMode == org  
leader m / Search Lines search.lines {"all":true,"headings":true} vimCommand && editorMode == org  
leader m shift+a Archive to Sibling org.archive.sibling vimCommand && editorMode == org  
leader m e Export… export.dialog vimCommand && editorMode == org  
leader m f Go to Footnote Definition or Reference org.footnote.action vimCommand && editorMode == org  
leader m k Move Subtree Up org.headline.moveSubtreeUp vimCommand && editorMode == org  
leader m j Move Subtree Down org.headline.moveSubtreeDown vimCommand && editorMode == org  
leader m n Store Link link.store vimCommand && editorMode == org  
leader m @ Insert Citation org.cite.insert vimCommand && editorMode == org  
leader m , Switch Document file.switch vimCommand && editorMode == org  
leader m + Cycle Bullet list.cycleBullet vimCommand && editorMode == org  
leader m h Toggle Heading org.headline.toggle vimCommand && editorMode == org  
leader m * Toggle Heading org.headline.toggle vimCommand && editorMode == org  
leader m i Toggle Item list.toggleItem vimCommand && editorMode == org  
leader m l d Remove Link org.link.remove vimCommand && editorMode == org  
leader m b - Insert Horizontal Rule table.insertHline vimCommand && editorMode == org  
leader m b a Align Table table.align vimCommand && editorMode == org  
leader m b c Insert Table table.create vimCommand && editorMode == org  
leader m b f Edit Formula table.setFormula vimCommand && editorMode == org  
leader m b r Recalculate Table table.recalculate vimCommand && editorMode == org  
leader m b s Sort Rows table.sortRows vimCommand && editorMode == org  
leader m b i c Insert Column table.insertColumn vimCommand && editorMode == org  
leader m b i r Insert Row table.insertRow vimCommand && editorMode == org  
leader m b i h Insert Horizontal Rule table.insertHline vimCommand && editorMode == org  
leader m b i shift+h Insert Horizontal Rule table.insertHline vimCommand && editorMode == org  
leader m b d c Delete Column table.deleteColumn vimCommand && editorMode == org  
leader m b d r Delete Row table.killRow vimCommand && editorMode == org  
leader m c e Set Property org.property.set {"name":"Effort"} vimCommand && editorMode == org  
leader m c shift+e Set Property org.property.set {"name":"Effort"} vimCommand && editorMode == org  
leader m d d Set Deadline org.deadline vimCommand && editorMode == org  
leader m d s Schedule org.schedule vimCommand && editorMode == org  
leader m d t Insert Timestamp org.insert.timestamp vimCommand && editorMode == org  
leader m d shift+t Insert Timestamp org.insert.timestamp {"inactive":true} vimCommand && editorMode == org  
leader m g g Search Lines search.lines {"headings":true} vimCommand && editorMode == org  
leader m g shift+g Search Lines search.lines {"all":true,"headings":true} vimCommand && editorMode == org  
leader m g x Open Link org.link.open vimCommand && editorMode == org  
leader m l i Store Link link.store vimCommand && editorMode == org  
leader m l l Insert Link org.insert.link vimCommand && editorMode == org  
leader m l shift+l Insert Stored Link org.link.insertStored vimCommand && editorMode == org  
leader m l s Store Link link.store vimCommand && editorMode == org  
leader m l shift+s Insert Stored Link org.link.insertStored vimCommand && editorMode == org  
leader m l t Toggle Markup Characters view.toggleSourceMarkers vimCommand && editorMode == org  
leader m l y Copy Link org.link.copy vimCommand && editorMode == org  
leader m p p Set Priority org.priority.set vimCommand && editorMode == org  
leader m p u Raise Priority org.priority.up vimCommand && editorMode == org  
leader m p d Lower Priority org.priority.down vimCommand && editorMode == org  
leader m r r Refile org.refile vimCommand && editorMode == org  
leader m r . Refile org.refile vimCommand && editorMode == org  
leader m s a Toggle Archive Tag org.archive.toggleTag vimCommand && editorMode == org  
leader m s shift+a Archive to Sibling org.archive.sibling vimCommand && editorMode == org  
leader m s d Cut Subtree org.headline.cutSubtree vimCommand && editorMode == org  
leader m s h Promote Subtree org.headline.promoteSubtree vimCommand && editorMode == org  
leader m s l Demote Subtree org.headline.demoteSubtree vimCommand && editorMode == org  
leader m s j Move Subtree Down org.headline.moveSubtreeDown vimCommand && editorMode == org  
leader m s k Move Subtree Up org.headline.moveSubtreeUp vimCommand && editorMode == org  
leader m s n Narrow to Subtree view.narrowToSubtree vimCommand && editorMode == org  
leader m s shift+n Widen view.widen vimCommand && editorMode == org  
leader m s r Refile org.refile vimCommand && editorMode == org  
leader m s s Search Lines search.lines vimCommand && editorMode == org  
leader m s shift+s Sort Entries org.headline.sort vimCommand && editorMode == org  
leader m a Build PDF latex.build vimCommand && editorMode == latex  
leader m b Build PDF latex.build vimCommand && editorMode == latex  
leader m c Build PDF latex.build vimCommand && editorMode == latex  
leader m e Insert Equation latex.insert.equation vimCommand && editorMode == latex  
leader m f Emphasis latex.format.italic vimCommand && editorMode == latex  
leader m s Heading Level latex.section.setLevel vimCommand && editorMode == latex  
leader m v Show in PDF latex.showInPdf vimCommand && editorMode == latex  
leader m = Outline view.outline vimCommand && editorMode == latex  
leader m * Toggle Formula Preview view.toggleMath vimCommand && editorMode == latex  
leader m p Toggle Formula Preview view.toggleMath vimCommand && editorMode == latex  
leader m n Next Problem latex.nextProblem vimCommand && editorMode == latex  
leader m ; Outline view.outline vimCommand && editorMode == latex  
leader m l Show Problems latex.problems vimCommand && editorMode == latex  
leader m a Autosize All Columns csv.autosizeColumns vimCommand && editorMode == csv  
leader m u Reset Column Widths csv.resetWidths vimCommand && editorMode == csv  
leader m s Sort File by Columns csv.sortFileBy vimCommand && editorMode == csv  
leader m shift+s Sort File by Column csv.sortFile vimCommand && editorMode == csv  
leader m k Delete Column csv.deleteColumn vimCommand && editorMode == csv  
leader m t Transpose csv.transpose vimCommand && editorMode == csv  
leader m b a Autosize All Columns csv.autosizeColumns vimCommand && editorMode == csv  
leader m b e Edit Field csv.editField vimCommand && editorMode == csv  
leader m b s Sort File by Column csv.sortFile vimCommand && editorMode == csv  
leader m b i c Insert Column csv.insertColumn vimCommand && editorMode == csv  
leader m b i r Insert Row csv.insertRow vimCommand && editorMode == csv  
leader m b d c Delete Column csv.deleteColumn vimCommand && editorMode == csv  
leader m b d r Delete Row csv.deleteRow vimCommand && editorMode == csv  
leader m e Convert to Org markdown.convertToOrg vimCommand && editorMode == markdown  
leader m i b Bold markdown.emphasis.bold vimCommand && editorMode == markdown  
leader m i i Italic markdown.emphasis.italic vimCommand && editorMode == markdown  
leader m i e Italic markdown.emphasis.italic vimCommand && editorMode == markdown  
leader m i s Strike-through markdown.emphasis.strikeThrough vimCommand && editorMode == markdown  
leader m i c Code markdown.emphasis.code vimCommand && editorMode == markdown  
leader m i l Insert Link markdown.insert.link vimCommand && editorMode == markdown  
leader m i u Insert Link markdown.insert.link {"bare":true} vimCommand && editorMode == markdown  
leader m i w Complete edit.complete vimCommand && editorMode == markdown  
leader m t e Toggle Formula Preview view.toggleMath vimCommand && editorMode == markdown  
leader m t l Toggle Markup Characters view.toggleSourceMarkers vimCommand && editorMode == markdown  
leader m t m Toggle Markup Characters view.toggleSourceMarkers vimCommand && editorMode == markdown  
leader m t w Toggle Markup Characters view.toggleSourceMarkers vimCommand && editorMode == markdown  
leader m x Toggle Checkbox markdown.toggleCheckbox vimCommand && editorMode == markdown  
leader m t x Toggle Checkbox markdown.toggleCheckbox vimCommand && editorMode == markdown  
leader m b a Align Table markdown.table.align vimCommand && editorMode == markdown  
leader m b s Sort Rows by Column markdown.table.sort vimCommand && editorMode == markdown  
leader s m Jump to Bookmark bookmark.jump vimCommand  
leader b m Set Bookmark bookmark.set vimCommand  
leader b shift+m Delete Bookmark bookmark.delete vimCommand  
leader o l Open Link markdown.openLink vimCommand && editorMode == markdown  
leader o x Scratch Document file.scratch vimCommand  
leader o f New Window app.newWindow vimCommand  
leader t w Toggle Soft Wrap view.toggleWrap vimCommand  
leader t z Focus Mode view.focus vimCommand  
leader t m Toggle Formula Preview view.toggleMath vimCommand  
leader t l Toggle Line Numbers view.toggleLineNumbers vimCommand  
leader t v Toggle Markup Characters view.toggleSourceMarkers vimCommand  
leader t b Toggle Big Text view.bigText vimCommand  
leader t r Toggle Read-Only view.toggleReadOnly vimCommand  
leader t shift+f Toggle Full Screen view.fullScreen vimCommand  
leader t shift+z Zen Mode view.zen vimCommand  
leader h k Describe Key help.describeKey vimCommand  
leader h f Command Palette view.palette vimCommand  
leader h x Command Palette view.palette vimCommand  
leader h w Command Palette view.palette vimCommand  
leader h a Command Palette view.palette vimCommand  
leader h v Settings app.settings vimCommand  
leader h m Describe This Document help.mode vimCommand  
leader h b b All Key Bindings help.bindings vimCommand  
leader h t Choose the Theme help.theme vimCommand  
leader h r r Reload Settings and Keys help.reload vimCommand  
leader h ' Describe the Character help.char vimCommand  
leader h c Describe Key help.describeKey vimCommand  
leader h o Command Palette view.palette vimCommand  
leader h shift+v Settings app.settings vimCommand  
leader h shift+o Search Online search.online vimCommand  
leader h p Installed Plugins plugin.list vimCommand  
leader h b t All Key Bindings help.bindings vimCommand  
leader h b m Describe This Document help.mode vimCommand  
leader h r t Reload Settings and Keys help.reload vimCommand  
leader h r f Reload Settings and Keys help.reload vimCommand  
leader c w Trim Trailing Whitespace edit.trimTrailingWhitespace vimCommand  
leader c shift+w Delete Trailing Blank Lines edit.trimTrailingBlankLines vimCommand  
leader c f Format Document edit.formatDocument vimCommand  
leader c shift+s Outline view.outline vimCommand  
leader c j Search Lines search.lines {"headings":true} vimCommand  
leader c e Recalculate Table table.recalculate vimCommand && inTable  
leader c d Go to Definition code.definition vimCommand  
leader c shift+d Find References code.references vimCommand  
leader c i Go to Implementations code.implementation vimCommand  
leader c k Show Documentation code.documentation vimCommand  
leader c t Go to Type Definition code.typeDefinition vimCommand  
leader c r Rename Symbol code.rename vimCommand  
leader c a Code Actions code.actions vimCommand  
leader c x List Problems code.problems vimCommand  
leader c shift+x List Problems of Open Files code.allProblems vimCommand  
leader q q Quit app.quit vimCommand  
leader o - File Manager dired.jump vimCommand  
leader g [ Previous Change edit.previousChange vimCommand  
leader g ] Next Change edit.nextChange vimCommand  
- File Manager dired.jump vimCommand && editorMode != directory  
leader o shift+p Reveal in Folder Tree view.revealInTree vimCommand  
leader p shift+d Project Folder in the File Manager dired.projectRoot vimCommand  
g removes dired.refresh    
n removes dired.next    
p removes dired.previous    
w removes dired.copyName    
backspace removes dired.up    
i removes dired.insertSubdir    
shift+i List Folder Here dired.insertSubdir    
g r Read Again dired.refresh    
g g First Entry dired.first    
h Parent Folder dired.up    
l Open dired.open    
$ Remove Listed Folder dired.removeSubdir    
f Properties dired.properties    
a Projects View dired.projects editorMode == directory  
shift+n Filter by Name dired.filter    
y y Copy Paths dired.copyPath    
y n Copy Names dired.copyName    
y r Copy Relative Paths dired.copyRelativePath    
shift+y Copy Paths dired.copyPath    
ctrl+x removes dired.cutFiles    
ctrl+x ctrl+q Edit Names dired.editNames    
leader f shift+d Move to Trash dired.delete vimCommand && editorMode == directory  
leader f shift+r Rename or Move To dired.move vimCommand && editorMode == directory  
leader f shift+c Copy To dired.copy vimCommand && editorMode == directory  
alt+h Promote Headline org.headline.promote vimCommand && editorMode == org && onHeadline  
alt+h Outdent Item list.outdent vimCommand && editorMode == org && inList && !onHeadline  
alt+h Move Column Left table.moveColumnLeft vimCommand && editorMode == org && inTable  
alt+l Demote Headline org.headline.demote vimCommand && editorMode == org && onHeadline  
alt+l Indent Item list.indent vimCommand && editorMode == org && inList && !onHeadline  
alt+l Move Column Right table.moveColumnRight vimCommand && editorMode == org && inTable  
alt+k Move Subtree Up org.headline.moveSubtreeUp vimCommand && editorMode == org && onHeadline  
alt+k Move Item Up list.moveUp vimCommand && editorMode == org && inList && !onHeadline  
alt+k Move Row Up table.moveRowUp vimCommand && editorMode == org && inTable  
alt+j Move Subtree Down org.headline.moveSubtreeDown vimCommand && editorMode == org && onHeadline  
alt+j Move Item Down list.moveDown vimCommand && editorMode == org && inList && !onHeadline  
alt+j Move Row Down table.moveRowDown vimCommand && editorMode == org && inTable  
alt+shift+h Promote Subtree org.headline.promoteSubtree vimCommand && editorMode == org && onHeadline  
alt+shift+h Outdent Item and Children list.outdentTree vimCommand && editorMode == org && inList && !onHeadline  
alt+shift+h Delete Column table.deleteColumn vimCommand && editorMode == org && inTable  
alt+shift+l Demote Subtree org.headline.demoteSubtree vimCommand && editorMode == org && onHeadline  
alt+shift+l Indent Item and Children list.indentTree vimCommand && editorMode == org && inList && !onHeadline  
alt+shift+l Insert Column table.insertColumn vimCommand && editorMode == org && inTable  
alt+shift+k Delete Row table.killRow vimCommand && editorMode == org && inTable  
alt+shift+j Insert Row table.insertRow vimCommand && editorMode == org && inTable  
enter Act at Cursor org.dwim vimCommand && editorMode == org  
ctrl+enter Insert Item Below org.insertItemBelow vimCommand && editorMode == org  
ctrl+shift+enter Insert Item Above org.insertItemAbove vimCommand && editorMode == org  
ctrl+enter Insert Item Below org.insertItemBelow vimMode == insert && editorMode == org  
ctrl+shift+enter Insert Item Above org.insertItemAbove vimMode == insert && editorMode == org  
ctrl+shift+l Cycle Bullet list.cycleBullet vimCommand && editorMode == org && inList  
ctrl+shift+h Cycle Bullet list.cycleBullet {"previous":true} vimCommand && editorMode == org && inList  
ctrl+shift+l Next TODO Keyword org.todo.next vimCommand && editorMode == org && onHeadline  
ctrl+shift+h Previous TODO Keyword org.todo.previous vimCommand && editorMode == org && onHeadline  
ctrl+shift+k Raise Priority org.priority.up vimCommand && editorMode == org && onHeadline  
ctrl+shift+j Lower Priority org.priority.down vimCommand && editorMode == org && onHeadline  
ctrl+shift+l One Day Later org.timestamp.dayLater vimCommand && editorMode == org && onTimestamp  
ctrl+shift+h One Day Earlier org.timestamp.dayEarlier vimCommand && editorMode == org && onTimestamp  
ctrl+shift+k Increase Date at Cursor org.timestamp.up vimCommand && editorMode == org && onTimestamp  
ctrl+shift+j Decrease Date at Cursor org.timestamp.down vimCommand && editorMode == org && onTimestamp  

3. Emacs keys

docs/keymaps/emacs.json: a user keymap with Emacs Org mode's keys, to copy to keymap.json in the settings directory. An entry whose command starts with - removes that command's binding.

Keys Command When Terminal
ctrl+s removes app.save    
ctrl+c removes edit.copy    
ctrl+x removes edit.cut    
ctrl+c removes dired.copyFiles    
ctrl+x removes dired.cutFiles    
ctrl+v removes dired.paste    
ctrl+a removes dired.markAll    
ctrl+n removes dired.newFile    
space removes dired.togglePreview    
ctrl+x ctrl+q Edit Names dired.editNames    
ctrl+n removes file.new    
ctrl+p removes project.findFile    
ctrl+o removes file.open    
ctrl+w removes file.close    
enter removes edit.enter    
ctrl+/ removes view.toggleSource    
ctrl+y removes edit.redo    
alt+left removes org.headline.promote    
alt+right removes org.headline.demote    
alt+shift+left removes org.headline.promoteSubtree    
alt+shift+right removes org.headline.demoteSubtree    
alt+up removes org.headline.moveSubtreeUp    
alt+down removes org.headline.moveSubtreeDown    
shift+right removes org.todo.next    
shift+left removes org.todo.previous    
shift+up removes org.priority.up    
shift+down removes org.priority.down    
tab removes list.indent    
shift+tab removes list.outdent    
alt+shift+right removes list.indentTree    
alt+shift+left removes list.outdentTree    
alt+up removes list.moveUp    
alt+down removes list.moveDown    
alt+enter removes list.insertItem    
alt+shift+down removes table.insertRow    
alt+shift+up removes table.killRow    
alt+up removes table.moveRowUp    
alt+down removes table.moveRowDown    
alt+shift+right removes table.insertColumn    
alt+shift+left removes table.deleteColumn    
alt+left removes table.moveColumnLeft    
alt+right removes table.moveColumnRight    
tab removes table.nextField    
shift+tab removes table.previousField    
enter removes table.nextRow    
tab removes view.fold    
shift+tab removes view.foldAll    
enter removes edit.newline    
C-x C-s Save app.save    
C-x C-w Save As app.saveAs    
C-x C-c Quit app.quit    
C-x C-f Open File file.open    
C-x C-r Open Recent File file.recent    
C-x k Close Document file.close    
C-x b Switch Document file.switch    
C-x C-b Switch Document file.switch    
C-x <right> Next Document file.next    
C-x <left> Previous Document file.previous    
C-x p p Switch Project project.switch    
C-x p f Find File in Project project.findFile    
C-x p g Search in Project project.search    
C-x p b Switch Document in Project project.switchDocument    
C-x p k Close Project Documents project.closeDocuments    
M-w Copy edit.copy    
C-w Cut edit.cut    
C-y Paste edit.paste    
C-x h Select All edit.selectAll    
C-x 3 Split Right pane.splitRight    
C-x 2 Split Below pane.splitBelow    
C-x o Next Pane pane.next    
C-x 0 Close Pane pane.close    
C-x 1 Only This Pane pane.only    
C-x 4 0 Close Pane and Document pane.closeWithDocument    
C-s Find find.open    
M-% Find and Replace find.replace    
M-x Command Palette view.palette    
C-c C-j Outline view.outline    
TAB Fold or Unfold view.fold    
S-TAB Fold or Unfold All view.foldAll    
RET Line Break edit.newline    
C-j Line Break edit.newline    
RET removes dired.open    
RET Open dired.open    
C-/ Undo edit.undo    
C-_ Undo edit.undo    
C-x u Undo edit.undo    
C-? Redo edit.redo    
C-M-_ Redo edit.redo    
M-<left> Promote Headline org.headline.promote    
M-<right> Demote Headline org.headline.demote    
M-S-<left> Promote Subtree org.headline.promoteSubtree onHeadline  
M-S-<right> Demote Subtree org.headline.demoteSubtree onHeadline  
M-<up> Move Subtree Up org.headline.moveSubtreeUp    
M-<down> Move Subtree Down org.headline.moveSubtreeDown    
C-c C-x C-w Cut Subtree org.headline.cutSubtree    
C-c C-x M-w Copy Subtree org.headline.copySubtree    
C-c C-x C-y Paste Subtree org.headline.pasteSubtree    
C-c ^ Sort Entries org.headline.sort !inTable  
C-c ^ Sort Rows table.sortRows inTable  
C-c C-t Cycle TODO State org.todo.cycle    
S-<right> Next TODO Keyword org.todo.next    
S-<left> Previous TODO Keyword org.todo.previous    
C-S-<right> Next Keyword Set org.todo.nextSet onHeadline  
C-S-<left> Previous Keyword Set org.todo.previousSet onHeadline  
S-<up> Raise Priority org.priority.up    
S-<down> Lower Priority org.priority.down    
C-c , Set Priority org.priority.set    
C-c C-x p Set Property org.property.set    
C-c C-q Set Tags org.tags.set onHeadline  
M-<left> Outdent Item list.outdent    
M-<right> Indent Item list.indent    
M-S-<left> Outdent Item and Children list.outdentTree    
M-S-<right> Indent Item and Children list.indentTree    
M-<up> Move Item Up list.moveUp    
M-<down> Move Item Down list.moveDown    
M-RET Insert Item list.insertItem    
M-S-RET Insert Item list.insertItem {"checkbox":true}    
C-c C-c Toggle Checkbox list.toggleCheckbox inList  
C-c C-x C-b Toggle Checkbox list.toggleCheckbox    
C-c - Cycle Bullet list.cycleBullet    
C-c C-l Insert Link org.insert.link    
C-c C-o Open Link org.link.open    
C-c C-, Insert Block org.insert.block    
C-c . Insert Date org.insert.date    
C-c ! Insert Date org.insert.date {"inactive":true}    
C-x n s Narrow to Subtree view.narrowToSubtree    
C-x n e Narrow to Element view.narrowToElement    
C-x n b Narrow to Block view.narrowToBlock    
C-x n w Widen view.widen    
C-c | Insert Table table.create !inTable  
C-c C-c Align Table table.align    
C-c * Recalculate Table table.recalculate    
C-c = Edit Formula table.setFormula    
TAB Next Field table.nextField    
S-TAB Previous Field table.previousField    
RET Next Row table.nextRow    
M-<up> Move Row Up table.moveRowUp    
M-<down> Move Row Down table.moveRowDown    
M-<left> Move Column Left table.moveColumnLeft    
M-<right> Move Column Right table.moveColumnRight    
M-S-<left> Delete Column table.deleteColumn    
M-S-<right> Insert Column table.insertColumn    
M-S-<up> Delete Row table.killRow    
M-S-<down> Insert Row table.insertRow    
C-c - Insert Horizontal Rule table.insertHline    
C-c ^ Sort File by Columns csv.sortFileBy    
C-c + Sum Column csv.sumColumn    
C-c ? Cell Coordinates csv.cellCoordinates    
C-c } Coordinate Grid csv.toggleCoordinates    
C-c ^ Sort Rows by Column markdown.table.sort