Często pracuję z git i uwielbiam iTerm2 za możliwość ustawiania skrótów klawiaturowych dla poleceń. Na przykład ustawiłem CTRL+ ENTERna git status
.
Czy jest to możliwe w przypadku gnome-terminal, czy możesz polecić inną opcję, aby to osiągnąć?
Często pracuję z git i uwielbiam iTerm2 za możliwość ustawiania skrótów klawiaturowych dla poleceń. Na przykład ustawiłem CTRL+ ENTERna git status
.
Czy jest to możliwe w przypadku gnome-terminal, czy możesz polecić inną opcję, aby to osiągnąć?
Możesz użyć, bind -x
aby powiązać polecenie ze skrótem w Bash. Na przykład, aby powiązać git status
polecenie ze skrótem Crtl+ p, możesz użyć:
bind -x '"\C-p":git status'
Umieść go w ~/.bashrc
pliku, aby go zapamiętać. Ze strony podręcznika:
-x keyseq: shell-command
Powoduje, że polecenie powłoki powinno być wykonywane za każdym razem, gdy wprowadzany jest keyseq. Po wykonaniu polecenia powłoki powłoka ustawia zmienną READLINE_LINE na zawartość bufora linii Readline, a zmienną READLINE_POINT na bieżącą lokalizację punktu wstawiania. Jeśli wykonane polecenie zmieni wartość READLINE_LINE lub READLINE_POINT, te nowe wartości zostaną odzwierciedlone w stanie edycji.
bindkey -s '^[^M' 'git status\n'
co wiąże się z ALT + ENTER.bind -x '"\C-k":firefox'
Używam tego, ale nie działa~/.bashrc
pliku. Jeśli nadal nie działa, sprawdź tobind
można znaleźć tutaj: stackoverflow.com/a/4201274/7123341. Automatycznie otwórz nowe okno terminala, pokazujące wynik polecenia
Ponieważ po uruchomieniu polecenia należy pozostawić terminal otwarty, wprowadzanie:
pod kombinacją klawiszy skrótu wykona zadanie. Otworzy się nowe
gnome-terminal
okno i uruchomi w nim polecenie.Dodaj go do skrótu
Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie:
do Ctrl+Enter
Uwaga
Chociaż sugerowany skrót działa, możesz wybrać inną kombinację klawiszy niż Ctrl+ Enter, ponieważ przynajmniej koliduje on ze
LibreOffice
skrótem, aby przejść do nowej strony.Wyjaśnienie
Aby
gnome-terminal
otworzyć nowe okno z wiersza poleceń i uruchomić w nim polecenie, możesz użyć:Jednak pomimo tego, że polecenie uruchomi się pomyślnie, okno terminala zostanie zamknięte bezpośrednio przed odczytaniem danych wyjściowych.
Sekcja:
jest wtedy utrzymanie terminala otwartego (dopóki nie naciśniesz Enter) po uruchomieniu polecenia.
Inne polecenia
W ten sposób możesz uruchomić dowolne (złożone) polecenie w terminalu, nie zamykając go natychmiast:
wyświetli (jeśli
wmctrl
jest zainstalowany):Po naciśnięciu Enterterminal zostanie zamknięty.
2. Uruchomienie polecenia w aktualnie aktywnym oknie terminala gnome
Oczywiście, że mógłby postawić prosty-liner pod klawiszem skrótu (zakładając, że masz
xdotool
zainstalowany):Spowodowałoby to jednak wpisanie polecenia na ślepo w dowolnej aplikacji, a wpisanie polecenia nie jest najczystszą opcją.
Mały skrypt poniżej dlatego:
gnome-terminal
oknem (według jego pid)gnome-terminal
oknie, naciska Return.Jeśli nie, skrypt nic nie robi , więc nie wklei się do innych aplikacji.
Ponieważ skrypt przyjmuje komendę docelową jako argument, możesz umieścić wiele komend pod wieloma skrótami.
Scenariusz
Jak używać
Skrypt potrzebuje
xdotool
sudo apt-get install xdotool
Utwórz katalog,
~/bin
jeśli jeszcze nie istnieje, wyloguj się / zaloguj lub uruchomsource ~/.profile
gterm_keys
(bez rozszerzenia)~/bin
, aby był wykonywalnyTeraz możesz uruchomić dowolne polecenie z klawisza skrótu w pierwszym
gnome-terminal
oknie, dodając polecenie:do klawisza skrótu, jak opisano w
[1]
źródło
W przypadku użycia zsh zamiast bash, następujący wiersz w
~/.zshrc
wiąże sięgit status
z ALT+ ENTER.Aby uzyskać ALT+ ENTERw Bash, używam tej linii:
źródło