1

Я недавно начал использовать ZHS с пакетом сценариев oh-my-zsh. Он отлично работает, кроме странного поведения ярлыка ^ W.

Например, если у меня есть следующая командная строка и символ ▮ обозначает позицию курсора.

$ ./command_name --option1 value --option2=value ▮

Последовательно нажимая ^ W, я получаю следующее содержимое в командной строке:

$ ./command_name --option1 value --option2=▮
$ ./command_name --option1 value --▮
$ ./command_name --option1 ▮
$ ./command_name --▮
$ ./command_▮
$ ./▮

Что меня беспокоит, так это то, что после третьего нажатия курсор останавливается не после удаления -- , но и ест value . Я подозреваю, что все символы, такие как "_-", рассматриваются как разделители как пробелы, и zsh продолжает есть символы до тех пор, пока не удалит некоторые символы без разделителей, но я понятия не имею, как изменить это поведение.

1 ответ1

2

Чтобы исправить это поведение (по умолчанию), вы хотите, чтобы Zsh использовал backward-kill-word стиле vi.

Поместите это в ваш ~/.zshrc:

bindkey '^W' vi-backward-kill-word

Теперь он убьет на следующие позиции:

$ ./command_name --option1 value --option2=▮
$ ./command_name --option1 value --option2▮
$ ./command_name --option1 value --▮
$ ./command_name --option1 value ▮
$ ./command_name --option1 ▮
$ ./command_name --▮
$ ./command_name ▮
$ ./▮
$ ▮

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .