Konfiguruję zwirtualizowane urządzenia Linux (jako lokalne serwery programistyczne) dla programistów w firmie opartej głównie na systemie Windows, a niektórzy programiści robią negatywne pęknięcia na temat vima (między innymi). (Wydaje się, że reprezentują one w jakiś sposób Linuksa / Unixa i dowodzą, że środowisko jest wyjątkowo trudne w użyciu). Pamiętam, kiedy po raz pierwszy zostałem zmuszony do użycia vima (sysadmins odmówił zainstalowania emacsa!) I trudna inicjał krzywa uczenia się, więc jestem trochę sympatyczny. Przyszło mi do głowy, że zamiast przedstawiać je nano
(których prawdopodobnie nigdy by nie przeszli), możliwe jest skonfigurowanie w vim menu podobnych do nano, aby ułatwić przejście. (Znalazłem bardzo przyjazny dla początkujących plik .vimrc, który im daje, ale nie ma nic takiego jak menu w stylu nano.)
Jedyny problem to jedyna rzecz, jaką udało mi się znaleźć, która twierdzi, że konfiguracja menu w vimie (nie gvimie) nie działała, a moje próby rozwiązania problemu pozostawiły mi jeszcze jeden problem do rozwiązania. Zanim zmarnuję dużo czasu, chciałbym wiedzieć, czy jest to w rzeczywistości możliwe, ponieważ wydaje się, że niewiele jest informacji na temat tego, jak to zrobić.
:h console-menus
.Odpowiedzi:
Tak to mozliwe. Możesz załadować
menu.vim
(domyślne definicje menu gvim) lub możesz po prostu zacząć od zera i stworzyć własne, a następnie uzyskać do nich dostęp:emenu
. Nie daje to jednak nano-podobnych, zawsze widocznych menu; daje ci możliwość poruszania się po menu za pomocą uzupełniania kart wiersza poleceń.Jeśli użytkownik nie ma vimrc, zacznij od wyłączenia kompatybilności vi:
Włącz inteligentną zakończenie wiersza poleceń na
<Tab>
(umożliwiają wystawianie wszystkich możliwych wyborów, a nawigowanie wyników z<Up>
,<Down>
,<Left>
,<Right>
, i<Enter>
):Powtarzaj cykliczne prasy pomiędzy wszystkimi pasującymi opcjami:
Załaduj domyślne menu (dzieje się to automatycznie w gvim, ale nie w terminalu vim):
Po tych czterech poleceniach można ręcznie uruchomić uzupełnianie menu, wywołując uzupełnianie tabulacji w
:emenu
poleceniu, wykonując polecenie:emenu<space><tab>
Możesz poruszać się po wynikach za pomocą klawisza Tab i klawiszy strzałek oraz klawisza Enter (zarówno rozwija podmenu, jak i wybiera elementy). Możesz to uczynić wygodniejszym, idąc krok dalej i wiążąc mapowanie, aby wyświetlić menu bez konieczności pisania za
:emenu
każdym razem:Uczyń Ctrl-Z działaniem mapowania, takim jak
<Tab>
interaktywne naciśnięcie w wierszu poleceń:I utwórz powiązanie, które automatycznie wywoła
:emenu
dla Ciebie zakończenie:źródło
Sam miałem problem, że nie pamiętam wszystkich poleceń i kombinacji klawiszy dla wtyczek, których używam. Ponadto chciałem mieć proste sposoby szybkiego wykonywania poleceń bez konieczności ustawiania nowych mapowań klawiszy lub wymyślania poleceń, aby uzyskać do nich dostęp.
Vim-Venu
Napisałem małą wtyczkę menu vima, która pozwala zdefiniować menu dla każdego rodzaju pliku, który możesz edytować za pomocą vima. W ten sposób możesz zdefiniować opcję menu „Kompiluj” dla różnych rodzajów plików i zainicjować prawidłowe instrukcje w celu skompilowania kodu w zależności od edytowanego pliku (.py, .c, .c ++, ...). Lub utwórz podmenu dla poleceń wtyczki „Tabela” w pliku przeceny.
Sprawdź to tutaj: https://github.com/Timoses/vim-venu
Na marginesie: Myślę, że każdy powinien wybrać swój ulubiony edytor tekstu. Vim ma małą barierę (którą warto się nauczyć!). Jeśli ktoś nie chce się uczyć, vim nie będzie dla niego zbyt przydatny.
źródło