12

githubの要点で愛するVimのAceのkeyBoardハンドラーを有効にしようとしています。これは簡単なことのように思えますが、私は次のことに苦労しています。

  1. 要旨エースエディタが接続されているオブジェクトを検索します(エースのデフォルトeditorは定義されていません)
  2. githubのホストされたVimバインディングを介して、VIMを使用するように設定します。https://gist.github.com/assets/ace/keybinding/vim-b9f3b98dd13151f9b4c7279d8259b69e.js

AceGoogleGroupで次のスニペットを見つけました。

env.editor.setKeyboardHandler(require("ace/keyboard/keybinding/vim").Vim)

しかし、それは機能しません(github urlを置き換えても)ので、それはCloud9 IDEに適用され、セルフホスト/カスタムAceには適用されないと思います。

4

4 に答える 4

25

最新バージョンのace(v1.1.1)には、vimおよびemacsバインディングが組み込まれています。次の機能があります。

editor.setKeyboardHandler("ace/keyboard/vim");
于 2013-11-27T01:29:46.993 に答える
10

私はエースのグーグルグループ(+ハルトゥンへの担当者)に 投稿し、次のコードで返信を受け取りました:

ace.require("ace/lib/net").loadScript("https://rawgithub.com/ajaxorg/ace-builds/master/src-min-noconflict/keybinding-vim.js", 
function() { 
    e = document.querySelector(".ace_editor.ace-github").env.editor; 
    e.setKeyboardHandler(ace.require("ace/keyboard/vim").handler); 
}) 

これは魅力のように機能します(githubが使用するaceのバージョンが変更される可能性があり、これが破損する可能性があることに注意してください)。

これを毎回コンソールに入力するのは面倒なので、greasemonkeyスクリプトに追加する予定です(chromeプラグインがいいかもしれません!-よく見てください)。

アップデート


ほとんどのサイトAce.jsとCodeMirrorでVimバインディングを有効にする小さなChrome拡張機能を作成しました。githubリポジトリで問題と貢献を歓迎します

于 2013-04-18T21:45:35.450 に答える
1

他の2つのソリューションを機能させることができませんでした。(ただし、ニックのChrome拡張機能は私にとっては完全に機能します。)

vim別の解決策は、設定メニューでモードに変更することです。

設定メニューにアクセスするには、ACEエディタにフォーカスがあることを確認し、ctrl+ ,(コントロールとカンマ)を押します。

これにより、画面の右側にメニューが開きます。[キーボードハンドラー]ドロップダウンを見つけて、を選択しますvim。設定メニューのどこかを押すescapeかクリックして閉じます。

vimこれでモードがアクティブになります。

于 2015-05-28T18:45:04.747 に答える
0

テーマやキーバインディングなどにアクセスするには、react-aceと一緒にace-buildsをインストールする必要があります

npm install react-ace ace-builds

反応では、次の行を追加する必要があります。

import "ace-builds/src-noconflict/keybinding-vim"
<AceEditor
  ...
  keyboardHandler='vim'
  ...
/>
于 2020-10-30T08:56:02.357 に答える