home
I end
klucze na MacBook Pro mogą być emulowane z fn + strzałka w lewo lub Fn + strzałka w prawo. Lub po zmianie niektórych ustawień za pomocą klawisza Command (Apple) zamiast fn.
Żadne z tych nie działa w terminalu.
Ponieważ często muszę przejść do początku lub końca linii i chciałbym również przeskakiwać do przodu lub do tyłu słowem.
Jak mogę skakać po linii w terminalu?
Aby odpowiedzieć na pytanie, jak uzyskać początek lub koniec wiersza, wydaje się, że domyślnie Terminal mapuje na niego następujące klucze:
Jeśli chcesz, aby dom i koniec działały w „normalny” sposób (i nie wymagają zmiany), przejdź do [Menu terminala] → Preferencje → zakładka Profile (lub ustawienia w niektórych wersjach OS X) → zakładka Klawiatura.
Następnie zmodyfikuj / dodaj te klucze, aby były następujące „wyślij ciąg do powłoki”
\033[H
\033[F
Możesz uzyskać tę
\033
część, naciskając klawisz Escape w oknie dialogowym edycji, jeśli chcesz ją dodać.Wtedy dom i koniec znów będą działać normalnie (uff).
Zauważ też, że „alt + ←” i „alt + →” domyślnie w mapie terminali na słowo w lewo i słowo w prawo, kolejna przydatna kombinacja do zapamiętania.
W nowszych wersjach systemu Mac OS X, jeśli ekran terminala przesuwa się w górę lub w dół po naciśnięciu klawisza home / end, może być konieczne ustawienie klawisza home
\033[1~
i end,\033[4~
aby uzyskać pożądane wyniki (bez potrzeby zmiany) .Zmodyfikuj tę odpowiedź, aby dodać bardziej przydatne powiązania klawiszy, ponieważ jest to wiki społeczności.
źródło
Wygląda na to, że szukasz pomocy przy użyciu readline i bash, oto szalona lista rzeczy na klawiaturze zmodyfikowanych z: http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Przejdź na początek linii.
Ctrle Przejdź na koniec linii.
Escf Przejdź do przodu o słowo.
Escb Cofnij słowo do tyłu.
Ctrll Wyczyść ekran, ponownie drukując bieżącą linię u góry.
Ctrlk Zabij tekst od bieżącej pozycji kursora do końca linii.
Escd Kill od kursora do końca bieżącego słowa lub, jeśli między słowami, do końca następnego słowa.
EscDel Zabij od kursora początek poprzedniego słowa lub, jeśli między słowami, do początku poprzedniego słowa.
Ctrlw Kill od kursora do poprzedniej białej spacji. Jest inaczej niż EscDelCtrla dlatego, że różnią się granice słów.
Ctrld Usuń znak pod kursorem.
Ctrl_ Cofnij ostatnią rzecz, którą zrobiłeś. Możesz cofnąć całą drogę do pustej linii.
A oto, jak przeciągnąć tekst z powrotem do wiersza. Yanking oznacza skopiowanie ostatnio zabitego tekstu z bufora zabijania.
Ctrly Wciągnij ostatnio zabity tekst z powrotem do bufora pod kursorem.
Escy Obróć pierścień-zabójca i podciągnij nowy top. Możesz to zrobić tylko wtedy, gdy poprzednie polecenie to Ctrlylub Escy.
źródło
Dla tych, którzy wolą używać klawiszy strzałek, naciśnięcie fnShift+ Left Arrowzabierze Cię do domu z wiersza poleceń. Podobnie, fnShift+ Right Arrowzabierze Cię do końca.
źródło
Możesz przenosić jedno słowo na raz za pomocą option+ lefti option+ right.
Jeśli chodzi o użycie homei end, domyślne powiązania terminala są następujące:
W wielu innych aplikacjach terminalowych (na wielu platformach) te zmodyfikowane i niezmodyfikowane pary są odwrócone (tj. Nagie homei endsłużą do przeskakiwania wokół bieżącej linii, a zmodyfikowane wersje (czy to przez shiftcoś innego) służą do nawigacji w buforze przewijania ). Możesz odwrócić powiązania terminala, aby działały w ten sposób, jeśli chcesz, wykonując następujące czynności:
Przejdź do menu Terminal → Preferencje → karta Ustawienia / Profil → podkarta Klawiatura.
Następnie zmodyfikuj pary klucz-akcja, tak aby były następujące:
Uwaga: \ 033 wpisuje się w polu tekstowym do wysłania w oknie dialogowym Edycja, naciskając klawisz Escape.
Będąc tam, możesz chcieć w podobny sposób zamienić powiązania zmodyfikowanych i niezmodyfikowanych page uporaz page down, aby zachować spójność: naciśnięcie klawisza nawigacyjnego za shiftpomocą polecenia dla samego Terminala (aby nawigować po buforze przewijania do tyłu jak w dokumencie), podczas gdy naciśnięcie jednego bez wysyła naciśnięcia klawisza przez co ucieka do wewnątrz niego (np
bash
,less
,nano
,screen
, itd.). Do tego służą pary klucz-akcja:źródło
Inne odpowiedzi są świetne i bardziej przenośne, ale oto „sposób OS X” dla zwykłej klawiatury (co jest przeciwieństwem wielu innych terminali). Spróbuj wykonać następujące czynności:
ShiftHome- Początek linii
ShiftEnd- Koniec linii
From http://www.greenend.org.uk/rjk/tech/macbits.html
źródło
Mapowanie homei endklucze z pożądaną funkcjonalnością z łatwością rozwiążą problem.
Opublikowano wiele odpowiedzi, ale jeśli ich używasz
zsh
, możesz ustawić home:i ustawić endna:
klikając preferencje - profil - klawiatura.
źródło
Jest to najbardziej skuteczny sposób, aby działał również z vimem. Przejdź do Terminal -> Preferencje -> Profile -> Klawiatura i dodaj:
Klawisz: ↖ Działanie: \ 033OH
Klawisz: ↗ Działanie: \ 033OF
źródło
Chciałbym zapewnić alternatywne rozwiązanie tego problemu. Działa to świetnie, jeśli jesteś użytkownikiem vi. Wiązania klawiszy Vima w terminalu umożliwiają korzystanie z terminala w stylu vim. Możesz to zrobić, wpisując
set -o vi
terminal i możesz go dowolnie.bash_profile
zainstalować. Po tym twój terminal jest w rzeczywistości edytorem vim. Możesz użyćesc
klawisza, aby przejść do trybu poleceń i chodzić w vim sposób. Na przykład0
prowadzi do początku i$
do końca. Możesz także użyćI
i,A
aby przejść do początku i końca i od razu przejść do trybu edycji.w
ib
pozwól ci poruszać się do przodu i do tyłu o jedno słowo. A jeśli spróbujesz przejść do trybu wizualnego, naciskającv
, otrzymasz edytor vim, a tekst, który opuścisz, zostanie wykonany w terminalu.Pamiętaj, że to powiązanie klawiszy vim unieważni wszystkie skróty, których nauczyłeś się z innych odpowiedzi.
źródło
oto lista w formie do wydruku, zgodnie z życzeniem :)
http://pastebin.com/uCqwn7qs
Naprawiłem również „błąd” w opisie. Oto, co pierwotnie można przeczytać w instrukcjach:
ESC-d Zabij od kursora początek poprzedniego słowa lub, jeśli między słowami, do początku poprzedniego słowa.
Pachnie to jak pomyłka „wklej i wklej”, ponieważ oba zdania częściowe mówią to samo. Mówiąc ze zwykłej logiki, pierwsza połowa musi w rzeczywistości czytać „od kursora do początku bieżącego słowa”.
źródło
źródło