Существует ли путь, ускоряют Linux навигация CLI, когда я должен ввести долгие команды? Я просто использую стрелки прямо сейчас, и - если у меня есть долгая команда, она занимает время для получения от запуска команды к середине его.
Существует ли способ, например, перейти к середине команды, не используя стрелки?
Некоторая полезная привязка клавиши для редактирования строки обеспечивается библиотекой Readline:
Ctrl-A
: перейдите к началу строкиCtrl-E
: пойдите в конец строкиAlt-B
: пропустите одно слово назадAlt-F
: пропустите одно слово впередCtrl-U
: удалите к началу строкиCtrl-K
: удалите в конец строкиAlt-D
: удалите в конец словаЕще некоторые ярлыки отсюда
Ctrl + a – go to the start of the command line
Ctrl + e – go to the end of the command line
Ctrl + k – delete from cursor to the end of the command line
Ctrl + u – delete from cursor to the start of the command line
Ctrl + w – delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – move between start of command line and current cursor position (and back again)
Alt + b – move backward one word (or go to start of word the cursor is currently on)
Alt + f – move forward one word (or go to end of word the cursor is currently on)
Alt + d – delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – make uppercase from cursor to end of word
Alt + l – make lowercase from cursor to end of word
Alt + t – swap current word with previous
Ctrl + f – move forward one character
Ctrl + b – move backward one character
Ctrl + d – delete character under the cursor
Ctrl + h – delete character before the cursor
Ctrl + t – swap character under cursor with the previous one
Я не знаю о способе конкретно перейти к середине, не используя клавиши управления курсором. Однако я могу рекомендовать использовать CTRL + клавиши управления курсором, чтобы переместиться от пробела до пробела (т.е. спрыгнуть с одного слова другому).
Если Вы - vi [m] и колотите пользователя, можно найти, что он полезный для создания readline (используемым ударом) использует редактирование vi-стиля путем добавления set editing-mode vi
к Вашему ~/.inputrc
или /etc/inputrc
файлы. Или, Вы могли просто сделать редактирование vi-стиля использования удара путем выполнения команды удара set -o vi
. Добавьте команду к Вашему ~/.bashrc
файл для создания поведения персистентным.
Если Вы - zsh пользователь, добавить bindkey -v
к Вашему .zshrc
файл для редактирования vi-стиля.
Получите фрагмент кода ниже в Вашем .bashrc. Переходы Ctrl-a к запуску и нажатию Ctrl-a снова переходят к середине.
jump_mid() {
if [ "$READLINE_POINT" -eq "0" ]; then
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
else
READLINE_POINT=0
fi
}
bind -x '"\C-a" : jump_mid'
Или если Вы хотите использовать Ctrl-Something, чтобы непосредственно перейти к середине, изменить код на:
jump_mid() {
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
}
И свяжите его с чем-то другим, чем Ctrl-a.