Configure a list of shortcuts for Vim-mode + :commands for toggling panes on Overleaf
Notes for those without access to the Source (legacy) editor: In February 2023, Overleaf starts to discontinue the legacy editor. This userscript won't work with the new Code Mirror editor anymore. Use this new script instead: https://greasyfork.org/en/scripts/461062-overleaf-editor-custom-vim-keybindings-code-mirror-v6
Notes on making use of this script: In June 2022, Overleaf started updating its editor interface. This script is compatible with the "Source (legacy)" editing mode for now.
Full Credits to Harutyun Amirjanyan for the jump-to-PDF script, as found on the Ace forum, in this post.
List of mappings defined here:
imap jj <esc>
and imap jk <esc>
nmap j gj
and nmap k gk
(so far, we cannot mapt g0
in Ace editor.)\lv
and ;lv
are triggering the following button
,v
to toggle the file-tree on the left.,o
to enter editor-only mode: it hides the file panel and the PDF preview pane. (Caveat: if file-tree is hidden and PDF view is alive, this shortcut will show the file-tree and hide PDF.):o
in Commandline, to hide box below the editor pane, introduced by the "Omega" icon to the right of "Source | Rich Text".:pdf
in Commandline, to toggle the PDF pane on the right. Alias include: :PDF
, :ShowPDF
, :ClosePDF
, :OpenPDF
.:cc
in Commandline, to toggle the Comment panel. Alias include: :CC
, :CloseComment
. :home
in Commandline, to get back to the "All Projects" view.:log
in Commandline, to toggle the "CompileLog"]
and [
to jump to the next/previous spell-checking suggestion.
1
, 2
, 3
to select over the options offered. It doesn't matter how the suggestion card is brought up. As long as it is visible, one can select over the candidates using 1, 2, 3.Visually, a vertical divider is drawn at the 80th column. All lines with more than 80 cols are wrapped at 80th column.
Note, this script unmaps ctrl+l
, leaving it available for the browser.
It should be plug-and-play, and include settings of the following sort.
nmap
and vmap
;unmap
certain special keys. (For now, ;
and ,
are specially reserved for unknown purposes.)command! Short LongCommand
, where :Short
can be callable. And, in TamperMonkey, the LongCommand
needs to be specified through JavaScript.:pdf
command and the <leader>o
mapping.)