Vi & Vim

9
Как получить предварительный просмотр команды подстановки?

Довольно часто мне нужно выполнить подстановку, в которой совпадения будут разбросаны по всему большому файлу с нетривиальными выражениями поиска и замены. Например, скажем, у меня есть некоторые вызовы функций, такие как okFunction(arg1, arg2 arg3). Конечно, аргументы будут отличаться при каждом...

9
Элегантный способ поддержки как python, так и python3 в плагине vim

Недавно я получил запрос на изменение, чтобы изменить мой плагин vim, чтобы он поддерживал python3. Но эти изменения ломают плагин для vim на моем Mac, который, кажется, слушает python. python import sys против python3 import sys Есть ли элегантный способ заставить скрипт в моем плагине определять,...

9
Почему vim жалуется на слабую криптографию при использовании blowfish2?

Я открыл документ с 2015 года, который я сохранил, используя встроенную криптографию в vim ( :X). Это было экономно, используя blowfishв то время. Сообщение, которое я получил сейчас (2017), было таким: Warning: Using a weak encryption method; see :help 'cm' Enter encryption key:...

9
Как я могу редактировать свою конфигурацию Vim, работая в Vim?

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

9
Как я узнаю, что я в оболочке из команды vi: sh?

В vi я могу получить оболочку терминала с помощью :shкоманды. А позже я могу вернуться к vi с помощью exitоболочки. Но, если я долгое время пользовался терминалом оболочки, и я забыл, exitзакроет ли что-нибудь или вернет мне ви. Есть ли способ проверить, вернусь ли я к vi? jobsили fgне...

9
Сохранить последнее действие (.) В макросе

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

9
Почему: bd # удаляет текущий буфер, если альтернативного буфера не существует?

Вот как я воспроизвожу поведение, которое наблюдаю. Сначала я ввожу эту команду: echo aaaaa > a vim a В Vim я ввожу эти команды: :ls :e # :echo bufname('#') Вот вывод трех вышеупомянутых команд: :ls 1 %a "a" line 1 :e # E194: No alternate file name to substitute for '#' :echo bufname('#')...

8
Понимание различий между ссылками на строки через: г / ^ / норма и через:% норма

Допустим, у меня есть следующий очень простой файл a b c d e и я решил, что я хочу добавить пустые строки после каждой строки. Несколько разных методов сразу приходят мне на ум. Мы могли бы просто сделать это (и таким образом принять неудачу). Мы могли бы записать макрос qqo<ESC>jqи повторить...

8
Удалить несколько строк по адресу

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

8
Как создать кнопки на панели инструментов для увеличения и уменьшения размера шрифта?

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

8
Переключение буфера .c / .h

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