Znam kombinację Ctrl+, Aaby przejść na początek bieżącego polecenia i Ctrl+, Eaby przejść na koniec.
Ale czy jest jakiś sposób przeskakiwania słowo po słowie, tak jak Alt+ ←/ →w aplikacjach Cocoa?
macos
terminal
keyboard-shortcuts
Blaszany Człowiek
źródło
źródło
ALT
skróty zostały dodane do terminalu w najnowszej wersji OS X.Odpowiedzi:
Po wyjęciu z pudełka możesz użyć dość dziwnego Esc+, Faby przejść na początek następnego słowa i Esc+, Baby przejść na początek bieżącego słowa.
źródło
Esc
+F
na końcu linii lub inną kombinację klawiszy na początku linii, to po prostu wstawi literę. Denerwujący!~/.inputrc
.W systemie Mac OS X - domyślnie działają następujące skróty klawiaturowe. Pamiętaj, że klawisz Opcja musi działać tak, jak Meta w preferencjach terminalu (w zakładce klawiatury)
Zauważyłem, że domyślne skróty klawiszowe emacs do prostej nawigacji tekstowej działają na powłoki bash. Możesz użyć
źródło
+ESC
, wtedy możesz użyć OPCJI f / b, aby odpowiednio przesunąć słowo do przodu i do tyłu. WięcejOto jak możesz to zrobić
Domyślnie Terminal ma następujące skróty do przenoszenia (lewo i prawo) słowo po słowie:
Możesz skonfigurować alt+ ←i →wygenerować te sekwencje:
⌥ ←
jeśli tam jest, lub dodaj ją, jeśli jej nie ma.\033b
(nie możesz wpisać tego tekstu ręcznie).\033f
)Alternatywnie możesz odnieść się do tego postu na blogu w textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
źródło
B
do tyłu lubF
do przodu wEsc+
dziedziniealt left
ialt right
wygenerowałem te sekwencjePrzełącz na iTerm2 . Jest darmowy i znacznie ładniejszy niż zwykły stary terminal. Ma także wiele innych opcji dostosowywania, takich jak skróty klawiaturowe.
Uwielbiam też to, że możesz używać przycisków cmd1-9 do przełączania się między kartami. Spróbuj, a nigdy nie wrócisz do zwykłego terminalu :)
Jak skonfigurować niestandardowe preferencje klawiatury w iterm2
Często naciskam niewłaściwy przycisk ( cmd/ control/ alt) za pomocą klawisza strzałki, więc mam kombinacje klawiszy strzałek z tymi przyciskami skonfigurowanymi do przeskakiwania do przodu i do tyłu słów, ale proszę, rób to, co najbardziej Ci odpowiada.
źródło
Ctrl + Arrow Left
aniRight
-Up
iDown
działa: / próbowałem z nowym profilem ustawionym domyślnie i bez niegoW rzeczywistości istnieje znacznie lepsze podejście. Przytrzymaj option( altna niektórych klawiaturach) i naciskaj klawisze strzałek w lewo lub w prawo, aby poruszać się po słowie. Proste.
option←
option→
Również ctrlebędzie można dostać się do końca linii i ctrlapotrwa do początku.
źródło
[D
i[C
. Aby to naprawić, dodajbind '"[D": backward-word'
ibind '"[C": forward-word'
do mojego.bashrc
..bashrc
ale to nie zadziałało, czy coś jest dla mnie nie tak? (Używam RubyMine).bashrc
kiedy terminal się uruchamia. Spróbujecho "here"
sprawdzić, czy ten komunikat wyświetla się po otwarciu nowego terminala. Ponadto musisz zamknąć i ponownie otworzyć terminal lub uruchomićsource ~/.bashrc
, aby odczytać nowy plik.Mam Alt+ ←/ →pracuję: otwórz Preferencje »Ustawienia» Klawiatura , ustaw pozycję kursora opcji w lewo, aby wysłać ciąg do powłoki: \ 033b , i ustaw kursor opcji w prawo, aby wysłać ciąg do powłoki: \ 033f . Możesz go również użyć do innych kombinacji klawiszy Control.
źródło
Enable option as meta key
. Nawiasem mówiąc, jest bardzo fajnie. Klucz z pewnością będzie znacznie wygodniejszy do osiągnięcia w porównaniu do Esc + B lub Esc + FW rzeczywistości zależy to od używanej powłoki, jednak większość powłok ma podobne powiązania. Powiązania, do których się odwołujesz (np. Ctrl+ AI Ctrl+ E), są powiązaniami, które znajdziesz w wielu innych programach i są używane od wieków, BTW działa również w większości aplikacji interfejsu użytkownika.
Oto wygląd domyślnych powiązań dla Bash:
Najważniejsze skróty klawiaturowe Bash
Pamiętaj również, że możesz je dostosować. Musisz utworzyć plik o dowolnej nazwie, nazwałem mój .bash_key_bindings i umieściłem go w moim katalogu domowym. Tam możesz ustawić kilka ogólnych opcji bash, a także możesz ustawić powiązania klawiszy. Aby upewnić się, że zostały zastosowane, musisz zmodyfikować plik o nazwie „.bashrc”, który bash wczytuje podczas uruchamiania (musisz go utworzyć, jeśli nie istnieje) i wykonać tam wywołanie:
~ oznacza katalog domowy w bash, jak wspomniano powyżej, możesz nazwać plik tak, jak chcesz, a także umieścić go w dowolnym miejscu, pod warunkiem, że podasz właściwą ścieżkę + nazwę do powiązania.
Pokażę kilka fragmentów mojego pliku .bash_key_bindings:
Ustawiają tylko kilka opcji (np. Wyłączają dzwonek; wszystko to można sprawdzić na stronie bash).
Zapewniają one, że same postacie nic nie robią, tylko upewniają się, że znak jest „wpisany” (wstawiają się do powłoki).
To całkiem interesujące. Jeśli uderzę Ctrl+ Dsam (wybrałem d do usunięcia), nic się nie stanie. Ale jeśli następnie wpisuję małą literę w, słowo po lewej stronie kursora zostanie usunięte. Jednak po wpisaniu dużej litery słowo po prawej stronie kursora zostanie zabite. To samo dotyczy l i L w odniesieniu do całej linii rozpoczynającej się od kursora. Jeśli wpiszesz „a”, cała linia zostanie faktycznie usunięta (wszystko przed i za kursorem).
Umieściłem przeskakując jedno słowo do przodu na Ctrl+ Fi jedno słowo do tyłu na Ctrl+B
Jak widzisz, możesz utworzyć skrót, który natychmiast prowadzi do akcji, lub możesz utworzyć taki, który po prostu rozpoczyna sekwencję znaków, a następnie musisz wpisać jeden (lub więcej) znaków, aby akcja miała miejsce jako pokazano w przykładzie powyżej.
Jeśli więc nie jesteś zadowolony z domyślnych powiązań, możesz je dowolnie dostosowywać. Oto link do instrukcji bash, aby uzyskać więcej informacji.
źródło
command
kod klucza? W twoim przykładziecontrol
jest\C
, ale jakcommand
?Meta
w bash (\M
), cmd + left to\M-\e[D
. Nie możesz jednak odwzorować cmd + ... na nic, wszystkie skróty poleceń są obsługiwane (a więc połykane) przez samą aplikację Terminal (te nigdy nie są przekazywane do powłoki), a cmd + lewe mapy do „poprzedniego okna”, jeśli masz wiele otwarte okna terminala. Niestety, po prostu nie jest to możliwe w aplikacji Terminal.Użyj ustawienia predefiniowanego edycji tekstu naturalnego !
Zasadniczo wiąże, między innymi kluczowymi sekwencjami, Option + Strzałka w lewo do
^[b
sekwencji i Opcja + Strzałka w prawo do^[f
Działa to w przypadku fish and bash, a także w terminalu psql.
źródło
Jeśli zdarzyło ci się być użytkownikiem Vima, możesz wypróbować tryb vima basha. Uruchom to lub umieść w swoim
~/.bashrc
pliku:Domyślnie jesteś w trybie wstawiania; naciśnij klawisz Escape i możesz się poruszać tak, jak w trybie normalnym Vima, więc ruch po słowie to
w
lubb
, a zwykłe klawisze ruchu również działają .źródło
Jeśli
Use option as meta key
zaznaczysz zakładkę klawiatury w preferencjach, wówczas domyślne polecenia stylu emacs dla odpowiednio słowa do przodu i do tyłu oraz⌥F
( Alt+ F) i⌥B
( Alt+ B).Polecam czytanie From Bash to Z-Shell . Jeśli chcesz zwiększyć swoje umiejętności bash / zsh!
źródło
Jak Mac OS X Lion 10.7, Terminal mapy Option- Left/Right Arrowdo Esc- b/fdomyślnie, więc to jest teraz wbudowaną dla bash i innych programów, które wykorzystują te skróty klawiszowe emacs-kompatybilne.
źródło
Przytrzymaj klawisz Opcja i kliknij miejsce, w którym chcesz przesunąć kursor
źródło
W Bash są one związane z Esc- Bi Esc- F. Bash ma wiele, wiele więcej skrótów klawiaturowych; spójrz na wyjście,
bind -p
aby zobaczyć, jakie są.źródło
Pod
iterm2
„s Preferencje> profil> Keys , to kliknij+
poniżej odwzorowań przycisków i nagrać nowy skrót. W polu Akcja wybierz odpowiednioSend Escape Sequence
i wpiszb
lub odpowiedniof
dla wstecz i do przodu.Kiedy próbowałem nagrać jedną dla ( Ctrl+ ←), zauważyłem w polu Skrót klawiatury, że strzałka nigdy się nie pojawiła. Okazuje się, że najpierw musiałem wyłączyć Preferencje systemowe Maca> Klawiatura> Skróty> Skróty kontroli misji, aby wszystko działało, ponieważ zastąpią domyślne skróty iterm2. Powinno to dotyczyć również standardowej aplikacji terminalowej.
źródło
Nowa odpowiedź dla użytkowników iTerm2 Build 3.3.4:
Krok 1: Preferencje systemowe (macOS X)> Klawiatura> karta Skróty> Wybierz opcję Kontrola misji (lewy panel)> Odznacz skróty oznaczone jako „Przenieś w lewo spację” i „Przenieś w prawo spację”
Krok 2: (iTerm2 Build 3.3.4) Preferencje> Profile> Wybierz * Domyślne (lewy panel)> karta Klawisze> Usuń oba wpisy „⌥->” i „⌥ <-”> Ustaw oba „Lewy przycisk opcji (⌥): ”i„ Prawy klawisz opcji (⌥): ”, aby Esc +
Bez bałaganu z profilami powłoki, bez bałaganu z gorszym terminalem masOS (domyślnie), bez niewygodnych Esc + F / B, płukanie i powtarzanie bez sensu.
Skończona sprawa!!!
Ciesz się tą wskazówką, moi programiści!
źródło
Jak już wcześniej odpowiedziałem, możesz dodać
set -o vi
swoje powiązania~/.bashrc
do użyciavi
/vim
key, lub możesz dodać następną część,.bashrc
aby poruszać się za pomocąCtrl
klawiszy strzałek:Aby rozpocząć działanie tych wierszy kodu, albo
source ~/.bashrc
rozpocznij nową sesję terminalową.źródło