VIM: параметры, переменные и преобразование между двумя - PullRequest
4 голосов
/ 03 июня 2009

Я запутался в VIM. Некоторые вещи нужно установить, а другие позволить. И как я могу проверить на определенный вариант. Я знаю, что это вариант, потому что я использую set для его изменения.

Например, как мне проверить, является ли текущий тип файла опцией java?

Ответы [ 3 ]

11 голосов
/ 03 июня 2009

Опция

Все эти параметры так или иначе изменяют поведение Vim. Многие из них должны использоваться для настройки вашего Vim: вы можете установить, как обрабатывать файлы резервных копий, как управлять текстом, отображать ли меню и панель инструментов, и кучу других вещей. Несколько опций являются локальными для буфера или окна; например, они указывают, какой синтаксис подсветки и отступов должен использоваться в буфере. Команда :set может использоваться для установки и печати значения параметра, см. :help :set. Вы получите список всех опций с однострочным описанием, если вы наберете :h option-list. Вы получите список всех опций с их подробным описанием, если вы наберете :h option-summary.

Внутренние переменные

Внутренние переменные - это разные вещи: они похожи на переменные в программе. Вы можете создать или уничтожить переменную в любое время. Они не будут влиять на поведение Vim сами по себе, только через скрипты Vim (например, плагины Vim и ваш файл .vimrc), которые могут считывать (и изменять) свое значение и делать разные действия на его основе. Существует несколько видов внутренних переменных: глобальные переменные, локальные переменные и некоторые другие. Они описаны в :h internal-variables. Они оцениваются в выражениях (:h expression) и их можно установить и удалить с помощью команд let (:h :let) и unlet (:h :unlet).

Переменные в расширенном смысле

Есть другие объекты, которые ведут себя как переменные, но не являются внутренними переменными. Они также оцениваются в выражениях, и их значение можно установить с помощью команды let; но они не могут быть удалены. Помимо внутренних переменных существует три типа переменных: переменные среды (:h :let-environment), переменные регистров (:h let-register) и переменные параметров (:h let-option) , Все они имеют префикс, чтобы их можно было отличить от внутренних переменных и друг от друга. Переменные среды имеют префикс $, регистровые переменные @ и переменные параметров &. Эти переменные указывают куда-то (на переменную реального окружения, регистр или опцию), и когда их значение читается или устанавливается в сценарии или пользователем, фактически значение «реальной вещи» читается или устанавливается.

9 голосов
/ 03 июня 2009

Только что получил это, исследуя еще немного: Чтобы получить значение параметра, добавьте к нему префикс &.

так, выше можно сделать как

if &filetype == 'java'
7 голосов
/ 03 июня 2009

: set используется для отображения значений параметров, явной установки значений параметров и их переключения, а : let используется для установки значений параметров в результате некоторого предыдущего выражения Вы определяете значение параметра по переменной). Естественно, в сценариях vim вы будете использовать : пусть больше.

Например:
вы обычно устанавливаете тип файла с помощью

:set ft=batch

но вы также можете

:let varijabla='batch'
:let &filetype=varijabla
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...