Jestem użytkownikiem systemu Windows, który przychodzi na Bash Ubuntu dzięki WSL . Teraz muszę edytować niektóre pliki i naprawdę nienawidzę Vi. Czy muszę sobie z tym poradzić, czy jest prostsza alternatywa?
Funkcje, których szukam to:
- Oparty na CLI
- łatwy w użyciu (pisanie i edycja powinna być podobna do Notatnika)
- wystarczą proste możliwości edycji
Spróbuję opanować Vima, ale muszę teraz dokonać szybkiej edycji!
Odpowiedzi:
Jeśli szukasz alternatywnego edytora, nie jesteś sam. Zasadniczo życie jest zbyt krótkie, aby się uczyć
vi
i mówię, że jest to twórca oprogramowania na życie. Jednak ty powinni nauczyć się go zamknąć, ponieważ jest to problem dla jeden na 20k programistów . Warto również nauczyć się wykonywania podstawowych operacji dołączania / wstawiania, ponieważ na niektórych upartych serwerach nie ma innego edytora.Teraz odpowiedź na twoje pytanie jest prawdopodobnie
nano
.Jeśli uruchamiasz jakiś automatyczny skrypt kompilacji, używasz
git
lub uruchamiasz inne polecenia, mogą się one otworzyćvim
bez Twojej zgody. Można temu zapobiec, uruchamiając następujące czynności przed kontynuowaniem:źródło
EDITOR
wskazówkęTo kwestia opinii.
Początkujący używają nano .
vim („vi ulepszony”) ma trochę krzywej uczenia się, ale jest bardzo potężny. Zobacz przewodnik dla początkujących, aby zapoznać się z vimem lub innymi przewodnikami vima lub samouczkiem vima
vimtutor
(zawartym w vimie).Na razie bardzo polecam nano
-B tworzy kopię zapasową
Polecenia są wydawane z klawiszem sterującym i są wymienione na dole okna edytora.
Istnieje przewodnik dotyczący podświetlania składni, patrz: Jak włączyć wyróżnianie składni w nano?
emacs
Jest to alternatywny zarównovim
anano
i ma także wiele zalet.emacs
jest bardziej złożony niż nano. Możesz zobaczyć trasę Emaca .Dla kompletności motywy vim + takie jak Zenburn mogą być bardzo pomocne
źródło
vi/vim
. :) Jest na każdym urządzeniu nix. :) Podstawy nie są takie trudne.jako użytkownik systemu Windows, po wypróbowaniu
vim
inano
dowiedziałem się, że potrzebuję czegoś pośredniego, jeśli chodzi o złożoność. więc spróbowałem uderzyć i to było to , czego szukałem.instalacja:
źródło
Chociaż opowiadamy się za naszymi ulubionymi lekkimi edytorami tekstu, pozwól mi polecić eXcellent, mały i szybki
xo
(exofrills) .Jest to pojedynczy plik Python 3 i ma dobrą obsługę wyróżniania składni za pomocą Pygments (chociaż nie jest idealny w przypadku języka innego niż Python):
Ma również niezwykle proste i użyteczne kombinacje klawiszy, które można łatwo i łatwo zmienić na treść twojego serca:
Inne funkcje:
Źródło Python3 znajduje się na github i możesz go łatwiej zainstalować, używając:
Oświadczenie: Nie jestem w żaden sposób związany z projektem exofrills.
źródło
Chociaż nie mogę zaprzeczyć, że ja też na początku miałem problemy z vi, myślę, że można postawić argument, że vi jest bardzo łatwy do nauczenia. (Kiedy zacząłem używać Uniksa, wybór padał na vi lub emacs, więc w tamtym czasie wybrałem ed, ed był bardzo prostym edytorem liniowym, którego nauczyłem się już podczas czytania wczesnych podręczników Uniksa.) Używam vi codziennie, ale prawdopodobnie używaj tylko bardzo małego podzbioru jego funkcji.
Oto pierwszy argument przemawiający za użyciem vi: vi istnieje na wszystkich systemach, zużywa bardzo mało zasobów i może być użyteczny przy niestabilnych i wolnych połączeniach, gdzie inne edytory mogą zawieść lub mogą być wolne i nieużyteczne. Lub w sytuacjach, w których system jest zepsuty, więc klawisze strzałek nie są interpretowane poprawnie (na przykład złe ustawienia terminfo). Więc vi można użyć do naprawy plików konfiguracyjnych prowadzących do problemu, bez wpływu na problem.
A oto jak nauczyć się przydatnego podzbioru vi: Po pierwsze: przestań myśleć o vi jako interaktywnym „edytorze” GUI terminala i postrzegaj go jako język programowania do manipulowania plikami tekstowymi. Na początku „vi” oznaczało tryb VIsual, a vi ma niewidzialny odpowiednik ex, który jest dobrym miejscem do rozpoczęcia. Wpisz ex w wierszu poleceń powłoki (użyję ¬ do przedstawienia return):
Teraz naciśnij enter.
Więc włóżmy w to coś. Wpisz „a¬” i wpisz wiersz tekstu, a następnie kropkę w wierszu:
To było polecenie dołączania. Łatwy, krótki i mnemoniczny. Ale fajnie byłoby zobaczyć, co znajduje się w buforze:
To było oczywiście polecenie drukowania, p, oczywiście. % Jest skrótem zakresu linii. Każde polecenie może być poprzedzone numerem linii lub zakresem, do którego polecenie powinno się stosować. % oznacza „wszystkie linie”. $ oznacza ostatnią linię, a kropka oznacza bieżącą linię. Liczba oznacza tę konkretną linię. Zakres jest zapisywany n, m, a liczba może być dodana lub odjęta, więc. + 1, $ - 1 średnia od następnego wiersza do drugiego przedostatniego wiersza. Polecenie składające się tylko z numeru linii przechodzi do tej linii. Oto pozostały mały podzbiór poleceń, których używam:
w zapisuje wszystkie (lub wybrany zakres) wierszy do pliku.
usuwa wiersz 1.
s zastępuje wyrażenie regularne. Dobrze jest znać wyrażenia regularne!
q wychodzi. wq pisze i wychodzi. q! odchodzi bez pisania iw podobnym tonie, w! wymusza zapis do pliku, jeśli to możliwe.
Teraz fajny:
! jako polecenie filtruje wiersze do polecenia powłoki.
I w końcu:
wchodzi w tryb VISUAL. Nie daj się zwieść. Wygląda jak edytor, ale nadal jest tylko interaktywną powłoką programistyczną. Wystarczy spojrzeć cały czas na bufor i jeszcze kilka poleceń. W trybie wizualnym a: wyświetla monit: z trybu ex. Klawisze strzałek (jeśli działają) poruszają się, a jeśli nie, to hjkl! h w lewo, j w dół, k w górę, a ja w prawo. 0 przesuwa się do pierwszego znaku, a ^ (pomyśl regex tutaj!) Do pierwszego niebędącego spacją znaku w linii. $ (regex ponownie!) przesuwa się na koniec linii. Wpisanie: 999¬ przechodzi oczywiście do wiersza 999, podobnie jak w trybie ex.
„i” wchodzi w tryb wstawiania, który teraz wstawia znaki zamiast wierszy i kończy się naciśnięciem klawisza Escape zamiast „.¬”. „I” wstawia na początku, „a” po znaku pod kursorem, a „A” po końcu bieżącego wiersza. Zawsze wpisuj tekst, naciskając klawisz Escape. „x” usuwa znak pod kursorem, a „D” usuwa kursor z końca linii. „Y” pociąga (kopiuje) bieżący wiersz, a „P” wkleja go z powrotem. „: pu” robi to samo, ale może być poprzedzone numerem linii. „: ya” jest ekwiwalentem „Y” i ponownie, przydatne do zastosowania do zakresu linii. Wydaje mi się, że istnieje również polecenie mark, ale przyznam, że go nie pamiętam. Nie tęsknię za tym.
Powyższe jest tym, czego używam i wiem, że prawdopodobnie nie jestem bardzo „wydajnym” użytkownikiem vi. Z drugiej strony używam wszechstronności ex, na przykład do edytowania skryptów plików konfiguracyjnych. Chcesz zmienić nazwę hosta foo.bar.com na www.foobar.com w wielu plikach conf?
Próbuję powiedzieć, że myślę, że problem z vi polega na tym, że ludzie myślą o tym jako o trudnym edytorze. Wystarczy trochę zmienić sposób myślenia i postrzegać go jako bardzo prosty, ale również bardzo wydajny interaktywny język programowania. Jest tak potężny, że nawet przy podzbiorze dostępnych poleceń możesz go używać z wielkim efektem - nie tylko jako edytora, ale jako ogólnego, skryptowalnego narzędzia dobrze zintegrowanego z resztą Uniksa. Wątpię, by nano zrobił to wszystko - emacs ... może.
źródło
Jeśli potrzebujesz edytora tekstowego Sublime, takiego jak terminal z obsługą myszy, wybierz Micro , Slap lub Suplemon .
Jeśli jednak szukasz modalnego edytora tekstu, nie szukaj dalej niż Kakoune .
źródło