Описание тега lte
Двоеточие
Двоеточие в начале строки не являются обязательными. Для сценариев они обычно и не так как это делает код чище/легче читать. Двоеточие является , однако, необходимым внутри сопоставление, как объяснил позже.
Установка значений параметров
При установке значений параметров, как формат
и runtimepath
вы можете не иметь пробел между =
и значение. Она должна быть:
установить значение =ОС UNIX
"или
установить значение=ОС UNIX
обратите внимание, что это не так пусть
, который можно использовать для присвоения значений переменным, или со ссылкой на вариант. Это нормально:
пусть s:файл foo = бар""
пусть &формат = "Юникс"
Функции именования
Когда вы пишете ваши собственные функции имя должны начинаться с прописной буквы. В вашем случае что-то вроде:
функция! Print_hi()
"|
"+----------- Капитал
Совместимый режим
Ваши сохранения и восстановления ЦПО
рутина не так уж много. В “нормальной” вещь, чтобы сделать, это сохранить его, то есть свой сценарий, и в конце его восстановить.
пусть s:save_cpo = &ЦПО
набор ЦПО&ВИМ
"Остальной скрипт
пусть &ЦПО = с:save_cpo
Как ваш скрипт сейчас, она только сохраняет его, установить его, затем восстанавливает его в смежной последовательности. Другими словами он может быть опущен в целом или использовать шаблон, как показано выше.
Причина такой распорядок, что в вашем скрипте, вы не знаете, если пользователь находится в режиме совместимости, (больше похоже на ви, менее как ВИМ), или нет. Поэтому это нормально, чтобы сохранить режим, установить режим в Vim, а затем восстановить его в конце. Таким образом, вы можете использовать Vim функции без проблем.
Переписан скрипт
В целом, это должно быть больше в направлении вы хотите его:
пусть s:save_cpo = &ЦПО
набор ЦПО&ВИМ
функция! Print_hi()
Echo "Привет..его сделали"
endfunction
карте <Ф7> :вызов Print_hi()<СГ>
"|
"+-------------------- Примечание; здесь мы используем двоеточие.
пусть &ЦПО = с:save_cpo
Сопоставление, E488
Другие ответы дали достаточно хорошее объяснение на том, почему вы получаете
E488:Замыкающие Символы
ошибка. Короче: при сопоставлении такой, только нажмите Ф7. Не нажимайте первого двоеточия. Инго Каркат имеет некоторые хорошие советы на функцию карту, чтобы использовать.
Толстой кишки :
в вашем сопоставление говорит ВИМ, чтобы войти в режим командной строки. Затем команда печатается звонок Print_hi()
. Наконец, <СГ>
добавляется для выполнения командной строки. Так же, как войти , если вы написали команду вручную. Фактически она становится автоматической-клавиатуры последовательности.
Более эффективное написание
Обычно лучше всего добавлять рецепты в свои собственные файлы, а затем загрузить скрипты из .vimrc
. Не писать много скриптов / функций .vimrc
себя. Когда вы пишите на скрипт и вы хотите протестировать его, вы можете просто сказать:
:так что %
ввода
У меня эти сопоставления в моей RC-файл для быстрой загрузки:
"^О является Ctrl-о (i: клавиши Ctrl-V и Ctrl и-так; чтобы предотвратить движение курсора
"Сохранить + Источник
inoremap <молчун> <с-с-Ф12> ^О-З<КР>^О:так что %<СR>
nnoremap <молчун> <с-с-Ф12> :з<КР>:так что %<СR>
"Источник
inoremap <молчун> <с-Ф12> ^о:так что %<СR>
nnoremap <молчун> <с-Ф12> :так что %<СR>
Также есть функция, только для поиска выбранного кода, но так как этот пост становится довольно длинный ...