Skrót do terminala OS X: Przejdź do początku / końca wiersza


115

Wiem, że mogę przeskoczyć na początek i na koniec linii w terminalu OS X za pomocą Ctrl+ Ai Ctrl+ E. Ale jestem tak przyzwyczajony do przeskakiwania Cmd+ Rightstrzałka i Cmd+ Leftstrzałka z mojego edytora, że ​​chciałbym użyć tych skrótów również dla terminala.

Nie znalazłem rozwiązania w google, więc może tutaj ktoś może pomóc.

Aktualizacja

Jak w komentarzach, wypróbowałem rozwiązanie z Czy w terminalu OS X jest jakiś sposób, aby przesuwać kursor słowo po słowie?

Niestety, wydaje się, że ustawienia terminala nie obejmują Cmdklucza modyfikującego, jak widać tutaj:

Klawisze modyfikatorów terminala


nie możesz tego dostosować ?
Thomas Ayoub

Zaktualizowałem moje pytanie, patrz powyżej
23tux

1
Hmmm, nie sądzę. Wypróbowałem to, działa z Option + right-arrow, ale nie zCmd + right-arrow
23tux

Masz rację, moja wina, mam ciężkie dni na PC
Thomas Ayoub

Bardziej przydatne skróty: stackoverflow.com/a/5542996
AT

Odpowiedzi:


23

Używam do tego poręcznej aplikacji Karabiner i wielu innych rzeczy. Jest darmowy i open source.

To remapper klawiatury, z wieloma przydatnymi ustawieniami dla wielu popularnych map, które ludzie mogą chcieć zrobić.

Jak widać na zrzucie ekranu, ta zmiana mapy jest uwzględniona jako ustawienie wstępne w Karabinerze.

Zrzut ekranu preferencji Karabinera pokazujący ustawienie wstępne mapowania cmd + lewo / prawo do Ctrl + a / e

Mam nadzieję że to pomoże. Miłego mapowania!


3
Pamiętaj, że Karabiner nie działa w tej chwili na macOS Sierra.
knuhol

Dobrze wiedzieć; Nie zaktualizowałem. Miejmy nadzieję, że Karabiner zostanie zaktualizowany niedługo! :)
Aaron Wallentine

2
Teraz obsługuje Sierra i nawet wyższe. Oto link do niektórych predefiniowanych reguł ze strony internetowej Karabiner .
Java Xu,

W linku @ JavaXu w komentarzu bezpośrednio nad mną wyszukaj, Navigation in Terminal Appsaby znaleźć regułę, którą musisz zaimportować.
electrovir

126
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

te działają dla mnie


21
Nie musiałem trzymać klawisza Shift. fn + leftArrawlub fn + rightArrowpracował dla mnie. Może to pomaga!
Bharat Gupta

7
@BharatGupta fn + leftArrow działa w niektórych aplikacjach terminalowych (np. VI), ale nie działa w wierszu poleceń terminala.
hygoh2k

2
Używając iTerm2, fn + left i fn + right działają bez przesunięcia. W przypadku zmiany nie działają. ctrl + a i ctrl + e również działają.
bhekman

1
Jestem nowym użytkownikiem Maca i jestem zniesmaczony tym, jak trudne jest wszystko w Mac vs Windows! Sprzęt jest dobry, ale oprogramowanie jest okropne (tj. Nie jest przyjazne dla użytkownika).
doctorram

1
Jeśli jesteś nowy na Macu, myśl prosto, bo kiedy używasz Windows przez długi czas, zawsze używasz skomplikowanej ścieżki ... na Macu musisz myśleć bardzo prosto ... i przez większość czasu to rozumiesz. Tak było ze mną, kiedy przechodzę z PC na Maca
Supernini,


17

Zgodnie z konfiguracją w terminalu za pomocą vi:

HomePrzycisk na klawiaturze MacBook Pro: Fn + Left Arrow.

EndPrzycisk na klawiaturze MacBook Pro: Fn + Right Arrow.


9

Nie jestem pewien, czy to zadziała dla Ciebie (nadal używam OS 10.8), ale te działają na moim terminalu:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

Mam nadzieję że to pomoże!


1
W 10.12 Sierra wygląda na to, że to shift + home, aby przejść do początku. inne wymienione tutaj działają zgodnie z listą.
Chris,


8

Dla iterm2:

Przejdź do Profiles / Open Profiles / Keys

Ustaw Cmd + left_arrow_keyna wysyłanieHex Code 001

Ustaw Cmd + right_arrow_keyna wysyłanieHex Code 005

Pozwala to na Cmd + arrow_keysporuszanie się od początku do końca linii.


zgodnie z komentarzem @ bhekman: „Używając iTerm2, fn + left i fn + right działają bez shift. Z shift, nie działają. Ctrl + a i ctrl + e także działają.”
Alexander Suraphel

Nie widzę cmdopcji klucza modyfikującego, takiej samej jak w pierwotnym pytaniu
electrovir

@electrovir po prostu przytrzymaj i naciskaj klawisze strzałek
Timmy Von Heiss

Zobacz „Niestety, wydaje się, że ustawienia terminala nie zawierają Cmd jako klucza modyfikującego, jak widać tutaj” w pierwotnym pytaniu. Mam ten sam problem. Mój komentarz dotyczył stworzenia ustawienia klucza, a nie jego wykonywania.
electrovir

@electrovir, brzmi jakbyś był w złym miejscu. nie ma modyfikatora. otwórz iterm. przejdź do preferencji. przejdź do profili. naciśnij przycisk „+” po lewej stronie „Load Preset”. Istnieją dwa pola: „Skrót klawiaturowy” i „Akcja” dla skrótu klawiszowego przytrzymaj polecenie naciśnij klawisz strzałki w lewo. potem do działania -> „wyślij kod szesnastkowy -> 001”
Timmy Von Heiss

5

Tutaj znalazłem poprawkę do tego, bez żadnego narzędzia innej firmy . Dzięki temu następujący skrót będzie działał:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • Otwórz preferencje terminala. ( cmd + ,).
  • Przejdź do wybranego motywu, a następnie do karty klawiatury.

wprowadź opis obrazu tutaj

  • I dodaj nowy wpis w następujący sposób. wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

  • To wszystko. Teraz zamknij i sprawdź.

    Mam nadzieję, że to pomoże.

EDYCJA: zapoznaj się z komentarzem @Maurice Gilden poniżej, aby uzyskać więcej informacji.


5
Wystarczy wpisać „001” lub „005”. Brak ukośnika odwrotnego i nie mogłem znaleźć sposobu, aby ręcznie go dodać. Możesz jednak nacisnąć Ctrl + A dla „\ 001” i Ctrl + E dla „\ 005” w polu tekstowym.
Maurice Gilden

2
To powinna być absolutnie poprawna odpowiedź. Wszystkie aplikacje innych firm są albo zepsute, albo nie są już konserwowane, a fn + shift + leftArrow nie działa już na Mojave.
Salyangoz

To działało znakomicie. Jednak wybrałem „End” zamiast „Page Down” dla mapowania fn + strzałka w prawo.
nedblorf

2

Możesz pobrać Better Touch Tools . Jest to aplikacja, która umożliwia tworzenie niestandardowych skrótów klawiszowych i skrótów w całym systemie lub w poszczególnych aplikacjach. Używając go, możesz utworzyć skrót w terminalu, który emuluje ctrl-a / ctrl-e za każdym razem, gdy naciśniesz odpowiednio cmd-left / cmd-right. Zdecydowanie polecam! Używam go od lat i mam ponad 50 skrótów rozmieszczonych w kilku różnych aplikacjach.


2
Niestety, twój link jest uszkodzony
23tux

Dzięki za ostrzeżenie! Naprawiłem to.
Jacob

Hej @Jacob, jaka byłaby „wyzwalana wstępnie zdefiniowana akcja”, aby rozpocząć lub zakończyć polecenie terminala?
Oer

W przeciwnym razie należy użyć opcji „Uruchom inny skrót klawiaturowy” i wprowadzić Ctrl-A, aby przejść na początek polecenia terminala, lub Ctrl-E, aby przejść na koniec.
Jacob

1

w iterm2

fn + leftArraw lub fn + rightArrow

to działało dla mnie


0

W przypadku najnowszego systemu Mac OS poniżej skróty działają dla mnie.

Skocz do początku linii == shift + fn + RightArrow

Skocz do końca linii == shift + fn + LeftArrow

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.