zsh forward-word немного отличается от bash/emacs, и я бы хотел его изменить.Как сделать поведение jsh в прямом слове таким же, как в bash/emacs
Вместо описания всех различий позвольте мне просто показать вам шаг за шагом поведение bash. Я обозначил курсор как символ «^».
foo bar --non-needed-param --needed-param^
М-б
foo bar --non-needed-param --needed-^param
М-б
foo bar --non-needed-param --^needed-param
М-б
foo bar --non-needed-^param --needed-param
М-б
foo bar --non-^needed-param --needed-param
М-б
foo bar --^non-needed-param --needed-param
М-б
foo ^bar --non-needed-param --needed-param
М-й
foo bar^ --non-needed-param --needed-param
М-д
foo bar^-needed-param --needed-param
М-д
foo bar^-param --needed-param
М-д
foo bar^ --needed-param
Этот алгоритм является одновременно гибкой для перемещения с помощью слов, удаление части из них для меня. Также это в emacs, поэтому я привык к этому. Я бы тоже хотел увидеть это в zsh. Благодарю.
Спасибо! Но на самом деле он отличается от bash (я сделал что-то не так?). В этой ситуации: «fo^ooo --bar», если вы нажмете «Mf», он должен немедленно перейти к концу foooo, например: «foooo^--bar», но я включил, как вы показали, это будет перейдите к следующему: "foooo -^bar". На самом деле выглядит так, что этот плагин просто экспортирует WORDCHARS = ''. –
Моя полная конфигурация zsh работает так, как вы этого хотите, поэтому я думаю, что я сделал что-то большее, чем я сказал в своем ответе. Мои WORDCHARS содержат еще несколько символов, хотя я не могу понять, где он на самом деле установлен: ($ WORDCHARS is '*? _-. [] ~ =/&;! # $% ^() {} <>') –
Хорошо, вспомнил, что это заставило его работать и соответствующим образом обновил мой ответ. –