replit / codemirror-vscode-keymap

VSCode keyboard shortcuts for CodeMirror 6

Home Page:https://replit.com/@util/CodeMirror-VSCode-Keymap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CodeMirror VSCode Keymap

Run on Replit badge NPM version badge

Ports VSCode's keyboard shortcuts to CodeMirror 6.

This keymap includes shortcuts for all the official extension and replaces codemirror default keymaps:

  • autocomplete (make sure to set defaultKeymap: false when enabling this plugin)
  • closebrackets
  • commands
  • comment
  • fold
  • history
  • lint
  • search

The keymap is based on the following:

Usage

import { EditorView, keymap } from '@codemirror/view';
import { EditorState } from '@codemirror/state';
import { javascript } from '@codemirror/lang-javascript';
import { vscodeKeymap } from "@replit/codemirror-vscode-keymap";

const doc = `
function wow() {
  function hello() {
    console.log({
      lol: 1
    })
  }
}
`

new EditorView({
  state: EditorState.create({
    doc,
    extensions: [keymap.of(vscodeKeymap), javascript()],
  }),
  parent: document.querySelector('#editor'),
});

Missing features

  • Scroll Line Down Ctrl+Down
  • Scroll Line Up Ctrl+Up
  • Scroll Page Down Alt+PageDown
  • Scroll Page Up Alt+PageUp

About

VSCode keyboard shortcuts for CodeMirror 6

https://replit.com/@util/CodeMirror-VSCode-Keymap


Languages

Language:TypeScript 95.1%Language:HTML 2.8%Language:Nix 1.2%Language:JavaScript 0.9%