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

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

38
Определить ОС в Vimscript

Могу ли я получить текущую операционную систему (Windows, Linux, OS X, ..), используя чистый Vimscript (без Python или Perl)? Я хочу включить разные настройки в моем (синхронизированном) .vimrc для разных типов операционных систем, которые я использую....

35
Как сделать функцию vimscript с необязательными аргументами?

Я хочу сделать функцию, которая имеет необязательные аргументы. В Python я бы сделал что-то вроде этого: def functionName(arg1,arg2=false,arg3=false): if arg2: #Do stuff with arguments else: #Do stuff without arguments Я пытался сделать function FunctionName(arg1,arg2=false,arg3=false), но это...

32
Как вы «разбиваете» строку в Vim?

Предположим, вы запустили следующий фрагмент vimscript: let @z = system("date") Это поместит строковую версию текущей даты в регистр z, но строка будет заканчиваться символом новой строки, который мне не нужен. Есть ли встроенный способ (похожий на Perl chomp), чтобы избавиться от завершающих строк...

30
Использовать условные операторы AND или OR в выражении IF?

Вероятно, это невероятно простой вопрос, но я пока не нашел никакого ответа (мне не хватает нужных источников, и я не знаю, где искать в помощи vim). У меня есть условие, и я хотел бы включить «И», как if (condition1 .AND. condition2) "do what I want you to do endif но я не смог найти синтаксис. То...

29
В чем разница между let и set?

Я не знаю много теории Vim. Похоже, что мы setнекоторые переменные и letдругие переменные. Какая разница, и когда один требуется над другим? Кроме того, соляризованная vim colorscheme говорит о let g:blabla...том, каково значение g:в этом...

25
Вызвать функцию Vim без вывода сообщений

Я написал небольшую функцию Vim, которая перемещает курсор на первый символ текущей строки. Если курсор уже был на первом символе, тогда курсор перемещается на первый столбец. " Jump to first character or column noremap H :call FirstCharOrFirstCol()<cr> :function! FirstCharOrFirstCol() : let...

25
Как я могу по-настоящему повеселиться в Vim? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он был актуален для Vi и Vim Stack Exchange. Закрыто 3 года назад . Я люблю Vim . Я провожу всю свою жизнь, используя его: на работе я разрабатываю код с помощью Vim, я...

22
Извлечь результат команды оболочки в переменную в файле .vimrc?

В моем файле .vimrc я хотел бы сохранить в переменной результат внешней команды, в моем случае: $ echo $LANG Чтобы мой vimrcфайл имел: let language = output(!echo $LANG) if language == 'en' nnoremap <somekey> <ohanotherkey!> end if До сих пор я не мог найти, как это сделать. Я...

19
Самый простой способ запустить Vim в приватном режиме

Я хочу иметь возможность легко запускать Vim в приватном режиме. Давайте определим приватный режим как тот, который использует этот набор команд: set history=0 set nobackup set nomodeline set noshelltemp set noswapfile set noundofile set nowritebackup set secure set viminfo="" Дайте мне знать,...

18
После копирования визуального выделения на клавиатуру вернитесь в исходное местоположение.

Мой курсор находится в середине абзаца, когда я вдруг решил, что мне нужно скопировать этот абзац: Поэтому я набираю, vipчтобы выбрать абзац визуально: Теперь я нажимаю, cmd+Cчтобы скопировать в буфер обмена (это может отличаться в вашей системе, но не должно относиться к основному вопросу моего...

17
В чем разница между set и: set?

Я смотрел на vim-разумный плагин Тима Поупа и заметил это в README ... См. Источник для авторитетного списка функций. (Не волнуйтесь, это в основном :setзвонки.) Когда я посмотрел на источник, :setзвонки такие ... set autoindent Там нет :до set. Я почти уверен, что на самом деле тоже видел :setв...

17
Почему я получаю ошибку «E488: Трейлинг-символы» в этой пользовательской команде?

У меня есть, ~/.vimrcчто содержит только это: function! NewFile() let filename = input("Filename:") endfunction command NewFile :call NewFile()<cr> (конечно, мой реал .vimrcболее сложный, но я воссоздал этот маленький тестовый пример без плагинов и т. д.) Я собираюсь написать функцию, которая...

16
Установите параметр вставки, но только для одной вставки

Я хочу иметь быстрый способ установки 'paste'опции Vim , вставки некоторого текста и возврата к предыдущему значению 'paste'. Типичный вариант использования вставляет содержимое буфера обмена ОС буквально, независимо от любого перезаписи режима вставки, которая может быть активной, такой как...

15
У Vimscript есть официальное название?

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

15
Объединить блоки путем чередования строк

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

14
Можно ли получить соответствующую строку после вызова: 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 =...