Vi & Vim

21
Как: g /^$/,/./- j (уменьшить количество пустых строк до одного пробела) работает в vim?

В статье Vim Regular Expressions Олег Райский дает следующую команду, чтобы уменьшить количество пустых строк до одного пустого: :g/^$/,/./-j Может кто-нибудь, пожалуйста, опишите, как это работает? Я знаю :gкоманды и регулярные выражения. Но я не понял, что /,/./-jделает эта часть...

21
Как добавить в буфер обмена зарегистрироваться в Vim?

Я уже знаю, что вы можете скопировать что-либо в регистр, используя: (плюс команда yank, delete и т. Д.) "a Я также понимаю, что вы можете добавить в реестр, используя: "A Кроме того, я понимаю, как скопировать что-то в регистр буфера обмена, используя: "+ Что мне ввести, чтобы добавить в реестр...

21
Отменить <CR> в режиме вставки

Иногда в режиме вставки я бью <CR>по ошибке, и мне приходится нажимать клавишу Backspace несколько раз (зависит от отступа), чтобы вернуться туда, где я был. например <div> <p> This is some text []</p> </div> Курсор []и я нажал <CR>: <div> <p> This is...

20
Как я могу использовать номер строки, чтобы скопировать строку туда, где находится мой курсор?

Много раз я нахожусь в ситуации, подобной этой: 1. <Line 1> 2. <Line 2> 3. <Line 3> 4. <Cursor is here> 5. <I want to copy line 1 here> Простое решение - mm:1<CR>yy`mpсделать отметку в строке 4, перейти к строке 1, скопировать ее, вернуться к отметке и вставить....

20
Самый простой способ удалить «составное» слово?

Извинения, если "составной" не является техническим термином. Я имею в виду следующее: Hi, I-am-a-composite-word and we are not Я хотел бы удалить только составное слово. В командном режиме, если я наведу курсор на I, то повторю dwнесколько раз, или лучше наберу dwодин раз, а затем несколько...

20
Могу ли я открыть файл в существующем экземпляре Vim с помощью внешней команды?

Некоторые приложения имеют понятие «сеанс» , где вы можете запустить команду для загрузки файла в существующий экземпляр приложения. Например, когда я печатаю: $ firefox http://vi.stackexchange.com Firefox повторно использует существующий процесс Firefox, а не создает новый. Это возможно с...

20
Можно ли использовать два разных цветовых фона в одном буфере vim?

Я ищу возможное решение для применения двух разных цветов фона внутри одного буфера vim в зависимости от контекста, как в этом примере возвышенного текста . Один из вариантов использования - по-разному раскрасить фрагменты кода внутри файлов разметки, чтобы они выделялись больше. Однако я никогда...

20
Как я могу перезагрузить все буферы одновременно?

При работе над функциональной веткой gitмне часто приходится хранить свои изменения, чтобы зафиксировать исправление ошибки в основной ветке. Когда я закончу работать над изменениями, я git stash pop, который обновляет временные метки на файлах. Несмотря на то, что файлы идентичны, в следующий раз,...

20
Навигация в режиме вставки

Я наконец решил отказаться от клавиш со стрелками для навигации в пользу hjkl. Я использовал Vim hardmodeплагин для отключения клавиш со стрелками. Я довольно быстро привык к навигации, но оказывается, что навигация в режиме вставки внезапно невозможна. Есть ли решение для этого? (существующий...

20
Почему Vimballs обычно не используются?

Я видел, что многие плагины Vim, похоже, не имеют Vimballs . Vimballs были / являются в основном tarball для плагина, который Vim знает, как установить. Таким образом, они были / более удобны, чем использование, tar -xvf потому что вам не нужно было / не нужно беспокоиться о том, что у tarball...

20
В чем разница между «сопоставленными последовательностями клавиш» и «кодами клавиш»? (timeoutlen v ttimeoutlen)

В руководстве vim говорится, что мы можем использовать, timeoutlenчтобы указать продолжительность тайм-аута сопоставленных последовательностей клавиш, и можем использовать, ttimeoutlenчтобы указать время ожидания кодов клавиш : Полезная настройка будет :set timeout timeoutlen=3000 ttimeoutlen=100...

20
Как заставить движения уважать camelCase или snake_case?

Обычно используется или camelCase или snake_case для разделения нескольких слов, которые образуют идентификатор. Было бы неплохо , если бы «слово» движение ( b, w, e) обнаружит эти границы внутреннего идентификатора. Как можно добиться такого поведения? (Plugin / vimrc /...

20
Лучшая цветовая схема diff

Я начал использовать diff режим в vim на работе, и я заметил одну вещь: цвета действительно яркие, что не помогает, когда вы пытаетесь найти различия в огромных файлах в течение длительного времени. Существуют ли какие-либо цветовые схемы, которые люди настроили так, чтобы облегчить...

20
Как я могу изменить размер отступа?

Я только что обнаружил, что могу легко делать отступы и отступы в Vi с помощью: <<и>> По умолчанию это добавляет tabсимвол. Теперь мне интересно, может ли это быть несколько пробелов через конфигурацию в моем .vimrc? И как мне это...

20
Почему Vim для Debian компилируется без буфера обмена?

Мне любопытно, почему стандартный пакет Debian для vim (тот, который вы обычно получаете sudo apt-get install vim) не скомпилирован с поддержкой буфера обмена? Ни штатный, -clipboardни -Xterm-clipboardвключен, почему ? Может быть причина не включать -Xterm-clipboard в установки Debian без...

20
Как мне случайно создать пространство без перерыва перед открытием фигурной скобки?

Я осознаю, что это странный вопрос, и это может быть даже не тот форум, на котором можно его опубликовать. Но это было проблемой в течение нескольких лет. Время от времени, скажем, раз в месяц, когда я программирую , перед открытием фигурной скобки я вводю пробел без перерывов вместо обычного...

19
Как мне работать с очень длинными строками в тексте (500+ символов)?

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

19
Как включить языковой синтаксис внутри heredoc?

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

19
Каковы различия между командами map, noremap, abbrev и noreabbrev?

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

19
Как сделать так, чтобы Vim поместил курсор в начале символа табуляции вместо конца?

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