Вопросы с тегом «vimscript»

Язык сценариев, встроенный в Vim. Его можно использовать для настройки Vim в соответствии с вашими потребностями и для создания плагинов. Также называется VimL.


2
У Vimscript есть официальное название?
Название языка, иногда известного как Vimscript, является предметом споров. Некоторые места используют Viml (или это VimL?), Другие Vimscript. У него есть официальное название, и если да, то как оно и с каких пор оно официально? ТАК вопрос о VimL против Vimscript (~ 5 лет) Недавний пост, в котором упоминается, что …

4
Объединить блоки путем чередования строк
Существует ли специальный способ объединения двух блоков текста путем чередования строк, например, переходя от этого: a1 a2 a3 a4 b1 b2 b3 b4 к тому, что: a1 b1 a2 b2 a3 b3 a4 b4 в нескольких командах? РЕДАКТИРОВАТЬ : Мне очень нравится решение Сато Кацура , вот как я его …

2
Как проверить значение параметра Vim в Vimscript?
В Vimscript, как я могу проверить текущее значение опции Vim? Чтобы уточнить, я хочу сделать команду для переключения из Full-GUI Mode ( guioptions=+tM) в Hacker Mode ( guioptions=-tM). Тем не менее, я не могу найти способ разобрать :set guioptions?значение

1
Можно ли получить соответствующую строку после вызова: search ()
В vimscript-функции мне нужно назначить соответствующую строку переменной l:matchedпосле вызова, search()и мне интересно, есть ли более короткий путь, чем то, что я сейчас делаю: let l:pattern = '\v^Foo: \zs.*' let l:line = search(l:pattern) let l:line_text = getline(l:line) let l:matched = matchstr(l:line, l:pattern) В идеале я бы хотел что-то вроде let …
14 vimscript  search 

2
Автоматически добавлять закрывающее "или" при вставке, но только если курсор уже не находится внутри строки
Я определил в себе сопоставления vimrcдля автоматического ввода закрывающих скобок и фигурных скобок при вводе открывающих скобок с помощью inoremap ( ()<esc>i. Я хотел бы сделать то же самое для "и ', но только когда курсор в данный момент находится не внутри строки - так как внутри строки ', вероятно, …

2
Как мне сгенерировать документацию Vim из заметок Markdown или встроенных комментариев, или есть лучшие способы добавить документацию?
Это своего рода два вопроса в одном. В последнее время я трачу много времени на глубокое изучение vimscript, изучение внутренних функций vim и выполнение моих первых шагов по написанию плагинов vim. Во время этого процесса я держал обширные заметки в отдельных файлах разметки и добавлял множество встроенных комментариев «документации» в …

2
Является ли cpo & vim специальным синтаксисом?
В скриптах принято делать что-то вроде: let s:save_cpo = &cpo set cpo&vim ... script ... let &cpo = s:save_cpo Для обеспечения несовместимого режима для скрипта. Является: set cpo&vim какой-то особый синтаксис, как в foo & bar? Или это больше похоже на команду, триггерную строку или что-то еще?
14 vimscript 

4
Как поменять каждые 4 строки?
Прежде всего, так как это мой первый пост здесь, я просто хотел бы сказать, что я считаю, что VIM является отличным инструментом, а форум здесь очень полезен для поиска ответов на вопросы, с множеством полезных людей, предоставляющих неоценимая помощь. Я все еще очень плохо знаком с VIM, поэтому почти все, …
13 vimscript 


2
Как восстановить положение курсора после выполнения обычной команды?
Я пытаюсь закодировать функцию, которая заменяет символ в шестом столбце моей текущей строки символом доллара ( $), но я бы хотел, чтобы мой курсор оставался в том положении, в котором он находился до вызова функции. Поэтому я попытался сохранить текущий столбец, выполнить свои изменения, а затем вернуться со следующей функцией: …

2
Как получить текущее байтовое смещение во всем файле
Я видел, что вы можете отобразить текущее байтовое смещение в строке состояния, используя %o, но я не нашел функции или команды, которая делает то же самое. Есть ли способ получить текущее байтовое смещение прагматично?


4
Команда, чтобы пройтись по предложениям правописания
Я сопоставляются zzс 1z=, который является большим большую часть времени, но каждый сейчас и тогда первое предложение не является правильным. Поэтому я хотел бы повторять zz(или .) циклически проходить другие предложения. Тогда секунда zzна том же слове будет работать как u2z=, третья zzбудет работать как u3z=и так далее. Есть идеи, …

3
Заменить на чистый vimscript (без `: s`)
У меня есть следующее в моем vimrc: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc Я использую vint для lint мой vimrc, и получил следующее предупреждение: ProhibitCommandWithUnintendedSideEffect Избегайте команд с непреднамеренными побочными эффектами. Избегайте использования: s [ubstitute], поскольку он перемещает курсор и печатает сообщения об ошибках. Предпочитают функции (такие как search ()), лучше …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.