VimLM: Родной LLM-ориентированный помощник программирования Vim, умное программирование для безопасной работы в автономном режиме
Общее введение
VimLM - это плагин для Vim, который предоставляет помощника по работе с кодом на основе родной модели LLM (Large Language Model). Взаимодействуя с родной моделью LLM через команды Vim, он автоматически получает контекст кода и помогает пользователям выполнять редактирование кода в Vim.Вдохновленный GitHub Copilot и Cursor, VimLM интегрирует контекстное понимание кода, обобщение кода и функциональность с помощью искусственного интеллекта непосредственно в рабочий процесс Vim. Он поддерживает широкий спектр MLX-совместимых моделей с интуитивно понятной привязкой клавиш и разделенным экраном, обеспечивая пользователям безопасное использование в автономных средах без вызовов API или утечки данных.

Список функций
- независимый от модели: Используйте любую MLX-совместимую модель через файл конфигурации
- Пользовательский опыт Vim Native: Интуитивное переключение клавиш и разделение экрана
- глубокое понимание контекста: Получение контекста кода из текущего файла, визуальных выделений, ссылающихся файлов и структуры каталогов проекта
- разговорное кодирование: Итеративная оптимизация последующих запросов
- Безопасность в автономном режиме: Полностью автономное использование, не требуются вызовы API или утечка данных
- Извлечение и замена кода: Вставляет блок кода из ответа в область выбора.
- Дополнения к внешнему контексту: Добавьте внешний файл или папку в контекст с помощью команды !include.
- Формирование файла проекта: Создайте файлы проекта с помощью команды !deploy.
- Ответные действия продолжаются: Продолжайте генерировать прерванный ответ с помощью команды !continue.
- Продолжение нити: Продолжите текущий поток с помощью команды !followup.
Использование помощи
Процесс установки
- Убедитесь, что в вашей системе установлен Python 3.12.8.
- Установите VimLM с помощью pip:
pip install vimlm
Основное использование
- Из обычного режима::
- нажмите
Ctrl-l
: Добавляет текущую строку и файл в контекст. - Пример подсказки: "Регулярное выражение для удаления HTML-тега из item.content".
- нажмите
- Из визуального режима::
- Выберите блок кода и нажмите кнопку
Ctrl-l
: Добавляет выбранный блок и текущий файл в контекст. - Пример подсказки: "Переведите этот код в синтаксис async/await".
- Выберите блок кода и нажмите кнопку
- Последующий диалог::
- нажмите
Ctrl-j
: Продолжение текущей темы. - Пример последующих действий: "Изменить на Manifest V3".
- нажмите
- Извлечение и замена кода::
- нажмите
Ctrl-p
: Вставляет блок кода из ответа в последнюю выделенную область (обычный режим) или в активную область выделения (визуальный режим). - Пример работы: выберите фрагмент кода в визуальном режиме, нажмите кнопку
Ctrl-l
в подсказке "Преобразовать этот код в синтаксис async/await", затем нажмите кнопкуCtrl-p
Замените выбранный код.
- нажмите
- встроенная команда::
!include
: Добавьте внешний контекст.- Пример: "AJAXify this application !include ~/scrap/hypermedia-applications.summ.md".
!deploy
: Создайте файл проекта.- Пример: "Создать конечную точку REST API ! /api".
!continue
: Продолжайте генерировать ответы.- Пример: "Summary !include large-file.txt !continue 5000".
!followup
: Продолжение текущей темы.- Пример: "Создать расширение Chrome".
Подробная процедура работы
- Добавление контекста::
- В обычном режиме нажмите
Ctrl-l
Добавляет текущую строку и файл в контекст. - В визуальном режиме выберите блок кода и нажмите кнопку
Ctrl-l
Добавляет выбранный блок и текущий файл в контекст.
- В обычном режиме нажмите
- Сгенерировать код::
- В обычном или визуальном режиме нажмите
Ctrl-l
Подсказка для генерации кода. - нажмите
Ctrl-p
Вставьте сгенерированный код в область выбора.
- В обычном или визуальном режиме нажмите
- Последующий диалог::
- нажмите
Ctrl-j
Продолжить текущий поток для итеративной оптимизации.
- нажмите
- Добавление внешнего контекста::
- пользоваться
!include
чтобы добавить внешний файл или папку в контекст. - Пример: "AJAXify this application !include ~/scrap/hypermedia-applications.summ.md".
- пользоваться
- Создание файлов проекта::
- пользоваться
!deploy
чтобы сгенерировать файл проекта. - Пример: "Создать конечную точку REST API ! /api".
- пользоваться
- Продолжайте генерировать ответ::
- пользоваться
!continue
команда продолжает генерировать прерванный ответ. - Пример: "Summary !include large-file.txt !continue 5000".
- пользоваться
- Продолжение нити::
- пользоваться
!followup
чтобы продолжить текущий поток. - Пример: "Создать расширение Chrome".
- пользоваться
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...