Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Emacs keybindings for monaco-editor

License

NotificationsYou must be signed in to change notification settings

LeetCode-OpenSource/monaco-emacs

 
 

Repository files navigation

npm version

Emacs key bindings for monaco-editor.Demo.

Installation

npm install monaco-emacs

Usage

Webpack/Browserify

import*asmonacofrom'monaco-editor';import{EmacsExtension}from'monaco-emacs';

Browser

  • Add this script in your html -https://unpkg.com/monaco-emacs/dist/monaco-emacs.js.
  • The extension will be available asMonacoEmacs onwindow
constmonaco=window.monaco;const{ EmacsExtension}=window.MonacoEmacs;

Code

consteditorNode=document.getElementById('editor');conststatusNode=document.getElementById('statusbar');consteditor=monaco.editor.create(editor);constemacsMode=newEmacsExtension(editor);emacsMode.onDidMarkChange((ev:boolean)=>{statusNode.textContent=ev ?'Mark Set!' :'Mark Unset';});emacsMode.onDidChangeKey((str)=>{statusNode.textContent=str;});emacsMode.start();// If you want to remove the attached bindings, callemacsMode.dispose();

Unregister default keys

import{unregisterKey}from'monaco-emacs';unregisterKey('Tab');

Get all available mappings

import{getAllMappings}from'monaco-emacs';console.log(getAllMappings());

AMD

If you are following the official guide and integrating the AMD version ofmonaco-editor, you can follow this -

<!DOCTYPE html><html><head><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"></head><body><divid="container"style="width:800px;height:600px;border:1px solid grey"></div><divid="status"></div><scriptsrc="https://unpkg.com/monaco-editor/min/vs/loader.js"></script><script>require.config({paths:{'vs':'https://unpkg.com/monaco-editor/min/vs','monaco-emacs':'https://unpkg.com/monaco-emacs/dist/monaco-emacs',}});require(['vs/editor/editor.main','monaco-emacs'],function(a,MonacoEmacs){vareditor=monaco.editor.create(document.getElementById('container'),{value:['function x() {','\tconsole.log("Hello world!");','}'].join('\n'),language:'javascript'});varstatusNode=document.getElementById('status');varemacsMode=newMonacoEmacs.EmacsExtension(editor);emacsMode.onDidMarkChange(function(ev){statusNode.textContent=ev ?'Mark Set!' :'Mark Unset';});emacsMode.onDidChangeKey(function(str){statusNode.textContent=str;});emacsMode.start();// remove emacs mode by calling// emacsMode.dispose();});</script></body></html>

Pleasereport any inconsistencies or missing key bindings.

About

Emacs keybindings for monaco-editor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript94.8%
  • JavaScript4.3%
  • HTML0.9%

[8]ページ先頭

©2009-2025 Movatter.jp