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 ...) полностью зависит от вас.