Ви маєте доступ до ряду змінних у віджетах , визначених користувачем , зокрема, BUFFER
які містять вміст рядка (або, ширше, весь буфер, який може бути багаторядковим).
Як отримати перше слово, BUFFER
залежить від вашого визначення слів. У цьому контексті найбільш корисне визначення, ймовірно, засноване на синтаксисі оболонки, який доступний через z
прапор розширення параметра .
first_word=${${(z)BUFFER}[1]}
Інші розумні визначення - використовувати слова з обмеженим пробілом або слова, що складаються з $WORDCHARS
. Для цього існують команди руху , але, хоча ви можете викликати їх через zle
вбудований і спостерігати за CURSOR
переміщенням, було б простіше розділити рядок вручну $BUFFER
.
У віджетах для завершення слова команди, для якої відбувається завершення, знаходяться в words
параметрі .