Vi & Vim

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

2
Как я могу перезагрузить все буферы одновременно?
При работе над функциональной веткой gitмне часто приходится хранить свои изменения, чтобы зафиксировать исправление ошибки в основной ветке. Когда я закончу работать над изменениями, я git stash pop, который обновляет временные метки на файлах. Несмотря на то, что файлы идентичны, в следующий раз, когда я пытаюсь сохранить, я получаю: ВНИМАНИЕ: …
20 buffers  load 

1
Как включить языковой синтаксис внутри heredoc?
Когда я редактирую файл PHP и определяю строку в heredoc, подсветка синтаксиса будет включена внутри heredoc, если это синтаксис JavaScript, синтаксис HTML или синтаксис SQL. Однако это не будет работать для синтаксиса CSS. Пример (если мы создадим новый файл PHP hello.phpс именем следующего кода): <?php $foo = <<<"JAVASCRIPT" var hello …

2
Как сделать так, чтобы Vim поместил курсор в начале символа табуляции вместо конца?
Откройте пустой буфер и вставьте символ табуляции, затем выйдите в нормальный режим. Когда вы поместите курсор (обычный режим) на вкладку, он будет справа от пробела. Я ищу способ, чтобы курсор был слева от пробела. Благодарность!

1
Выясните, какой плагин отвечает за привязку ключа
Я собирался ответить на вопрос, но понял, что мой ответ зависит от привязки ключа, предоставленной плагином, который я установил. Еще хуже, я не знаю, какой плагин это обеспечивает. Единственный способ решить эту проблему, который я знаю, - это «бинарный поиск» моих установленных плагинов, отключив половину и включив другую половину. Я …

1
Как определить собственное всплывающее окно / меню в vimrc
Назначение каждой полезной функции для клавиши хорошо работает для часто используемых инструментов, но есть некоторые операции, которые я использую настолько редко, что я бы предпочел назначить их некоторым всплывающим меню, определенным в моем vimrc. Я видел плагины, такие как CtrlP, открывающие всплывающий список, так что это должно быть возможно. Итак, …
19 vimrc 

2
Откройте .md файлы как Markdown
Vim по умолчанию открывает все файлы .md в виде кода "modula2". Я никогда не слышал о modula2 и не планирую им пользоваться. Как я могу сказать vim всегда обращаться foo.mdс Markdown (как если бы я печатал :set ft=markdown)?
19 filetype 

4
Как мне работать с очень длинными строками в тексте (500+ символов)?
Для некоторых текстовых форматов переносы строк имеют значение. Например, я часто использую Vim для написания документов MediaWiki, где вы не можете просто поместить перенос строки где-либо (в отличие от Markdown). Поэтому я вынужден писать строки с большим количеством символов. Это может привести к длинным (более 200 символов) или даже очень …

6
Установите другой цвет курсора для выделенного слова
С текущей цветовой схемой, которую я использовал, трудно найти, где находится курсор при навигации по результатам поиска. Цвет выделения и цвет курсора смешиваются, что затрудняет поиск курсора. Как установить другой цвет курсора, когда он находится на выделенном слове?

2
Автозамена орфографических ошибок
Я включил проверку орфографии с :set spell spelllang=en_us Теперь я могу исправить написание слова, набрав 1z=(то есть выбрать 1исправление орфографии st z=) ( ). Как я могу сделать так, чтобы это автоматически запускалось на предыдущем слове при вводе пробела без каких-либо задержек? Он также пытается «исправить» слова, которые уже написаны …

4
Как я применяю команду ко всем строкам?
Если я хочу сделать отступ для всех строк в документе, я могу напечатать, >Gчтобы применить его к текущей строке и ниже, а затем и >ggприменить ее к строкам выше. Есть ли комбинация, которую я могу использовать, чтобы просто применить >ко всем линиям одновременно?

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

3
Как остановить запись в командной строке?
Когда я записываю макрос с помощью qи все готово, я могу набрать: q остановить запись, если я нахожусь в нормальном или визуальном режиме. <c-o>q остановить запись, если я в режиме вставки. .. Как остановить запись, если мой макрос заканчивается в командном режиме?

1
Как я могу перейти к следующему «абзацу»?
Сейчас я работаю с некоторыми блоками текста длиной более 1000 строк. Есть ли простой способ перейти к началу следующего абзаца? Мой обходной путь на данный момент - поиск двух последовательных символов новой строки: /\n\n Другой обходной путь будет vip Esc j vip v isually выберите I ˝n˝ р aragraph (который …

1
Как я могу заставить gx распознавать полные URL в vim?
По умолчанию, если буфер в vim содержит URL-адрес, например http://www.google.com, gxв обычном режиме откроется браузер с этим URL-адресом. Это очень удобно. Однако если URL имеет параметры URL (например http://www.google.com/search?q=stuff), то параметры URL пропускаются (то есть просто http://www.google.com/searchоткрывается). Я использую MacVim 7.4 patch 183, с Chrome в качестве основного браузера (на …

1
Каковы различия между командами map, noremap, abbrev и noreabbrev?
Эти команды каким-то образом преобразуют один набор нажатий клавиш в другой, но я не совсем понимаю, какой из них наиболее подходит для некоторой ситуации. Кроме того, есть !варианты их. На данный момент я использую их довольно случайно, поэтому я могу знать, с какими подводными камнями связан каждый из них? В …

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