2013-03-18 17 views
10

私の最愛のVim on the github gistsのために、AceのkeyBoardハンドラを有効にしようとしています。行うには簡単なことだろうようにこれはそうですが、私はに苦しんでいます:gistエースエディタでVimモードを有効にしてください

  1. 要旨エースエディタは
  2. (エースデフォルトeditorが定義されていない)に接続されていることを、オブジェクトがそれを設定して下さい

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

    :私はエースGoogleグループに次のコードを見つけhttps://gist.github.com/assets/ace/keybinding/vim-b9f3b98dd13151f9b4c7279d8259b69e.js

を:結合githubののホストされているのVimを経て、VIMを使用

しかし、それはうまくいきません(私がgithubのURLを置き換えたとしても)私はCloud9 IDEに適用され、セルフホスト/カスタムAceには当てはまらないと仮定しています。

IエースGoogleグループ(Harutyunに+ REP)の postedと次のコードで応答受信
+0

+1 ...私はこれも探しています。 – jdar

+0

エースのGoogleグループから助力を得ました。以下のコードを試してみてください。 –

答えて

9

:魔法のように動作

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のは、5月を使用していますエースのバージョンことに注意してください。変更すると、これを破る可能性があります)。

これは毎回コンソールに入力するのが苦痛なので、私はgreasemonkeyスクリプトに追加する予定です(クロムプラグインがうまくいくかもしれません - よく見る)。

更新


私はほとんどのサイトAce.jsとCodeMirrorにVimのバインディングを可能に小さなChrome Extensionを書きました。問題と貢献エースの最新バージョン(1.1.1)ではgithub repo

+0

おかげでニック!これは私のために働く...しかし、それはgithub.comで失敗する。 – jdar

23

で歓迎し、VIMとのemacsバインディングが組み込ま来る次のような作品:。

editor.setKeyboardHandler("ace/keyboard/vim"); 
+1

+1更新ありがとうございます。依頼者はまだAceの古いバージョン(2013年12月現在)を使用していますが、新しいバージョンを使用しているサイトでは効果的です。 –

+1

注:これは動作しますが、Aceはページ内で複数のエディタをサポートするようになりました。したがって、単一のエディタのグローバルオブジェクトは見つかりません Do: 'editors [0] .setKeyboardHandler(" ace/keyboard/vim " ); ' – pixelpax

+0

デフォルトモードに戻すには、次のように動作します:' editor.setKeyboardHandler( ""); ' –

1

私が取得することができませんでした他の2つのソリューションが動作します。 (NickのChrome拡張機能はまだ完璧に機能しています)

もう1つの解決方法は、設定メニューのvimモードに変更することです。

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

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

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

関連する問題