2013-03-18 16 views
10

Próbuję włączyć obsługę klawisza Ace dla mojego ukochanego Vima w githubowych gistach. Wydaje się, że będzie to łatwa rzecz do zrobienia, ale walczę do:Włączanie trybu Vima w edytorze Gist Ace

  1. Znajdź obiekt, który istota redaktor ace jest dołączony do (domyślnie ace editor nie jest zdefiniowana)
  2. Ustaw go do używać VIM, poprzez gitHub jest gospodarzem Vima oprawa: https://gist.github.com/assets/ace/keybinding/vim-b9f3b98dd13151f9b4c7279d8259b69e.js

znalazłem następujący fragment na Ace Google Grupa:

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

Ale to nie działa (nawet jeśli zastępuję adres URL github), więc zakładam, że dotyczy to IDE Cloud9, a nie selfhosted/custom Ace.

+0

+1 ... Szukam również tego. – jdar

+0

Masz pomoc od grupy Ace google. Możesz wypróbować poniższy kod, aby sprawdzić, czy działa on dla Ciebie. –

Odpowiedz

9

I posted na Grupa ACE Google (+ rep do Harutyun) i otrzymała odpowiedź z następującego kodu:

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); 
}) 

który działa jak czar (Należy pamiętać, że wersja asa że zastosowania GitHub może zmiana, która może to złamać).

Za każdym razem wchodzimy do konsoli, więc mam zamiar dodać ją do skryptu smarowatego (wtyczka chrome może być fajna! - zobacz).

Aktualizacja


Pisałem małą Chrome Extension który umożliwia powiązania Vima na większości stron Ace.js i CodeMirror. Problemy i składki witamy na github repo

+0

dzięki nicku! na dole to działa dla mnie ... ale NB to nie działa poprawnie na github.com. – jdar

23

W najnowszej wersji ACE (v1.1.1), vim i emacs Wiązania pochodzą zbudowany w następujące prace:.

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

+1 dzięki za aktualizację. Gists nadal używa starej wersji Ace (stan na grudzień 2013), ale działa świetnie na stronach korzystających z nowszej wersji. –

+1

UWAGA: To działa, ale Ace obsługuje teraz wiele edytorów na stronie, dlatego nie znajdziesz obiektu globalnego dla pojedynczego 'edytora' Wykonaj:' editors [0] .setKeyboardHandler ("as/keyboard/vim"); ' – pixelpax

+0

Wygląda na to, że w celu przywrócenia trybu domyślnego działa to:' editor.setKeyboardHandler (""); ' –

1

nie byłem w stanie uzyskać inne dwa rozwiązania do pracy. (Rozszerzenie Chrome dla Nicka nadal działa doskonale dla mnie).

Kolejnym rozwiązaniem jest przejście do trybu vim w menu ustawień.

Aby uzyskać dostęp do menu ustawień, upewnij się, że edytor ACE jest aktywny i wciśnij ctrl + , (Control i przecinek).

Spowoduje to otwarcie menu po prawej stronie ekranu. Znajdź menu rozwijane "Keyboard Handler" i wybierz opcję vim. Wciśnij escape lub kliknij gdzieś poza menu ustawień, aby je zamknąć.

Tryb powinien być teraz włączony.

Powiązane problemy