Vi & Vim

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

2
Как я могу проверить орфографию в атрибутах HTML?
Функция проверки орфографии Vim в большинстве случаев прекрасно работает - она ​​даже достаточно умна, чтобы отличать код от литералов и комментариев на большинстве языков. Однако у меня есть проблемы с проверкой орфографии HTML: <div title="text with mistaek #1" data-text="text with mistaek #2">text with mistaek #3</div> В приведенном выше примере divвыделена …

1
Могу ли я заставить совпадение скобок отображаться в нескольких окнах?
У меня есть исходный файл, содержащий длинный список глубоко вложенных гетерогенных структур. Поскольку конструкции длинные, я бы хотел: Используйте :splitкоманду, чтобы разделить экран на две части. Прокрутите вниз одно окно и вверх другое окно. Когда курсор в окне 1 находится над круглой скобкой, а другая скобка видна в другом окне, …

1
Как я могу легко получить длину куска текста?
Иногда я хочу проверить длину фрагмента текста, например, в этом примере: str = 'Hello, world!' if len(str) == 13: print('Hello back to you!') Я хотел бы знать длину строки Hello, world!. То, что я делаю сейчас, это с номером столбца в rulerformatс %c, я помещаю курсор на первый символ, затем …

2
Свернуть не удается: vim не может найти сгиб
Я пытаюсь свернуть некоторый код PHP, и я включил урезанную версию некоторого кода, который я пытаюсь свернуть, в конце поста. Я пробовал следующие команды vim, но работают только приведенные ниже команды ex. Не бывшие команды не работают и выдают белое на красном сообщение в строке состояния, говорящее: я не могу …

1
Определите пользовательские команды для регистров * и +
Если я использую сборку Vim с этой xterm_clipboardфункцией, то содержимое системного буфера обмена доступно через +реестр. Если сборка, которую я использую, не имеет этой функции, могу ли я заставить "+регистр вызывать мои пользовательские программы для извлечения и установки системного буфера обмена ( xsel -boи / xsel -biили аналогичным образом xclip)? …

1
Регекс, который предпочитает более короткие совпадения в матче? (Это более сложный, чем не жадный)
Я пытаюсь создать скрипт для выполнения нечеткого поиска внутри буфера. Основная идея состоит в том, чтобы взять некоторый ввод и вставить .\{-}между каждой парой символов, например, fooстановится f.\{-}o.\{-}o. Это работает довольно хорошо, но дает много неидеальных совпадений. Я думаю, что нечеткий поиск должен сначала дать самые короткие совпадения. Рассмотрим следующий …

4
Добавление блока заголовка комментария шириной 80 столбцов с центрированным текстом
По той или иной причине я часто делю код на подразделы, разделенные такими заголовками: ################################################################################ #################################### LOAD ###################################### ################################################################################ Это 3 строки шириной 80 столбцов #с заголовком в центре. До сих пор я не нашел быстрый способ создать их в VIM. То , что я обычно делаю что - то …


1
Как создать кнопки на панели инструментов для увеличения и уменьшения размера шрифта?
Многие системы предлагают кнопки + и - масштабирования. Может кто-нибудь продемонстрировать, как можно эмулировать такие две кнопки gvim? Это означает, что нажатие кнопки + увеличит размер шрифта на один шаг. Кнопка - делает наоборот.
8 gvim  font 

4
Переключение буфера .c / .h
Я обычно работаю с 2 окнами, вертикально разделенными. Проблема, которую я хотел бы решить, заключается в следующем: легко переходить назад и вперед из файла реализации заголовка <-> Я исследую, без удачи, 2 способа сделать это: Открыть альтернативный файл в текущем окне : Есть много способов сделать это, однако я не …


1
Удалить несколько строк по адресу
Я смотрел на этот вызов vimgolf и подумал, что было бы неплохо удалить определенные строки по адресу. Я знаю, что могу сделать это :<line_number>d, но есть ли способ перечислить несколько номеров строк для dзапуска? Я представляю что-то вроде этого :1,4,32d, но, конечно, это не работает. Как это будет сделано?

1
Понимание различий между ссылками на строки через: г / ^ / норма и через:% норма
Допустим, у меня есть следующий очень простой файл a b c d e и я решил, что я хочу добавить пустые строки после каждой строки. Несколько разных методов сразу приходят мне на ум. Мы могли бы просто сделать это (и таким образом принять неудачу). Мы могли бы записать макрос qqo<ESC>jqи …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.