Есть ли способ ускорить навигацию на CLI Linux, когда я должен ввести длинные команды? Я просто использую стрелки прямо сейчас, и - если у меня есть длинная команда, требуется некоторое время, чтобы добраться от начала команды до середины.
Есть ли способ, например, перейти к середине команды без использования стрелок?
Я не знаю, как конкретно перейти в середину, не используя клавиши курсора. Тем не менее, я могу порекомендовать использовать CTRL + курсорную клавишу для перехода от пустой к пустой (т. Е. Перейти от одного слова к другому).
Отправьте фрагмент кода ниже в своем .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 для прямого перехода к середине, измените код на: [ ! d1] jump_mid() {
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
}
И привяжите его к чему-то другому, чем Ctrl-a.
Если вы являетесь пользователем vi [m] и bash, вы можете счесть полезным использовать readline (используется bash) для редактирования vi-стиля, добавив set editing-mode vi в ваши файлы ~/.inputrc или /etc/inputrc. Или вы можете просто сделать bash для редактирования vi-стиля, запустив команду bash set -o vi. Добавьте эту команду в свой файл ~/.bashrc, чтобы сделать поведение постоянным.
Если вы пользователь zsh, добавьте bindkey -v в свой файл .zshrc для редактирования в стиле vi.
Если вы являетесь пользователем vi [m] и bash, вам может показаться полезным сделать использование readline (используется bash) в стиле vi-style, добавив режим редактирования vi
в ваш ~ / .inputrc
или / etc / inputrc
. Или вы можете просто сделать bash использовать редактирование в стиле vi, запустив команду bash set -o vi
. Добавьте эту команду в свой файл ~ / .bashrc
, чтобы сделать поведение постоянным.
Если вы пользователь zsh, добавьте bindkey -v
в ваш файл .zshrc
для редактирования в стиле vi.
Я не знаю, как конкретно перейти в середину, не используя клавиши курсора. Тем не менее, я могу порекомендовать использовать CTRL + курсорную клавишу для перехода от пустой к пустой (т. Е. Перейти от одного слова к другому).
Отправьте фрагмент кода ниже в вашем .bashrc. Ctrl-a переходит в начало и нажатие Ctrl-a снова перескакивает в середину.
jump_mid () {if ["$ READLINE_POINT" -eq "0"]; то LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS else READLINE_POINT = 0 fi} bind -x '"\ Ca": jump_mid'
Или, если вы хотите использовать Ctrl-Something для прямого перехода к середине, измените код на:
jump_mid () {LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS}
И привяжите его к чему-то другому, чем Ctrl-a.
Несколько дополнительных ссылок из здесь
Ctrl + a - перейти к началу командной строки Ctrl + e - перейти в конец командной строки Ctrl + k - удалить из курсора в конец командной строки Ctrl + u - удалить из курсора в начало командной строки Ctrl + w - удалить из курсора в начало слова (т. е. удалить назад одно слово) Ctrl + y - вставить слова или текста, которые были вырезаны с использованием одной из ярлыков удаления (например, выше) после курсора Ctrl + xx - перемещение между началом командной строки и текущей позицией курсора (и обратно) Alt + b - перемещение назад одним словом ( или перейти к началу слова, в котором находится курсор) Alt + f - переместить одно слово (или перейти к концу слова, в котором курсор в данный момент включен) Alt + d - удалить до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + c - заглавная буква до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + u - сделать верхний регистр от курсора до конца слова Alt + l - сделать строчную букву от курсора до конца слова Alt + t - заменить текущее слово предыдущим Ctrl + f - переместить вперед один символ Ctrl + b - переместить назад один символ Ctrl + d - удалить символ под курсором Ctrl + h - удаление символа перед курсором Ctrl + t - подкачка символа под курсором с предыдущим
Если вы являетесь пользователем vi [m] и bash, вам может показаться полезным сделать использование readline (используется bash) в стиле vi-style, добавив режим редактирования vi
в ваш ~ / .inputrc
или / etc / inputrc
. Или вы можете просто сделать bash использовать редактирование в стиле vi, запустив команду bash set -o vi
. Добавьте эту команду в свой файл ~ / .bashrc
, чтобы сделать поведение постоянным.
Если вы пользователь zsh, добавьте bindkey -v
в ваш файл .zshrc
для редактирования в стиле vi.
Несколько дополнительных ссылок из здесь
Ctrl + a - перейти к началу командной строки Ctrl + e - перейти в конец командной строки Ctrl + k - удалить из курсора в конец командной строки Ctrl + u - удалить из курсора в начало командной строки Ctrl + w - удалить из курсора в начало слова (т. е. удалить назад одно слово) Ctrl + y - вставить слова или текста, которые были вырезаны с использованием одной из ярлыков удаления (например, выше) после курсора Ctrl + xx - перемещение между началом командной строки и текущей позицией курсора (и обратно) Alt + b - перемещение назад одним словом ( или перейти к началу слова, в котором находится курсор) Alt + f - переместить одно слово (или перейти к концу слова, в котором курсор в данный момент включен) Alt + d - удалить до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + c - заглавная буква до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + u - сделать верхний регистр от курсора до конца слова Alt + l - сделать строчную букву от курсора до конца слова Alt + t - заменить текущее слово предыдущим Ctrl + f - переместить вперед один символ Ctrl + b - переместить назад один символ Ctrl + d - удалить символ под курсором Ctrl + h - удаление символа перед курсором Ctrl + t - подкачка символа под курсором с предыдущим
Я не знаю, как конкретно перейти в середину, не используя клавиши курсора. Тем не менее, я могу порекомендовать использовать CTRL + курсорную клавишу для перехода от пустой к пустой (т. Е. Перейти от одного слова к другому).
Отправьте фрагмент кода ниже в вашем .bashrc. Ctrl-a переходит в начало и нажатие Ctrl-a снова перескакивает в середину.
jump_mid () {if ["$ READLINE_POINT" -eq "0"]; то LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS else READLINE_POINT = 0 fi} bind -x '"\ Ca": jump_mid'
Или, если вы хотите использовать Ctrl-Something для прямого перехода к середине, измените код на:
jump_mid () {LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS}
И привяжите его к чему-то другому, чем Ctrl-a.
Если вы являетесь пользователем vi [m] и bash, вам может показаться полезным сделать использование readline (используется bash) в стиле vi-style, добавив режим редактирования vi
в ваш ~ / .inputrc
или / etc / inputrc
. Или вы можете просто сделать bash использовать редактирование в стиле vi, запустив команду bash set -o vi
. Добавьте эту команду в свой файл ~ / .bashrc
, чтобы сделать поведение постоянным.
Если вы пользователь zsh, добавьте bindkey -v
в ваш файл .zshrc
для редактирования в стиле vi.
Я не знаю, как конкретно перейти в середину, не используя клавиши курсора. Тем не менее, я могу порекомендовать использовать CTRL + курсорную клавишу для перехода от пустой к пустой (т. Е. Перейти от одного слова к другому).
Отправьте фрагмент кода ниже в вашем .bashrc. Ctrl-a переходит в начало и нажатие Ctrl-a снова перескакивает в середину.
jump_mid () {if ["$ READLINE_POINT" -eq "0"]; то LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS else READLINE_POINT = 0 fi} bind -x '"\ Ca": jump_mid'
Или, если вы хотите использовать Ctrl-Something для прямого перехода к середине, измените код на:
jump_mid () {LEN = $ {# READLINE_LINE} POS = $ (($ LEN / 2)) READLINE_POINT = $ POS}
И привяжите его к чему-то другому, чем Ctrl-a.
Несколько дополнительных ссылок из здесь
Ctrl + a - перейти к началу командной строки Ctrl + e - перейти в конец командной строки Ctrl + k - удалить из курсора в конец командной строки Ctrl + u - удалить из курсора в начало командной строки Ctrl + w - удалить из курсора в начало слова (т. е. удалить назад одно слово) Ctrl + y - вставить слова или текста, которые были вырезаны с использованием одной из ярлыков удаления (например, выше) после курсора Ctrl + xx - перемещение между началом командной строки и текущей позицией курсора (и обратно) Alt + b - перемещение назад одним словом ( или перейти к началу слова, в котором находится курсор) Alt + f - переместить одно слово (или перейти к концу слова, в котором курсор в данный момент включен) Alt + d - удалить до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + c - заглавная буква до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова) Alt + u - сделать верхний регистр от курсора до конца слова Alt + l - сделать строчную букву от курсора до конца слова Alt + t - заменить текущее слово предыдущим Ctrl + f - переместить вперед один символ Ctrl + b - переместить назад один символ Ctrl + d - удалить символ под курсором Ctrl + h - удаление символа перед курсором Ctrl + t - подкачка символа под курсором с предыдущим