Czy byłoby możliwe skonfigurowanie iTerm 2 do przewijania do tyłu i do przodu o jedno słowo w bieżącym tekście wiersza poleceń za pomocą skrótu klawiaturowego?
Czy byłoby możliwe skonfigurowanie iTerm 2 do przewijania do tyłu i do przodu o jedno słowo w bieżącym tekście wiersza poleceń za pomocą skrótu klawiaturowego?
Odpowiedzi:
Ctrl-[ b
przeskakuje o słowo. Możesz także użyć Esc
zamiast lub Ctrl-[
, i f
iść dalej.
To jest Ctrl
+ [
wydanie, a następnie b
lub f
. Lub Esc
i b
lub f
.
Więcej informacji można znaleźć w tej innej dyskusji na AskDifferent.
Zabicie muchy za pomocą armaty:
Następnie możesz przenieść słowo do tyłu za pomocą Option ⌥+, ←a słowo do przodu za pomocą Option ⌥+ →, przejść na początek linii za pomocą fn+ ←i na koniec linii za pomocą fn+ →. Możesz także usunąć słowo wstecz za pomocą Option ⌥+ ⌫, usunąć całą linię za pomocą Command ⌘+ ⌫.
Jeśli ustawienie wstępne nie pojawi się, zainstaluj ponownie iTerm2. Jeśli zainstalowałeś go za pomocą Homebrew + Cask:
brew cask reinstall iterm2
Podoba mi się następująca konfiguracja.
przejdź o jedno słowo do przodu
option+right
send escape sequence
f
cofnij się o jedno słowo
option+left
send escape sequence
b
usuń na początek słowa ( kredyt )
option+delete
send hex code
0x1B 0x08
usuń do końca słowa
fn+option+delete
send escape sequence
d
(Nie pamiętam na pewno, ale myślę, że skopiowałem tę odpowiedź z poniższej odpowiedzi Jherrana i dodałem do niej więcej. Powinienem był dodać dodatkowe informacje w komentarzach lub sugerować zmiany tej odpowiedzi. Nie wiem, jak poprawić sytuacja, ale teraz jest znana.)
Działa to przynajmniej w przypadku bash. W przypadku Zsh istnieją inne sposoby nawigacji.
Podobne do innych odpowiedzi, ale dla Zsh znalezienie tego zajęło mi trochę czasu:
Jeśli używasz Zsh, jak Oh My Zsh, w iTerm, przejdź do: Preferencje> Profile > Podmenu Klawisze
Kliknij + znak
Dodaj kombinację skrótów, wybierz „Send Escape Sequence”
dane wejściowe dla lewej i prawej poniżej.
lewo:
[1;5D
dobrze:
[1;5C
Możesz ustawić terminal w trybie vi, set -o vi
aby móc korzystać ze zwykłych poleceń ruchu vi (dodaj linię, .bash_profile
aby zapisać ustawienia na stałe).
Tak jak w vi, możesz uderzyć Esc
, a następnie b
przesunąć jedno słowo do tyłu ( w
do przodu), przejść do początku linii za pomocą 0
lub wyszukać znak do tyłu za pomocą F
+ char.
Naciśnij, i
aby wrócić do trybu normalnego i wstawić.
Osoby zaznajomione z vi mogą zrobić znacznie więcej. Ściągawka znajduje się tutaj .
Esc
wtedy I
po prostu pójść raz na początku linii jest nieco mniej wygodne niż Ctrl-a
- w tym przypadku użycie zdarza się często, gdy chcesz tylko zmienić nazwę polecenia. Więc używam trybu vi z pewnymi zmianami przypisywania klawiszy w iTerm2 do mapowania Ctrl-A
i podobnymi do sekwencji ucieczki Esc+0
. W ten sposób te przypadki są jeszcze szybsze, ponieważ kończą się w trybie edycji.
Otwórz Preferencje
Skonfiguruj lewy (i / lub) prawy klawisz opcji, aby wysłać Esc +
Jeśli pomieszałeś z ustawieniami domyślnymi, może być konieczne załadowanie domyślnego ustawienia wstępnego (uwaga: może to wyczyścić niestandardowe skróty klawiszowe!)
Jeśli po wykonaniu tej czynności zobaczysz dziwne znaki, być może konieczne będzie skonfigurowanie ~ / .inputrc lub / etc / inputrc
Dodaj to do swojego ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
pełny przykład inputrc:
# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.
# set convert-meta off
# try to enable the application keypad when it is called. Some systems
# need this to enable the arrow keys.
# set enable-keypad on
# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
# do not bell on tab-completion
# set bell-style none
# set bell-style visible
# some defaults / modifications for the emacs mode
$if mode=emacs
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert
# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history
# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif
# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line
# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line
$endif
Dzięki iTerm2 3.1.4 udało mi się skonfigurować następujące ustawienia bez dodawania indywidualnych mapowań klawiszy.
Dzięki nowej sesji terminala możesz teraz używać:
Option ⌥+, faby przejść dalej
Option ⌥+, baby przejść dalej
Option ⌥+, Delete ⌫aby usunąć słowo