Fish. Плагин PatrickF1/fzf.fish

2025-02-27 · 3 мин. для прочтения

Fish. Плагин PatrickF1/fzf.fish.

Содержание

1 Общая информация

2 Установка

  • Установка пререквизитов:
    emerge app-shells/fish
    emerge app-shells/fzf
    emerge sys-apps/bat
    emerge sys-apps/fd
    
  • Установка (системный пакет, репозиторий guru, см. Gentoo. Дополнительные репозитории):
    fisher install PatrickF1/fzf.fish
    
  • Установка (fisher):
    fisher install PatrickF1/fzf.fish
    

3 Сочетания клавиш

3.1 Общая информация

  • Табуляция используется для выбора нескольких записей.
  • Если вы запустите поиск, когда ваш курсор находится на слове, это слово будет использовано для запроса fzf и будет заменено выбранным вами.
  • Все поисковые запросы включают предварительный просмотр объекта, на который наведён курсор.
  • Для ручной привязки используйте fzf_configure_bindings:
    fzf_configure_bindings --help
    

3.2 Поиск по каталогу

  • Сочетание клавиш: Ctrl+Alt+F
  • Мнемоника: F for file
  • Ввод FZF: рекурсивный список не скрытых файлов текущего каталога
  • Вывод: относительные пути выбранных файлов
  • Окно предварительного просмотра: файл с выделением синтаксиса, содержанием каталога или типом файла

3.3 Поиск по журналу GIT

  • Сочетание клавиш: Ctrl+Alt+L
  • Мнемоника: L for log
  • Вход FZF: отформатированный git log текущего репозитория
  • Вывод: хэши выбранных коммитов
  • Окно предварительного просмотра: Сообщение и различие

3.4 Поиск по статусу GIT

  • Сочетание клавиш: Ctrl+Alt+S
  • Мнемоника: S for status
  • Вход: git status текущего репозитория
  • Вывод: относительные пути
  • Окно предварительного просмотра: git diff файла

3.5 Поиск по истории командной оболочки

  • Сочетание клавиш: Ctrl+R
  • Мнемоника: R for reverse-i-search
  • Вход: история команд
  • Вывод: выбранные команды
  • Окно предварительного просмотра: вся команды

3.6 Поиск по процессам

  • Сочетание клавиш: Ctrl+Alt+P
  • Мнемоника: P for process
  • Вход: вывод ps
  • Вывод: pid процесса
  • Окно предварительного просмотра: использование ЦП, использование памяти, время запуска и т.д.

3.7 Поиск по переменным

  • Сочетание клавиш: Ctrl+V
  • Мнемоника: V for variable
  • Вход: все переменные оболочки
  • Вывод: выбранные переменные оболочки
  • Окно предварительного просмотра: информация и значения переменной

4 Настройка поведения

4.1 Просмотр каталогов и обычных файлов

  • Поиск по каталогу по умолчанию:
    • ls для просмотра каталогов;
    • bat для просмотра обычных файлов.
  • Чтобы использовать свою собственную команду предварительного просмотра каталога, установите её в fzf_preview_dir_cmd:
    set fzf_preview_dir_cmd eza --all --color=always
    
  • Можно использовать свою собственную команду предварительного просмотра файлов в переменной fzf_preview_file_cmd:
    set fzf_preview_file_cmd cat -n
    

4.2 Файлы при поиске

  • Чтобы передать пользовательские параметры fd установите их в fzf_fd_opts:
    set fzf_fd_opts --hidden --max-depth 5
    
  • По умолчанию, fd скрывает файлы, перечисленные в .gitignore.
  • Можно отключить это поведение, добавив флаг --no-ignore в fzf_fd_opts.

4.3 Изменить форматирование поиска в журнале GIT

  • Поиск в журнале GIT выполняет командой git log --format.
  • Чтобы использовать свой собственный формат, установите его в fzf_git_log_format, например, показывать хэш и субъект для каждого коммита:
    set fzf_git_log_format "%H %s"
    

4.4 Декорирование вывода diff

  • Установите команду вызыва highligher в fzf_diff_highlighter:
    # width=20 so delta decorations don't wrap around small fzf preview pane
    set fzf_diff_highlighter delta --paging=never --width=20
    # Or, if using DFS
    set fzf_diff_highlighter diff-so-fancy
    

4.5 Формат времени для поиска

  • Измените fzf_history_time_format, например, форматируем время даты как dd-mm-yy:
    set fzf_history_time_format %d-%m-%y
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.