Vi & Vim

Вопросы и ответы для людей, использующих семейства текстовых редакторов vi и Vim

2
Можно ли использовать делегат или передать функцию в качестве аргумента в Vimscript?
Я пытаюсь создать небольшой плагин для изучения vimscript, моя цель - создать некоторые функции, обрабатывающие выделенный текст и заменяющие его результатом. Скрипт содержит следующие элементы: Две функции, обрабатывающие текст: они принимают строку в качестве параметра и возвращают строку, которая должна использоваться для замены исходного текста. На данный момент у меня …

4
Как я могу запустить Javascript напрямую и показать вывод?
Я просто провожу некоторое тестирование с помощью функции языка JavaScript без манипуляций с DOM. Итак, я редактирую файл js, и мне интересно, как просто запустить его и показать вывод консоли? Я установил плагин moll / vim-node , но не знаю, как запустить js-код.

3
Vim замедляется со временем при включенном синтаксисе
Что я могу сделать, чтобы сохранить syntax onпри использовании Vim? Как только я открываю что-то существенное, через некоторое время редактирование становится практически невозможным. Каждое нажатие вызывает задержку. Если я выключу подсветку синтаксиса или перезапущу vim - все снова хорошо. Я synmaxcolустановил значение 120. Пример файла ruby ​​имеет длину всего 59 …

3
Сделать режим командной строки типа <Esc> и Ctrl команды
Представьте, что вы хотите процитировать слово ниже. Если |это позиция курсора, вы можете легко заключить слово в кавычки cw""&lt;Esc&gt;Pиз обычного режима. |below Я хочу добиться того же поведения в режиме командной строки. У меня вопрос, как я могу сказать в режиме командной строки, что я хочу набрать &lt;Esc&gt;. Я пробовал …

1
Как сдвинуть отступ строки к определенному значению?
Много раз я сталкивался с ситуацией, когда строка не имеет правильного отступа. Эфир через вставку, плохой / не предпочтительный плагин отступа или чаще всего лишние пробелы, смещающие значение отступа. Я обычно исправить это, &lt;&lt;или &gt;&gt;линия несколько раз , чтобы зафиксировать его. В случае лишних пробелов я сделаю 100&lt;&lt;тогда a &gt;&gt;для …


2
Быстро переключаться между шрифтами во время выполнения
Несмотря на то, что шрифты можно выбрать вручную в GVim из меню, у меня есть несколько предпочтительных шрифтов, которые я хотел бы переключать между в зависимости от задачи (небольшая битовая карта, больший OTF ... и т . Д.) . Есть ли способ настроить привязку клавиш для циклического перебора списка шрифтов, …

4
: читать после курсора, а не после строки
Я :r !uuidgenчасто использую, чтобы вставить новый UUID в буфер. Это работает, но я обычно пытаюсь вставить uuid между кавычками и :r !uuidgenпечатать uuid на новой строке. Чтобы обойти эту проблему, я в настоящее время использую простую раскладку клавиш: nnoremap &lt;C-u&gt; mm:r!uuidgen&lt;CR&gt;dW"_dd`mp Этот макрос устанавливает метку mm, вставляет uuid r!uuidgen, …

1
Сопоставить последовательность букв в режиме вставки
Я уже могу сопоставить комбинацию клавиш в режиме вставки: :inoremap abc &lt;do stuff&gt; Однако у этого есть несколько недостатков: При вводе частичной версии последовательности, такой как abсимволы, фактически не отображаются в течение короткого промежутка времени, так как «ждет», чтобы увидеть, собираетесь ли вы вводить полную команду. Это нежелательно; Я хочу …

2
Как я могу изменить Vim для работы с другой раскладкой клавиатуры?
Я печатаю с раскладкой клавиатуры не QWERTY. Многие из ключей, которые использует Vim, теперь находятся в домашнем ряду, но некоторые привязки клавиш просто не работают, наиболее очевидным из которых являются hjklключи. Как и где я могу изменить эти привязки клавиш для лучшей работы с моей раскладкой клавиатуры?

5
Навигация по нескольким файлам
Если я открою vim с несколькими файлами в командной строке, например, vim debug.log*какие загрузки debug.log, debug.log.1и debug.log.2, могу ли я перемещаться между ними, назначить их нескольким окнам ( :split/ :vsplit) или тому подобное? Только ярлык я знаю для этого режима работы :n, который загружает следующий файл в списке. Что еще …

2
Можно ли использовать функциональность клиентского сервера vim для синхронизации настроек?
Я обычно имею несколько экземпляров vim, работающих на одной машине. Когда я делаю изменения в моем vimrc, я могу просто :source ~/.vimrc(с простым отображением или autocmd). Но для того, чтобы все запущенные экземпляры отражали изменения, мне нужно запустить их в каждом из них отдельно. Могу ли я использовать эту clientserverфункцию, …

2
Как я могу использовать проверку правописания Vim с «умными цитатами»
Есть "нормальные" прямые кавычки: '" И у вас есть угловые «умные цитаты»: «» Проверка орфографии Vim работает с «прямыми» кавычками, но не с ангельскими кавычками, так что это считается «неправильным»: это ... Монти Пайтон Хотя это не так. Снимок экрана, если ваш шрифт не показывает разницу: Как это исправить? Я …

2
Как выполнить команду при запуске vim
Я только что установил плагин для Python, который отображает дерево методов. Поэтому я хотел бы открыть дерево при запуске, поэтому нет необходимости нажимать кнопки каждый раз, когда я открываю какой-либо .pyфайл. Но я хочу, чтобы эта команда выполнялась только для .pyфайлов. Вот как выглядит мой кусок vimrc: nmap &lt;F8&gt; :TagbarToggle&lt;CR&gt; …

2
Что на самом деле делает «плагин типа файла»?
Я понимаю, что он загружает ftplugin.vimфайл, но что он действительно делает? Устанавливает ли он параметры (в зависимости от типа файла)? Если бы я включил эту строку в начале моего vimrc filetype plugin indent on и затем я задаю некоторые параметры после этой строки (например, autoindent, smartindent и т. д.), будет …
11 filetype 

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