Чи є функція "зворотного інкрементального пошуку" у риб, схожа на CTRL + R Баша?


36

Я дуже вражений функцією автозаповнення Fish . Однак є одна особливість у Bash, яку я не можу знайти у Fish. Коли ви натискаєте Ctrl+ Rу Bash і починаєте вводити термін, на вашому пошуку проводиться пошук, .bash_historyщоб знайти відповідність у зворотному порядку.

Чи є подібний функціонал у Fish?


Що слід відзначити щодо риси стрілки вгору / вниз, це те, що вона набагато менш потужна, ніж зворотний пошук Баша. Це стає очевидним, коли ви можете запам'ятати свій аргумент чи варіант, але не з першої частини вашої команди. Зворотний пошук робить нечіткий вбудований пошук, риба просто перевіряє наявність однакового початку речення.
Kasper HJ

6
@KasperHJ, я думаю, ваш коментар може бути застарілим. Я набрав staі натиснув, і він знайшов git stash list. Я нещодавно почав використовувати Fish, тому не знаю, чи це нещодавно додана функція чи щось, що є в Рибі вже давно.
Еліас Замарія

Відповіді:


46

Я ніколи не використовував fishсебе, але побіжний пошук в Google підвів цю сторінку, яка говорить про це

Потужний механізм історії

Сучасні оболонки зберігають попередні команди в історії команд. Ви можете переглянути попередні команди, використовуючи стрілки вгору та вниз. Fish розширює це поняття, інтегруючи функцію пошуку історії. Для пошуку історії просто введіть рядок пошуку та натисніть стрілку вгору. За допомогою стрілки вгору та вниз ви можете шукати старі та новіші збіги. Історія риб автоматично видаляє повторювані збіги і виділяється відповідна підрядка. Ці функції значно швидше здійснюють пошук та повторне використання попередніх команд.

Це те, що ви шукаєте? Це схоже на bash's.


7

риба не здійснює поступовий пошук історії, хоча, здається, час від часу з'являється. Документація до 2.0 містить розділ 1 "Відсутні функції та помилки", де перелік інкрементального пошуку історії досить далеко в списку "Можливі функції". До списку розсилки рибокористувачів входить це повідомлення від Акселя Лільєнкраца від 21 серпня 2006 р., В якому він каже, що додатковий пошук був би гарною особливістю.

Якщо ви звикли до поступового пошуку в стилі bash, пошук історії риб вимагає трохи звикнути. Спочатку потрібно ввести пошуковий термін, і ви переміщуєте відповідні записи вгору та вниз стрілками вгору та вниз. Але я вважаю, що ти звик до цього.




1

Набагато кращий Ctrl + r зворотний пошук за допомогою FZF та fzf fish plugin , використовуючи менеджер пакетів Triton , налаштований на використання Silver Searcher .

~ / .config / fish / config.fish:

triton jethrokuan/fzf
set -U FZF_COMPLETE 2
set -U FZF_FIND_FILE_COMMAND "ag -l --hidden --ignore .git"
set -U FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border"

В ОС Mac для встановлення попередніх запитів:

brew install the_silver_searcher
brew install fzf

0

Використання стрілок вгору та вниз не є хорошою альтернативою Ctrl+R, тому що якщо ви шукаєте фразу, це дійсно глибоко в історії, вам доведеться сильно натискати клавіші вгору / вниз! Я просто використовуюhistory | grep -i [phrase]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.