Czy istnieje metoda na otwieranie obszarów tekstowych Google Chrome w vimie?

18

Korzystałem z Firefoksa na co dzień, ale przestawiłem się na Google Chrome i używam go od ponad 2 lat. Jedyna wtyczka, za którą tęsknię, to ta, to cały tekst! . Ta wtyczka pozwoliła na otwarcie obszaru tekstowego w osobnym oknie vimlub gvimoknie, w którym mogłem dokonać edycji, a następnie zapisać zawartość po zakończeniu z powrotem do przeglądarki Firefox.

Zamykam rzecz, którą znalazłem, to ta wtyczka to TextAid , ale uważam, że to trochę kludge, ponieważ wymaga oddzielnego serwera WWW, aby utrzymać.

Naprawdę wolałbym nie używać TextAid, czy ktoś zna jakieś alternatywne metody osiągnięcia tego celu za pomocą Chrome?

slm
źródło
Czy nie byłoby to bardziej odpowiednie dla administratora?
Patrick,
@Patrick - prawdopodobnie, ale uruchamiam to całkowicie w systemie Linux i chciałem, aby Linux był nachylony, a nie Windows. Wiem też, że Jasonwryan używa vimprobable i chciałem uzyskać informację zwrotną na temat możliwych alternatyw od innych użytkowników tego serwisu. Jeśli inni zgodzą się, że to nie jest temat, chętnie przeniosę je do SU, ale często odwiedzam tę stronę, więc nie byłem tak zainteresowany ich przyjęciem w tym momencie.
slm

Odpowiedzi:

6

Istnieje chromowane rozszerzenie o nazwie Surfingkeys , które zawiera edytor vim ACE (edytor vim zaimplementowany z Javascriptem).

Dzięki rozszerzeniu możesz nacisnąć, Ctrl-iaby wywołać edytor vim, gdy jesteś w elemencie inputlub textarea. Następnie możesz edytować tekst za pomocą edytora vim i :wqpisać tekst w edytorze vim z powrotem do elementu na stronie.

Możesz także użyć edytora vim, aby wybrać opcję dla selectelementu, co jest przydatne, gdy w selectelemencie jest mnóstwo opcji .

Więcej informacji można znaleźć - edytor vim z ACE . edytuj element wejściowy

edytuj wybierz element

strumyk hong
źródło
Oprócz tej funkcji, klawisze surfowania dodają mnóstwo funkcji do chrome, nie wspominając już o tym, że możesz dodać dodatkowe funkcje za pomocą javascript
Ricardo Pietrobon
5

Wasavi otwiera obszary tekstowe w edytorze podobnym do vi, który można konfigurować za pomocą rcpliku.

Filmy i linki do pobrania na stronie GitHub . Obsługiwane są Chrome, Opera i Firefox.

Oto przykład mojego edytowania tej odpowiedzi:

wprowadź opis zdjęcia tutaj

Tom Hale
źródło
2

Ogólnie rzecz biorąc, musisz mieć backend. Chociaż nie musi to być serwer WWW. Jeśli nie masz ochoty na lokalny skrypt uruchamiany za każdym razem, gdy otworzysz edycję lub masz uruchomioną usługę (choć byłoby to bliskie omawianemu problemowi), możesz to zrobić za pomocą interfejsu API do komunikacji z lokalnymi skryptami za pośrednictwem potoków.

Krótko mówiąc, działa to przy użyciu Ajax w przeglądarce. Rozszerzenie może wywołać skrypt lokalny, który z kolei otwiera żądany edytor i podtrzymuje komunikację. Lokalny skrypt drukuje dane, stdouta rozszerzenie otrzymuje to, co jest wypychane.

Innym wyborem jest użycie pamięci lokalnej, ale nie znalazłem sposobu, aby dobrze połączyć ją z faktycznym uruchamianiem aplikacji lokalnych.

Mam projekt na lodzie, używając Pythona jako backendu, a przede wszystkim Vima jako edytora, ale przetestowałem go również z Emacsem i Geditem. Miałem działającą wersję, ale zniekształciłem ją i od jakiegoś czasu nie oglądałem.

Nie jest to odpowiedź sama w sobie, ale dodała ją jako notatkę. Mogę pracować nad wtyczką i wrócić do niej;), ale jeśli lokalny skrypt nie uruchamia się, obawiam się, że nie pomoże to zbytnio w twoim żądaniu.

Runium
źródło
Byłbym zainteresowany, dokąd to poszło, jeśli zdecydujesz się coś zrobić. Proszę, trzymaj mnie w pętli, byłbym również zainteresowany, jeśli chciałbyś mieć dodatkowy zestaw rąk.
slm