Vi & Vim

10
NERDTree Как открыть файл и автоматически закрыть буфер обозревателя

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

10
Вывести текущее имя файла для редакции в командной строке

Как я могу вызвать путь к текущему файлу в командной строке, чтобы ввести аналогичное имя файла? Я не хочу аббревиатуру, которая будет заменена текущим именем файла, я хочу отредактировать имя файла вместе с путем к каталогу. Например, я хочу :editфайл с похожим именем или в аналогичном каталоге,...

10
удалить строки, которые соответствуют шаблону от данной строки до конца файла

Если у меня есть файл с большим количеством комментариев, и я хочу удалить все комментарии, скажем, от строки 3 до конца файла, каков наилучший способ сделать это? Я застрял, поскольку то, что я впервые попробовал, похоже, не совсем то, что я хочу: :3,$/^#/d Вместо того, чтобы искать шаблон и...

10
Как мне посчитать слова в части файла, не покидая vim?

У меня есть файл, полный текста (скажем, Markdown или LaTeX). Я хотел бы посчитать количество слов в части этого файла. Я знаю, что могу сделать :! wc -w %для запуска wc -w на текущий буфер. И я знаю, что могу вставить интересующий раздел в именованный регистр. Я предполагаю, что есть способ...

10
Есть ли движение, похожее на «, которое никогда не включает ведущие пробелы?

Я использую a"движение довольно часто в VIM; например, используя ca"при рефакторинге кусок кода, чтобы заменить жестко закодированный аргумент именем переменной. Проблема с этим подходом состоит в том, что a" включает ведущие пробелы, если нет пробелов : Любые конечные пробелы включены, если их...

10
Запретить обновление экрана до завершения функции

У меня есть функция, которая выполняет много операций по перемещению и выводу текста в текущий буфер vim, и когда я ее запускаю, то, что происходит со скоростью ослепления, немного сбивает с толку. Как я могу заморозить экран, пока функция не будет выполнена? Вот эта функция: function!...

10
Цифровая клавиатура не работает с vi и Putty?

Когда я редактирую файл vimчерез SSH, я попытаюсь использовать цифровую клавиатуру на своей клавиатуре для ввода длинных чисел (например, IP-адресов). Vimкажется, это не очень нравится. Я использую PuTTY для Windows для SSH на компьютер под управлением Debian. Нажатие 123вводит меня это независимо...

10
Как искать шаблон в определенных синтаксических регионах?

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

10
Для печати с выделенными результатами поиска

Когда мы ищем шаблон в vim, совпадения обычно подсвечиваются. Однако, когда мы распечатываем его, блики исчезают. Я пробовал и то :hardcopy > my_file.pdfи другое :TOhtml. Ни один не сохраняет основной момент. Можно ли как-нибудь вывести документ с выделенными шаблонами в файл PDF? Я использую...

10
Проблемы с прокруткой, когда установлена ​​опция `wrap`

Я сталкиваюсь с этой проблемой каждый раз, когда wrapопция активна (в моем конкретном случае, когда я работаю с файлами уценки). Что происходит, так это то, что при прокрутке буфера вверх и вниз с помощью jи k, обернутые строки текста (визуально формируя абзац) в дальнем верхнем и дальнем нижнем...

10
Как настроить заклинание, чтобы игнорировать некоторые среды в LaTeX

Есть ли способ сказать vim не проверять орфографию части латексного документа? Например, блок кода с использованием mintedсреды или URL-адреса в \url{}? (Я не уверен, что это актуально для проверки орфографии, но я использую плагин vimtex для редактирования латексных...

10
Как заменить в несколько строк?

Я хотел бы вставить слово в несколько строк, есть ли такая команда, как :[2,3,5,7,11]s/^/word\ /g что вставит wordв начало строки 2, строки 3, строки 5, строки 7 и строки 11? Здесь несколько строк не являются...

10
Вариант использования неовим терминального эмулятора?

Одно большое отличие neovim и Vim состоит в том, что neovim включает эмулятор терминала, который работает асинхронно. Тем не менее, я не вижу, как я могу извлечь выгоду из этой функции. Для чего я могу это использовать? Можете ли вы привести некоторые примеры использования терминальной функции...

10
Как добавить некоторую строку в конец файла, только если его еще нет?

Я хотел бы отредактировать файл на месте, добавив строку, только если она еще не существует, чтобы сделать мой сценарий пуленепробиваемым. Обычно я бы сделал что-то вроде: cat >> ~/.bashrc <<EOF export PATH=~/.composer/vendor/bin:\$PATH EOF Это также возможно сделать через ansible (...

10
Как должен работать параметр «switchbuf»?

Недавно я обнаружил эту опцию switchbufи попытался ее использовать, но не могу сказать, не понимаю ли она, как она должна работать, или она на самом деле не работает на моем Vim. О различных возможных значениях, документ говорит: useopen Если включено, перейдите к первому открытому окну, которое...

10
Есть ли способ вставить один символ и затем выйти из режима вставки?

Когда я просматриваю текст и, например, добавляю кавычки вокруг определенных слов или кавычек или чего-то еще, меня раздражает необходимость нажимать клавишу Esc или Ctrl- [после каждой вставки. Вставки (и дополнения) разные, поэтому .не сильно помогает. Есть ли что-то похожее на rто, что после...

10
Как grep в вывод команды ex?

Как искать шаблон в выводе команды ex? Например, как искать шаблон имени файла в выводе :scriptnamesкоманды? В справке все ароматы grepи vimgrepесть только {file}как место, где выполнить...