Lepsze GUI dla vima?

15

Lubię korzystać z vima, jego nieskończonych funkcji i sposobu, w jaki robi rzeczy (w przeważającej części). Używam go z przerwami (nie jako mój główny redaktor) od co najmniej 7 lat, więc chociaż daleko mi do bycia ekspertem, ogólnie wiem, jak sobie z tym poradzić.

Teraz, chociaż uwielbiam to w wierszu poleceń, naprawdę chciałbym, aby był to mój główny edytor w GUI Windows i Linux. Ale ... gvim ... jest okropny . Łamie tak wiele „zasad” użyteczności w systemie Windows, że nawet nie warto z nim walczyć. Nawet Cream , ze swoimi zmianami i fantazyjnym .vimrc, nie oszczędza dnia.

Moje pytanie brzmi: czy istnieje nowoczesny graficzny interfejs użytkownika vim dla systemów Windows i Linux, który sprawia, że ​​wygląda i zachowuje się jak większość edytorów GUI? Posiadanie Sublime Text, Kate, TextMate lub GUI Editry z funkcjami vima byłoby niewiarygodne. Zdaję sobie sprawę, wszystkie cztery (jak również wiele innych edytorów) mają wtyczek rodzaj czyni je zachowywać się jak vim, ale nigdzie w pobliżu (przynajmniej dla Editra i Sublime Text, nie wiem dla innych) realnej vim.

Vim jest open source, tak naprawdę nie jestem pewien, dlaczego nie doszło jeszcze do pełnego przeglądu GUI. Czy ludzie nie używają gvim?

imiryczny
źródło
15
Osobiście używam gVima w systemie Windows właśnie dlatego, że działa on tak samo jak konsola / terminal vimw systemach Unix.
grawitacja
1
Przydałoby się znać niektóre szczegóły zasad użyteczności, z którymi gVim jest szczególnie winny.
RedGrittyBrick
2
OK, oto jedno: zaznaczenie tekstu w trybie wizualnym i przewijanie faktycznie modyfikuje zaznaczenie. Rozumiem, że tak się dzieje, ponieważ kursor musi zawsze być widoczny i pomaga w użyciu polecenia „o” w trybie wizualnym, ale jest to tak sprzeczne z intuicją w stosunku do standardowych aplikacji GUI. Widzę, że wiele osób korzysta z gVim tylko dlatego, że zachowuje się jak Vim, ale dlaczego więc po prostu nie używać konsoli Vim? Konfigurowanie środowiska Linux w systemie Windows i / lub używanie dobrego terminala, takiego jak mintty, jest bardzo łatwe.
imiric
2
Zamiast „konfigurować środowisko Linux w Windows”, dlaczego po prostu nie używać gVim? Nie wymaga konfiguracji.
grawitacja
Oto kolejna interesująca dyskusja na temat posiadania nowoczesnego GUI dla Vima: groups.google.com/group/vim_use/browse_thread/thread/…
imiric

Odpowiedzi:

12

vim jest zaprojektowany do wydajnego korzystania z klawiatury, a nie do używania myszy. dlatego uważam twoją skargę dotyczącą złego „gui” za nieco niezręczną. jeśli nie lubisz vima lub nie chcesz się uczyć, jak to się robi w vimie, to dobrze. ale musisz użyć innego edytora, ponieważ vim po prostu nie spełnia twoich wymagań.

więc wątpię, aby pojawiła się jakaś wersja GUI vima, która spełni twoje oczekiwania dotyczące tego, jak powinien wyglądać lub powinien zachowywać się porządny edytor „graficzny”.

akira
źródło
3
lub po prostu nauczysz się 100% vima i będziesz mieć problem z edytorem do końca czasu :)
akira
3
Istnieją / są / powody, aby używać gVim zamiast Vima w samej konsoli. Dwa przykłady: 1) Istnieją kombinacje meta, których Vim nie widzi, z wyjątkiem GUI, ze względu na ograniczenia emulatorów terminali i bibliotek obsługi terminali. 2) Znacznie szersza obsługa kolorów. Pomijając te, myślę, że niesprawiedliwie jest oczekiwać, że Vim nagle zachowa się jak każda inna aplikacja GUI tylko dlatego, że ma GUI. Vim prawdopodobnie zawsze będzie musiał łamać „zasady” użyteczności, inaczej nie będzie to już Vim. Jeśli nie tego chcesz, muszę powtórzyć innym: Znajdź inny edytor.
Heptyt
5
@imric: Kiedy mówię, że „to już nie byłby Vim”, to znaczy, że nie może już być Vimem i „dostosowywać się” w trybie GUI. Vim jest ulepszonym klonem vi i vi dosłownie istniał zanim istniały GUI. Ma bardzo unikalny interfejs użytkownika, i tak, co jest sprzeczne z aktualnymi wytycznymi użyteczności GUI. Aby uzyskać (wszystko), czego chcesz, prosisz o edytor, który naprawdę, naprawdę, nie zachowuje się tak, jak powinien działać vi / Vim. Jedną z zasad, którą Bram Moolenar (twórca i właściciel praw autorskich Vima) ma dla Vima jest, w miarę możliwości, konsola i GUI Vim powinien zachowywać się podobnie.
Heptite
3
@imric: dlaczego w ogóle chcesz używać vima, jeśli nie z powodu jego „aroganckiego i niesprawiedliwego” interfejsu użytkownika? mam na myśli, że to vim ... używasz go, bo robi to tak, jak robi, to samo dla emacsa. jak już powiedziałem: jeśli narzędzie jest w konflikcie z tym, czego chcesz: użyj innego narzędzia.
akira
2
Osobiście mój GVim jest skonfigurowany tak, aby wyglądał dokładnie tak, jak mój Vim, więc nie mam menu, żadnych pasków przewijania, takich samych czcionek / kolorów ... Jedynym powodem, dla którego czasami używam GVim zamiast Vima jest to, że używam myszy i koło, aby swobodnie przeglądać niektóre pliki (na przykład, gdy mam kawę lub piwo). To się nie zdarza często, ale czasami. Nie mogę sobie wyobrazić, dlaczego ktoś chciałby Vima, który nie zachowuje się jak Vim. Lepiej użyć innego edytora, który został zaprojektowany z myślą o GUI.
cedbeu,
7

Zgadzam się z odpowiedziami i komentarzami Akiry.

Jedynym przyjaznym dla konwencji graficznym interfejsem użytkownika dla Vima jest MacVim, który oczywiście jest aplikacją tylko dla komputerów Mac.

Nie jestem pewien, czy jest to „najlepsze z obu światów”, ale najnowsza wersja beta Sublime Text 2 ma bardzo imponujący tryb „vintage”, który obejmuje wiele przydatnych funkcji Vima (ruchy, obiekty tekstowe) i mapuje inne rzeczy ( /lub ?na przykład) do jego natywnych funkcji. Uważam, że jego ogólna konstrukcja jest nieco irytująca, więc nie widzę, że w najbliższym czasie przejdę na niego, ale ponownie, tryb vintage jest imponujący.

romainl
źródło
1
Racja, MacVim wydaje się mieć znacznie lepszy GUI Vima. Ale z tego, co rozumiem, wymagało to sporo pracy, aby wyglądało bezproblemowo w OS X, a gVim to stara potworność sprzed dziesięcioleci, która praktycznie nie otrzymuje żadnych aktualizacji. Wypróbowałem tryb Vim Sublime Text i chociaż implementuje on wiele poleceń ruchu i wstawiania, nadal nie działa.
imiric
W MacOS X dobre i spójne interfejsy mają ogromne znaczenie, podczas gdy nikt nie dba o to w systemach Linux i Windows. Właśnie dlatego miało to znaczenie dla ludzi stojących za MacVimem i przeszli przez wymaganą ciężką pracę. Ale zadanie prawdopodobnie nie było tak skomplikowane ze względu na ustalone wytyczne / tradycje / zastosowania oraz sposób ich egzekwowania za pomocą oficjalnych narzędzi programistycznych. Na tej Linuksa, moje aplikacje mają co najmniej 2 sposoby nazwy menu głównego ( „Plik” lub jakieś słowo odnoszące się do funkcji w aplikacji) i co najmniej 4 skróty „Quit” / „Zamknij okno” ( <C-q>, <S-C-q>, <C-w>, :q...) . Wiem…
romainl
… Z pierwszej ręki jest w dużej mierze taki sam w systemie Windows. Myślę, że ciężko jest wymyślić dopracowane i dobrze zintegrowane doświadczenie w tak brudnym środowisku bez jakiejkolwiek zachęty pieniężnej lub autorytarnego przywództwa. OK, przepraszam za rant, wracam do regularnego harmonogramu.
romainl
2

Możesz uzyskać wtyczkę dla IDE, która daje mu skróty klawiszowe VIM. NA PRZYKŁAD

Oto bardzo fajne IDE dla programistów stron internetowych, w tym git, który ma wbudowany tryb przypisywania klawiszy VIM:

W przeciwnym razie rozwijam się na Macu i jestem wielkim fanem MacVima i zgadzam się, że gVim jest super brzydki na * nix i kulę się, gdy muszę uruchomić vima w powłoce ssh na serwerze.

Jeśli chodzi o edytory VIM, które nie są oddzielnym IDE, inna aplikacja GUI (tylko Mac, przepraszam) to:

Thomas Hunter
źródło
Dziękuję za sugestie, ale postanowiłem trzymać się konsoli Vima dla wszystkich moich rozwijających się potrzeb, zamiast walczyć z gVimem. Mam już cały czas otwartą powłokę, po prostu mam inne okno tmux z uruchomionym Vimem, co sprawia, że ​​przełączanie między edytorem i powłoką jest bardzo szybkie i wygodne. Ponadto w konsoli nie są łamane żadne zasady użyteczności. :-) Zastanawiam się nad przejściem na Maca i dam MacVimowi szansę.
imiric
2

Możesz użyć kodu VisualStudio, który ma kilka wtyczek, które dodają wiele funkcji Vima wraz z wieloma dodatkami. Jest to bardzo dobry edytor, poza tym jest otwarty i darmowy oraz ma smaki Windows, MacO i Linux.

Marco Santana
źródło
1
Jeśli jesteś zagorzałym fanem Vima, prawdopodobnie nie znajdziesz żadnej z wtyczek VS Code Vim.
1

Jeśli używasz technologii dostępu, takiej jak czytnik ekranu, i chcesz mocy vima, możesz wypróbować mój projekt: https://code.google.com/p/phonim/ używa skryptów JAWS i interfejsu OLE gVim. Choć wykonalne, pozostawia wiele do życzenia, ale nawet ten ograniczony dostęp do mocy vima jest wart zachodu.

Aby poprawić sytuację gVim, wszystko, co jest wymagane, to osoba z odpowiednią wiedzą, jak wyposażyć backend vima w nowoczesny interfejs użytkownika z komponentem edytora, który ma odpowiednią obsługę UIAutomation i MSAA.

Kerneels Roos
źródło
Nie ma problemu, edytowałem. Tak, trochę rant, ale widzisz, uwielbiam vima i naprawdę chciałbym, aby więcej ludzi z niego skorzystało :-).
Kerneels Roos,
1

Vim jest przeznaczony do użycia bez GUI. Ale jeśli martwisz się o pasek menu i pasek narzędzi w gvim, który wygląda nie na miejscu. Możesz to wyłączyć, po prostu wstaw

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

do twojego vimrc, wtedy zniknie. na bonus, jeśli używasz okien mniejszych niż 10, twój gvim zmienił rozmiar lepiej (niż domyślny Windows cmd) i ma lepszą obsługę schematów kolorów i wygląda dobrze.

użytkownik93
źródło
1

Być może szukasz czegoś takiego jak Oni . Nie korzystałem z niego osobiście, ale jest oparty na neovimie , więc nie powinieneś mieć na wpół upieczonego zestawu funkcji.

vimist
źródło