From 31ee58d93e7e049a4dea93901180b77addb69398 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Fri, 12 Jun 2020 10:59:59 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=BE=D0=B1=D0=BE=D0=B2?= =?utf8?q?=D0=B0=D0=BB=20zsh-history-substring-search=20=D0=B8=20=D1=83?= =?utf8?q?=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BB=20=D1=81=D0=B2=D0=BE=D0=B9?= =?utf8?q?=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. Возможно я чего-то недопонял и недоувидел, но я честно за ним просидел прилично времени. -- 2.50.0