Remap j/k to gj/gk in Overleaf Vim mode editor
// ==UserScript== // @name Overleaf editor: map j to gj and k to gk // @namespace http://tampermonkey.net/ // @version 0.1 // @match https://www.overleaf.com/project/* // @grant none // @description Remap j/k to gj/gk in Overleaf Vim mode editor // ==/UserScript== //Based on code from https://www.overleaf.com/learn/how-to/How_can_I_define_custom_Vim_macros_in_a_vimrc_file_on_Overleaf%3F (function() { 'use strict'; // poll until editor is loaded const retry = setInterval(() => { if (window._debug_editors === undefined) return clearInterval(retry) // get current editor instance const editor = window._debug_editors[window._debug_editors.length -1] // vim keyboard plugin const vimKeyboard = window.ace.require("ace/keyboard/vim") vimKeyboard.Vim.map("j", "gj", "normal") vimKeyboard.Vim.map("k", "gk", "normal") // set the modified keyboard handler for editor editor.setKeyboardHandler(vimKeyboard.handler) console.log("Custom key bindings applied") }, 100) })();