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

23tux
źródło
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!

Aaron Wallentine
źródło
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

hygoh2k
źródło
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,
34

W najnowszym systemie Mac OS możesz użyć shift+ homelub shift+end

elad srebrny
źródło
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.

Thinkhear
źródło
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!

Boncrete
źródło
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

fn + leftArraw or fn + rightArrow pracował dla mnie!

Thanmayi Rapolu
źródło
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.

Timmy Von Heiss
źródło
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.

Abhishek saharn
źródło
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.

Jakub
źródło
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

Ajith
źródło
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

Tejas Niturkar
źródło