vim
Расширение Vim
Поиск…
замечания
Плагин - это сценарий или набор сценариев, которые изменяют поведение по умолчанию Vim, либо путем добавления несуществующих функций, либо путем расширения существующих функций.
Часто добавленные «несуществующие функции» включают:
- комментируя,
- обнаружение отступов,
- автодополнение,
- нечеткое соответствие,
- поддержка определенного языка,
- и т.п.
Часто расширенные «существующие функции» включают:
- всенаправленное завершение,
- текстовые объекты и движения,
- дергая и кладя,
- строка состояния,
- поиск и замена,
- переключение буфера / окна / вкладки,
- складывающиеся,
- и т.п.
Как работают плагины
Плагин может представить себя как один файл, содержащий 30 строк vimscript или 20 Мбайт vimscript / python / ruby / whatever, разделенных на множество файлов в десятке каталогов, которые зависят от ряда внешних инструментов.
Первый, очевидно, прост в установке и управлении, но последний может сделать паузу довольно сложной задачей.
Принцип
Параметр 'runtimepath' указывает Vim, где искать сценарии выполнения. Значение по умолчанию позволяет Vim искать сценарии в следующих каталогах, чтобы :
на UNIX-подобных системах
-
$HOME/.vim/ -
$VIM/vimfiles/ -
$VIMRUNTIME/ -
$VIM/vimfiles/after/ -
$HOME/.vim/after/
-
в Windows
-
$HOME/vimfiles/ -
$VIM/vimfiles/ -
$VIMRUNTIME/ -
$VIM/vimfiles/after/ -
$HOME/vimfiles/after/
-
Из приведенных выше каталогов установите только плагины, выделенные жирным шрифтом. Другие вызовут нестабильность без уважительной причины. Установка плагина сводится к размещению каждого из его компонентов в правильном каталоге под $HOME/.vim/ или $HOME/vimfiles/ .
Ручной метод
Плагин с одним файлом
Поместите файл под $HOME/.vim/plugin или $HOME/vimfiles/plugin
Это послужит источником плагина при запуске Vim. Теперь пользователь может использовать все, что определено в нем. Если плагин, однако, нуждается в активации, пользователь либо должен сам выполнить команду, когда захочет ее использовать, либо добавить команду в .vimrc
сверток
Пакет - это структура каталогов, которую использует плагин. Он состоит из всех файлов плагина под соответствующими подкаталогами.
Чтобы установить такой плагин, подкаталоги должны быть объединены со своими аналогами в $HOME/.vim/plugin . Однако этот подход приводит к смешению файлов разных плагинов в одних и тех же каталогах и может привести к проблемам с пространством имен.
Другой подход - скопировать весь каталог в $HOME/.vim/bundle .
При использовании этого подхода должен быть хотя бы один .vim файл в каталоге $HOME/.vim/bundle/autoload . Эти файлы будут получены vim при запуске.
Примечание. В зависимости от операционной системы пользователя префикс всех путей может быть $HOME/vimfiles . Подробнее о том, как работают плагины
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
Vundle - менеджер плагинов для Vim.
Установка Vundle
(Полную информацию об установке можно найти в кратком старте Vundle )
Установите Git и clone Vundle в
~/.vim/bundle/Vundle.vim.Настройте плагины, добавив в верхнюю часть вашего
.vimrc: добавление или удаление плагинов по необходимости (плагины в списке предназначены только для иллюстрации)set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on "place non-Plugin stuff after this lineУстановка плагинов: запуск Vim и запуск
:PluginInstall.
Поддерживаемые форматы плагинов
Ниже приведены примеры различных поддерживаемых форматов. Сохраните команды плагина между vundle#begin и vundle#end .
| Расположение плагинов | использование |
|---|---|
| плагин на GitHub | Plugin 'tpope/vim-fugitive' |
| плагин из http://vim-scripts.org/vim/scripts.html | Plugin 'L9' |
| Плагин Git не размещен на GitHub | Plugin 'git://git.wincent.com/command-t.git' |
| git repos на вашей локальной машине (т. е. при работе с вашим собственным плагином) | Plugin 'file:///home/gmarik/path/to/plugin' |
| Скрипт sparkup vim находится в подкаталоге этого репо, называемого vim. Пропустите путь, чтобы правильно установить путь выполнения. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
| Установите L9 и избегайте конфликта имен, если вы уже установили другую версию в другом месте. | Plugin 'ascenator/L9', {'name': 'newL9'} |
Например, работа над общей учетной записью, на узле кластера, может поднимать проблемы с места использования .vim каталоге .vim . Существует несколько пакетов, которые занимают значительное количество дискового пространства, например YCM . Поэтому, пожалуйста, выберите свой каталог плагина Vundle умом, и его очень легко сделать, установив rtp . А также, если вы планируете установить какой-либо vim-плагин, не делайте непосредственно git clone в каталоге bundle . Используйте путь Vundle.
Будущее: пакеты
См :help packages .
патогенный микроорганизм
ВЬЕТ-патоген является runtimepath менеджером , созданный Тимом Папой , чтобы сделать его легко установить плагин и во время выполнения файлов в своих личных каталогах.
Установка патогена
Поместите патоген в
~/.vim/bundle(здесь с Git, но это не обязательно):git clone https://github.com/tpope/vim-pathogen.gitДобавьте следующие строки вверху вашего
.vimrc:" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
- директива
runtimeуказывает путь к сценариюvim-pathogen; -
execute pathogen#infect()инициирует его.
После запуска Pathogen автоматически запускает развертку через папки в ~/.vim/bundle и загружает плагин из каждого из них.
Использование патогена
- Поместите каталог верхнего уровня вашего плагина в
~/.vim/bundle/чтобы сделать его доступным при следующем запуске Vim. - Run
:Helptagsдля индексации вашей новой документации плагина.
Выгоды
- Каждый плагин находится в своем каталоге под
~/.vim/bundle/. - Ваш
.vimrcостается чистым из конфигурации, необходимой для загрузки плагинов.
Таким образом, усилия, необходимые для «управления» плагином, сводятся к:
- поместите его каталог верхнего уровня в
~/.vim/bundle/чтобы установить его, - замените его каталог верхнего уровня, чтобы обновить его,
- удалите его каталог верхнего уровня, чтобы удалить его.
Как вы выполняете эти три действия (вручную, с помощью инструмента автоматизации, с Git / Svn / Hg / whatever ...) полностью зависит от вас.