iTerm 2: Jak ustawić skróty klawiaturowe, aby przejść do początku / końca wiersza?
Widzę to Ctrl+zostawić/Prawa przeskakuje do początku / końca linii. Jak zmienić to na Cmd+zostawić/Strzałka w prawo ?
W celu uzyskania Alt+zostawić/Strzałka w prawo działa poprawnie dla Word jumping follow ten artykuł .
12 answers
Dodaj w iTerm2 następujące klawisze skrótu profilu
FOR ACTION SEND
⌘← "SEND HEX CODE" 0x01
⌘→ "SEND HEX CODE" 0x05
⌥← "SEND ESC SEQ" b
⌥→ "SEND ESC SEQ" f
Oto wizualizacja dla tych, którzy jej potrzebują
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-02 14:48:01
Aby przeskakiwać między słowami i początkiem / końcem linii w iTerm2, wykonaj następujące kroki:
- iTerm2 - > Preferencje (⌘ + ,)
- otwórz zakładkę "Klucze"
- dodaj następujące globalne klawisze skrótu
Przesuń kursor o jedno słowo w lewo
- Kombinacja Klawiatury: ⌥ + ←
- Akcja: Wyślij Kod Hex
- Kod:
0x1b 0x62
Przesuń kursor o jedno słowo prawo
- Kombinacja Klawiatury: ⌥ + →
- Akcja: Wyślij Kod Hex
- kod:
0x1b 0x66
Przesunięcie kursora na początek linii
- Kombinacja Klawiatury: ⌘ + ←
- Akcja: Wyślij Kod Hex
- kod:
0x01
Przesunięcie kursora na koniec linii
- Kombinacja Klawiatury: ⌘ + →
- Akcja: Send Hex Kod
- kod:
0x05
Delete word
- Kombinacja Klawiatury: ⌥ + ←Delete
- Akcja: Wyślij Kod Hex
- kod:
0x1b 0x08
Delete line
- Kombinacja Klawiatury: ⌘ + ←Delete
- Akcja: Wyślij Kod Hex
- kod:
0x15
Undo
- Kombinacja Klawiatury: ⌘ + z
- Akcja: Wyślij Kod Hex
- kod:
0x1f
Nie zapomnij usunąć poprzednie wiązania :
- otwórz zakładkę "Profile"
- Kliknij zakładkę "Klucze"
- Usuń mapowania dla kombinacji klawiszy⌥ + ← oraz ⌥ + →
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-31 05:14:42
Widzę, że jest już wiele dobrych odpowiedzi, ale powinno to zapewnić najbardziej zbliżoną do natywnej funkcjonalności OSX, jak to tylko możliwe, w czymś więcej niż tylko powłoce. Zweryfikowałem, że działa to w sesjach ZSH, Bash, node, python-i, iex i irb / pry (używając RB-readline gem dla readline, ale powinno działać dla wszystkich).
Otwórz Preferencje iTerm⌘+, i przejdź do zakładki Profiles
(Zakładka Keys
może być używana, ale dodanie przypisywania klawiszy do profilu pozwala zapisać profil i zsynchronizować go z wieloma komputerami) i keys
sub-tab i wprowadź następujące:
Usuń wszystkie znaki z lewej strony kursora
⌘+←Usuń Wyślij Kody Hex:
0x15
bardziej kompatybilny, ale funkcjonalność czasami polega na usunięciu całej linii, a nie tylko znaków po lewej stronie kursora. Ja osobiscie uzywam tego a nastepnie nadpisuje mój bindkey zsh dla^U
aby usunac tylko rzeczy po lewej stronie kursora (patrz poniżej).lub
0x18 0x7f
mniej kompatybilny, nie działa w węźle i domyślnie nie działa w zsh, zobacz poniżej, aby naprawić zsh (bash / irb / pry powinno być dobrze), wykonuje pożądaną funkcjonalność, gdy działa.
Usuń wszystkie znaki z prawej strony kursora
⌘+fn+←usunąć lub ⌘+Delete→ Send hex Codes:
0x0b
usunąć słowo na lewo od kursora
⌥+←Usuń Wyślij Kody Hex:
0x1b 0x08
W Elixirze, IEX wydaje się działać dobrze wszędzie indziej.]}lub
0x17
działa wszędzie, ale nie zatrzymuje się przy normalnych przerwach wyrazów w IRB i zamiast tego usunie, dopóki nie zobaczy dosłownej spacji.
usuń jedno słowo na prawo od kursora
⌥+fn←usunąć lub ⌥+Delete→ Send Hex Codes:
0x01b 0x64
przesuń kursor na początek linii
⌘+← Wyślij Kody Hex:
0x01
Przesunięcie kursora na koniec linii
⌘+→ Wyślij Kody Hex:
0x05
przesuń kursor o jedno słowo w lewo
⌥+← Wyślij Kody Hex:
0x1b 0x62
Move kursor jedno słowo w prawo
⌥+→ Wyślij Kody Hex:
0x1b 0x66
Undo
⌘+z Wyślij kody Hex:
0x1f
Redo zazwyczaj nie jest związane w bash, zsh lub readline, więc możemy ustawić go na nieużywany kod heksowy, który możemy następnie naprawić w zsh
⇧+⌘+Z lub ⌘+y Wyślij kody Hex:
0x18 0x1f
Teraz Jak naprawić to, co nie działa
Dla zsh można skonfigurować Wiązanie dla jeszcze nie funkcjonującego ⌘+←usunąć i ⇧+⌘+Z/⌘+y by running:
# changes hex 0x15 to delete everything to the left of the cursor,
# rather than the whole line
$ echo 'bindkey "^U" backward-kill-line' >> ~/.zshrc
# binds hex 0x18 0x7f with deleting everything to the left of the cursor
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc
# adds redo
$ echo 'bindkey "^X^_" redo' >> ~/.zshrc
# reload your .zshrc for changes to take effect
$ source ~/.zshrc
Nie jestem w stanie znaleźć rozwiązania dla dodawania redo w bash lub readline, więc jeśli ktoś zna rozwiązanie dla którejkolwiek z nich, proszę o komentarz poniżej i postaram się je dodać.
Dla każdego, kto szuka tabeli wyszukiwania na jak przekonwertować sekwencje kluczowe na szesnastkowe, uważam ta tabela jest bardzo pomocna.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-15 12:38:00
Postępuj zgodnie z poniższym samouczkiem, aby skonfigurować swoje kluczowe preferencje w iterm2.
- Utwórz nowy klucz shorcut
- Wybierz" Wyślij sekwencję ucieczki " jako akcję
- Następnie, aby ustawić cmd-left , w tekście poniżej, że:
- Enter [h dla początek linii
lub - Enter [F dla koniec linii
- Enter [h dla początek linii
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-02 19:12:43
W iTerm 3.0.12 możesz przełączyć się na Natural Text Editing
preset:
ITerm → Preferencje → Profile → Klucze
Warning ponieważ jest to ustawienie wstępne, może zastąpić klucze, które wcześniej bindowałeś. Dlatego lepiej jest zapisać bieżące powiązania klawiszy przed zastosowaniem ustawień domyślnych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-20 12:09:26
Dla szybkiego odniesienia każdego, kto chce przejść do końca linii lub początku linii w iTerm2, powyższy link http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word-in-iterm.html zauważa, że w iTerm2:
- Ctrl+A , przeskakuje na początek linii, natomiast
- Ctrl+E , przeskakuje na koniec linii.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-16 20:58:41
Aby pomóc każdemu, kto ma ten sam problem, ale konkretnie używa Zsh shell z iTerm 2. Okazuje się, że Zsh nie odczytuje poprawnie /etc/inputrc
, a więc nie rozumie żadnych wiązań klawiszy ustawionych w preferencjach!
Aby to naprawić, musisz dodać kilka wiązań kluczy do pliku .zshrc
, takich jak:
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
Zwróć uwagę na odwrotne ukośniki w powyższym przykładzie przed "e", połączony artykuł nie pokazuje ich, więc dodaj je do pliku .zshrc
podczas dodawania wiązania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-28 10:42:58
Stare wiązania Emacsa mogą nadal działać w terminalu iterm2 i os x:
Preferencje -> profile - > Klucze (zakładka sub w profilach)
- Set
Left/Right option <kbd>⌥</kbd> key acts as +Esc
(podobnie w terminalu os x)
To powinno włączyć alt-f i alt-b do poruszania słów po słowach. (Still ctrl-a i ctrl-e zawsze działa jak zwykle)
Jeśli ustawione jako {[1] } te stare wiązania będą działać, podczas gdy niektóre iterm2 wiązania niedostępne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-22 03:16:11
bind -p
wyświetli listę połączonych klawiszy ucieczki w powłoce, które mogą pomóc dać ci więcej pomysłów / wyszukiwanych terminów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-19 12:26:38
Jak wyjaśniono w tutaj , możesz to zrobić za pomocą prostych kroków:
Domyślnie, word jumps (opcja + → lub ←) i Word deletions (opcja + backspace) nie działają. Aby je włączyć, przejdź do "iTerm → Preferencje → Profile → Klucze → Wczytaj Preset... → Naturalna Edycja Tekstu → Boom! Głowa wybuchy "
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-15 11:03:55
Wyjaśnione w https://aaronaddleman.com/articles/hexcodes-and-iterm/
Możesz użyć xxd -psd
, aby uzyskać kod szesnastkowy klucza.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-08 08:50:04
Dla mnie zadziałała następująca kombinacja:
| Key Action Esc+ End result |
|-----------------------------------------------------|
| ⌘← Send Escape Sequence a Send ^[ a |
| ⌘→ Send Escape Sequence e Send ^[ e |
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-22 15:22:59