Vi & Vim

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

6
Удалить n строк пропустить 1 строку сценария
Я хочу создать базовый скрипт Vim, который просто удаляет n строк, пропускает 1 строку и повторяется до конца документа. Меня не интересуют конкретные совпадения, я просто хочу удалить строку. Например; Поэтому я хочу повторить команду 3ddjдля всего документа. Text I want to keep. Text I want to delete. Text I …

1
различные шаблоны поиска для окна / буфера
Возможно ли как-то иметь разные шаблоны поиска для каждого окна или буфера, т.е. Я хочу найти термин A в окне / буфере A и термин B в окне / буфере B, чтобы при использовании hlsearchвыделять разные вещи, например, в параллельном разделении.
10 search  buffers 

2
Как перечислить доступные варианты плагина?
Недавно я обнаружил, что YouCompleteMeесть g:ycm_autoclose_preview_window_after_insertionопция, которая автоматически скрывает окно предварительного просмотра документации после выхода из режима вставки, и я также недавно начал использовать vim, так что это был первый раз, когда я установил эту опцию. Поэтому мне стало интересно, есть ли в других плагинах, которые я установил в моей …
10 options 

1
Сортировка столбца без изменения других столбцов
Недавно я знал о !технике фильтрации , и мне это нравится. К сожалению, я не могу использовать его в режиме визуального блока. Надеюсь, что некоторые эксперты помогут мне. По сути, я хочу отсортировать столбец, например третий, ниже (просто MWE). И я не хочу мешать другим колонкам, когда сортирую. Я попытался …

4
Объединение последовательностей команд для повторения (.)
Рассматривать: apple pear Поместите курсор на первую строку и введите Yp: apple apple pear Наведите курсор на pearстроку и введите, .чтобы повторить последнюю команду. Это повторяет только p(а не комбинацию Yp), производя: apple apple pear apple Я хотел бы сказать способ .повторить последние N команд. Что-то вроде 2.повторения комбинации Ypдля …

1
Что такое имя токена '\%' и '\ @' в vim regex? И что это делает?
При редактировании файла синтаксиса я нашел что-то вроде: \s*\%(\%(:\@<!\/\/.*\)\=\|\%(\/\*.*\*\/\s*\)*\)$ Я знаком с любым, кроме \%и \@там. Я не могу даже гуглить, потому что я не знаю, как это зовут. Так что это такое и что оно делает?

2
Как вставить визуальный блок, начиная с другой строки
Мне потребовалось очень много времени, чтобы осознать, что помещение (вставка) чего- pлибо или Pвыделение визуального блока ctrl+vили его извлечение (копирование) с помощью yсохраняет прежний способ, так что, когда скопированный текст находился в середине строк, он будет тогда скопирован среди середины другого текста когда бы ни было возможно. Напротив, select-line with …

6
как изменить интерпретатор python, используемый jedi-vim
У меня есть Anaconda(включая python3.5.2), VIM(7.4) и Jedi-VIMустановлено в моей системе. По pythonумолчанию также была установлена ​​система Linux. По крайней мере, автозаполнение работает на базовых пакетах. Но для пакетов типа numpy(которые были включены в Anaconda) завершение не работает. Используя следующую команду в VIM: :py3 import sys; print(sys.path) ['/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', …

1
Визуальный блок вставить новую строку
Я много работаю с режимом визуальных блоков, который я считаю действительно полезным для быстрых изменений во многих строках. Но я пытаюсь вставить новую строку следующим образом: Выбор отмечен как []: Some [t]ext Some [t]ext Some [t]ext Some [t]ext Some [t]ext Я нажимаю Iи могу добавить текст для вставки перед t: …

3
Как я могу легко перечислить содержимое регистров перед вставкой?
Я часто использую регистры для копирования / вставки, но я всегда забывал, в каком регистре находится мой контент. Есть ли способ отобразить регистры перед вставкой? В идеале это оставило бы регистр на экране при выборе того, который мы хотим.

1
Как я могу выделить совпадающие имена «%» (например, if / end, for / end), определенные matchit.vim при выборе?
В настоящее время мой Vim выделяет совпадающие скобки, скобки, кавычки и т. Д. С голубым фоном и белым передним планом - курсор можно перемещать между ними с помощью %. Благодаря моему matchit.vim я также могу переключаться %между if / end, for / end и т. Д., Однако они не выделяются …

1
Объединить внешние изменения, сделанные во время редактирования
Если в редактируемый файл Vim вносятся внешние изменения, я понимаю, что могу перезагрузить содержимое файла :edit. Но предположим, что (внутренне) я внес изменения в файл, который хочу сохранить. Есть ли способ объединить два набора изменений (внешние и внутренние)? Из того, что я понимаю, :editпросто берет внешние изменения.
10 merge 

6
Как скопировать первые четыре символа каждой строки в конец этой же строки?
Учитывая ряд строк, которые выглядят примерно так: 2001 "Some Kind of Title," Author's Name, Publication Name, 1 Mar. 2002 "Some Kind of Title," Author's Name, Publication Name, 12 Oct. 2003 "Some Kind of Title," Author's Name, Publication Name, 8 Apr. 2004 "Some Kind of Title," Author's Name, Publication Name, 3 …

3
Vim, ctags и перегрузка
Есть ли способ заставить vim автоматически переходить к правильному определению соответствия в случае нескольких определений. Наш код C ++ интенсивно использует перегрузку функций, и обработка ctags в vim, похоже, не готова к этому. Например, void abc(int a, int b) { } void abc(int a, int b, int c) { } …

2
Автозаполнение для значений параметров в cmdline
Я не могу сосчитать, сколько раз я пытался это сделать: :set foldmethod=syn^I Кажется, что завершение не работает на значениях опций! В некоторых случаях параметры представляют собой сложные строки, в которых завершение может не иметь смысла. (Например 'comments') Но были ли предприняты какие-либо попытки обеспечить завершение wildchar для общих случаев использования? …

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