W jaki sposób przypisujesz polecenia do kluczy w Terminalu?

10

Czy istnieje rozwiązanie, aby przypisać specjalne kombinacje klawiszy słowom używanym przez terminal. Na przykład polecenie less jest bardzo użyteczne, a ja często używam potoku wyjścia innego procesu za jego pośrednictwem.

Pomysł polegałby na skonfigurowaniu specjalnych kombinacji klawiszy, które są aktywne tylko przy korzystaniu z terminali przypisanych do pisania różnych poleceń? Zatem naciśnięcie Ctrl + L w oknie terminala mogłoby napisać

| less

lub Ctrl + G może oznaczać

| grep

Uwaga: mam na myśli tylko dodanie liter do linii poleceń, ale nie wykonanie w końcu. Podobny sposób, jak tabcompletion, ale bardziej szczegółowy.

    
zadawane NES 04.01.2011, 13:54
źródło

1 odpowiedź

10

Tak, możesz użyć polecenia bind

bind '"\ey"':"\"less \C-m\""

To odwzorowuje Alt-e na mniejszą komendę i wykonuje ją (z \ C-m aka Ctrl-m)

Prawdopodobnie dla | musisz uciec.

bind '"\ey"':"\"\|less \C-m\""

Jeśli chcesz po prostu dołączyć ją do wiersza poleceń, usuń * \ C-m \ ""

Uważaj, ponieważ zdefiniowano już pewne powiązania:

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L                Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Let’s you search through previously used commands
Ctrl + C    Kill whatever you are running
Ctrl + D    Exit the current shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab     Auto-complete files and folder names

Klawisz Control, jak widać powyżej, jest wykonany za pomocą C-m, więc możesz uruchomić mniej polecenia za pomocą Ctrl-g, jak następuje:

bind '"\ C-g"': "\" \ | less * \ C-m \ ""

Aby uzyskać kluczowe kody dla Alt (tylko dla ALT), możesz użyć polecenia odczytu z powłoki:

@~$ read
^[y

^ [y jest równe \ ey

Aby uzyskać więcej informacji, na to pytanie odpowiedziano również w stackoverflow:

link

    
odpowiedział tmow 04.01.2011, 14:31
źródło

Przeczytaj inne pytania na temat tagów