Что: 31ee58d93e7e049a4dea93901180b77addb69398
Когда: 2020-06-12 10:59:59+03:00
Темы: tip zsh
Попробовал zsh-history-substring-search и улучшил свой поиск https://github.com/zsh-users/zsh-history-substring-search https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=81ce22d8f258e168af0eec20c98d1f37fac2d0f8 Для того, чтобы в zsh появились все фичи FISH, создали три плагина: zsh-history-substring-search, zsh-autosuggestions и zsh-syntax-highlighting. Два последних я использую и яростно рекомендую: они абсолютно стоят того! А вот substring-search у меня под вопросом большим. Суть его работы тривиальна: мы что-то набрали в командной строке, а дальше, нажимая вверх/вниз, ищем набранное в истории, при этом не обязательно чтобы набранное было с начала строки -- оно может хоть частью слова в середине где-то быть. Ещё там есть опция включающая fuzzy поиск, когда вместо пробела, подставляется, грубо говоря, ".*". Но у меня сразу же возникла тут дилемма: точно есть случаи когда мне точно захочется fuzzy, но точно есть больше случаев когда его точно не захочется. А штатного переключения (разных keybinding) там нет. Но, стандартные средства в самом zsh в общем-то не хуже, насколько помню. И вот сделал коммит в котором я Shift-Up-ом включаю инкрементальный поиск по шаблону. Первая при этом проблема: я хочу чтобы в нём автоматически было вбито то, что я уже написал в строке (когда писал, то ещё не знал что захочу incremental search) -- проблему решил. Вторая проблема: хочу чтобы точно также клавиши вверх/вниз искали по истории -- решил. А ещё вбивать "*" вместо пробелов куда геморройнее и я просто при подстановке уже набранного заменяю их на звёздочки. В итоге: штатное поведение стрелочек не поменялось и мне оно нравится. А если хочу fuzzy (*-pattern) incremental search, то просто жму Shift-Up и дальше стрелочками ищу спокойно команды как и в zsh-history-substring-search. Единственное что это не даст: красивую подсветку найденных элементов слов. Но, уж эта то подсветка точно не горит. Мой код занимает с десяток строчек и более гибок и покрывает всё что в zsh-history-substring-search. Возможно я чего-то недопонял и недоувидел, но я честно за ним просидел прилично времени.
Сгенерирован: SGBlog 0.34.0