MSysGit Bash - как включить Ctrl+стрелки влево / вправо?
есть ли способ включить Ctrl + ← / → сочетания клавиш (перейти к предыдущему / следующему слову) в консоли Bash, установленной с MSysGit?
7 ответов
в вашем приглашении Bash нажмите Ctrl-v Ctrl-Налево-Стрелка и Ctrl-v Ctrl-Стрелка Вправо и обратите внимание на выход. Вы должны увидеть что-то вроде: ^[OD
и ^[OC
или аналогичные. Добавьте следующие строки в свой ~/.inputrc
:
"\eOC": forward-word
"\eOD": backward-word
где вместо \e
для отдыха (^[
) и остальные символы, которые вы получили (OD
, OC
или подобные).
для повторного чтения файла и немедленного внесения изменений нажмите Ctrl-x Ctrl-r.
нашел ответ Тан на AskUbuntu, который работал для меня после того, как ни один из этих ответов вообще. Я переставлю его здесь.
что в ~/.inputrc
и /etc/inputrc
? Минимум, чтобы заставить эти ключи работать, я думаю:
# 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
если у вас есть это в /etc/inputrc
на файл должен быть включен из ~/.inputrc
, поэтому проверьте, что он имеет следующую строку:
$include /etc/inputrc
это работает для меня в Windows 7:
добавить это ~/.inputrc
Перезагрузите консоль и она должна работать на вас.
это значит, что вы можете сделать либо использовать
CTRL+← или CTRL+→
или
ALT+← или ALT+→
## Windows msysgit
## Alt + right/left
"\e\e[C": forward-word ### Alt + right
"\e\e[D": backward-word ### Alt + left
## Ctrl + right/left
"\e[C": forward-word ### Ctrl + right
"\e[D": backward-word ### Ctrl + left
для тех, кто смущен, почему он не работает для ctrl+Налево-Стрелка и ctrl+Стрелка Вправо.
Это из-за ошибки с windows 7, возможно, другие, и msys, где ctrl ключ не будут признаны (по крайней мере для моего случая).
чтобы проверить, находитесь ли вы в той же ситуации, сделайте то, что @Dennis говорит:
- открыть терминал
- убедитесь, что ctrl+v не был перенесен на что-то другое
- пресс ctrl+v следовал по ctrl+Налево-Стрелка проверить последовательность клавиш
- посмотрите на результат
повторите, только нажав Налево-Стрелка.
Если они идентичны, добро пожаловать в мой мир. Теперь вы можете использовать Autohotkey чтобы переназначить ключи или использовать более новые windows Git bash.
я отредактировал файл / etc/inputrc:
sudo gedit /etc/inputrc
и комментарием out следующего содержания:
$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif
затем я отредактировал файл ~/.bashrc следующее:
sudo gedit ~/.bashrc
и добавил следующие строки внизу:
#### enable Ctrl+Left , Ctrl+Right keybindings:
bind '"\e[1;5C":forward-word' # Ctrl+Right
bind '"\e[1;5D":backward-word' # Ctrl+Left
кажется, что работает и, по крайней мере, до сих пор, без побочных эффектов.
(протестировано на Ubuntu GnomeShell Remix 12.04 AMD64)