Вопрос или проблема
Я установил fzf
с помощью Chocolatey на своем компьютере с Windows. Как я могу использовать fzf
, чтобы находить и завершать процессы прямо из командной строки (CMD)?
Я ищу упрощенный способ, аналогичный тому, как работает kill -9 **
Tab в совместимых с POSIX терминалах, чтобы эффективно искать процессы и затем завершать их. Я пробовал taskkill /IM **
Tab, но безуспешно.
fzf интегрируется с множеством оболочек благодаря скриптам завершения/сочетаний клавиш которые он предлагает для них. cmd.exe
является примитивной оболочкой по умолчанию, она не предлагает хороших возможностей интеграции.
Чтобы получить опыт, аналогичный таковому в Linux оболочках, вам нужно:
- установить clink, который модернизирует
cmd.exe
и позволяет, например, скриптинг на LUA - установить clink-fzf на LUA, скачав
.zip
исчерпывающего кода, распаковав его в папку и затем выполнив:
clink installscripts [путь к распакованной папке]
Совет: рекомендуется, чтобы папка была легкодоступной, чтобы вы могли быстро обновлять/удалять скрипт. Вы также можете настроить ее как репозиторий для прямого скачивания из git.
- настроить LUA, либо выполнив
clink set fzf.default_bindings true
, чтобы установить стандартные сочетания клавиш, включая упомянутое вами**
Tab завершение, или вручную назначив следующую команду на клавишу в.inputrc
:luafunc:fzf_tab
Вы также можете установить clink-completions LUAs аналогично, чтобы иметь лучшие возможности дополнения на первом месте – не совсем уверенно, поддерживается ли taskkill
вообще.
Ответ или решение
Как удобно использовать fzf для поиска и завершения процессов в CMD
Установка fzf на вашем Windows-устройстве при помощи Chocolatey – это первый шаг к созданию мощного инструмента для управления процессами. Но, учитывая ограничения стандартного cmd.exe
, вам нужно будет внести некоторые дополнения, чтобы добиться удобного и эффективного взаимодействия с процессами. В этом руководстве мы рассмотрим, как вы можете настроить ваше окружение для комфортного поиска и завершения процессов с использованием сочетания fzf и дополнительных инструментов.
Шаг 1: Установка Clink
Для того чтобы модернизировать cmd.exe
и добавить возможности, аналогичные POSIX-совместимым терминалам, вам необходимо установить Clink. Этот инструмент значительно расширяет стандартные функции командной строки Windows и позволяет использовать Lua-скрипты.
- Перейдите на официальный сайт Clink и скачайте последнюю версию.
- Установите Clink, следуя инструкциям на экране. Это обеспечит более современный опыт работы с командной строкой.
Шаг 2: Установка clink-fzf
После установки Clink следующим шагом будет интеграция fzf с Clink с помощью clink-fzf
. Для этого выполните следующую процедуру:
- Скачайте clink-fzf из репозитория на GitHub. Выберите «Download ZIP» и распакуйте архив в удобную директорию.
-
Откройте
cmd.exe
, перейдите в распакованную папку и выполните команду:clink installscripts [путь к распакованной директории]
Убедитесь, что вы используете легкодоступную директорию, чтобы в дальнейшем было проще обновлять или удалять скрипты.
Шаг 3: Настройка Lua-скриптов
Теперь, когда clink-fzf
установлен, следующим шагом будет настройка Lua-скриптов для активации стандартных привязок fzf и возможности завершения процессов.
-
Введите следующую команду в
cmd.exe
для активации стандартных привязок:clink set fzf.default_bindings true
-
Если вы хотите вручную настроить клавиши, вы можете отредактировать файл
.inputrc
, добавив строку:luafunc:fzf_tab
Шаг 4: Установка clink-completions (опционально)
Для улучшения возможностей автозавершения в вашем терминале можно установить clink-completions
. Этот пакет предоставляет дополнительные функции автозавершения для команд и их параметров. Вы можете установить его аналогично clink-fzf
.
-
Скачайте clink-completions и выполните команду:
clink installscripts [путь к распакованной директории clink-completions]
Шаг 5: Поиск и завершение процессов
Теперь, когда ваше окружение настроено, вы можете легко искать процессы и завершать их. Вот как это сделать:
-
Введите команду для отображения всех процессов:
tasklist | fzf
Эта команда передаст список процессов в fzf, где вы сможете ввести название или часть названия процесса для поиска.
-
После выбора процесса вы можете использовать его имя или PID для завершения:
taskkill /IM процесс.exe
или, если у вас есть PID:
taskkill /PID [PID]
Заключение
Теперь вы имеете полный контроль над завершением процессов в Windows с помощью fzf
и других современных инструментов для командной строки. Этот метод сочетает в себе мощные возможности поиска с интуитивно понятным интерфейсом, позволяя вам работать более эффективно. Не забудьте регулярно проверять обновления для Clink и плагинов, чтобы поддерживать ваше окружение в актуальном состоянии.