Я хотел бы использовать расширение mv 'foo bar' !#:1:s^\ ^-^ для создания команды mv 'foo bar' 'foo-bar' . Однако, когда я нажимаю пробел, zsh предполагает, что я закончил вводить расширение, оставляя меня с mv 'foo bar' !#:1:s^\ что дает mv 'foo bar' 'foobar' .
Я могу обойти это поведение, набрав mv 'foo bar' !#:1:s^\^-^ и затем вернитесь назад с помощью клавиш со стрелками, чтобы получить mv 'foo bar' !#:1:s^\ ^-^ , но это побеждает цель.
Как я могу просто отключить поведение расширения на пробел? Я предполагаю, что мое желаемое поведение - оставить команду не развернутой, пока я не нажму Enter Я не нашел ничего об этом на странице руководства для zshexpn .
Изменить: я обнаружил, что я могу набрать mv 'foo bar' !{#:1:s^\ ^-^} , который задерживает расширение до тех пор, пока не будет напечатан символ } . Но вопрос о том, как предотвратить поведение расширения на пробел, стоит.
