Вопросы с тегом «external-command»

Вопросы о вызове внешних команд (оболочки) из Vi или Vim.

70
Как выполнить команды оболочки без вывода сообщений?

:!<command>может использоваться для выполнения команды в оболочке. Но это «захватывает» мой терминал и наполняет его stdoutименно этой командой. Как выполнить команду в фоновом режиме, которая уведомляет меня только о ненулевом коде...

52
Как я могу интегрировать GDB с Vim?

Вместо gdbtuiили ctrl+xпод gdbкоторым отображается исходный код в верхней части экрана, я хотел бы видеть это в моем редакторе Vim, который будет переключаться между вкладками и буферами соответственно. Как я могу это...

22
Как использовать внешнюю команду в Vim для изменения выбранных слов и строк?

Что-то, что я нашел полезным в других редакторах, - это способность: взять выделенный текст запустить внешнюю команду и передать выбор ее stdin возьмите внешние команды stdoutи замените текущий выбор им. Таким образом, вы можете написать полезные текстовые инструменты, которые работают с...

22
Извлечь результат команды оболочки в переменную в файле .vimrc?

В моем файле .vimrc я хотел бы сохранить в переменной результат внешней команды, в моем случае: $ echo $LANG Чтобы мой vimrcфайл имел: let language = output(!echo $LANG) if language == 'en' nnoremap <somekey> <ohanotherkey!> end if До сих пор я не мог найти, как это сделать. Я...

21
Выполнить bash-скрипт из vim

Я использую Vim для сценариев Bash. иногда я не хочу создавать новый файл, делать его исполняемым, выполнять его и затем удалять. Я имею в виду сценарии, которые будут использоваться только один раз. Например, я открываю vim и набираю это: #!/bin/bash ll | while read line do echo $line done Я не...

19
Как я могу заставить gx распознавать полные URL в vim?

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

16
Можно ли оформить интерактивную оболочку в окне Vim?

Я знаю, что могу :!или могу :r!выполнить внешнюю команду и при желании вставить ее вывод в текст. Я даже могу выполнить, :!shи я создам оболочку, которая будет жить до тех пор, пока я не выйду из нее - но пока оболочка активна, Vim «спит» и недоступен. Я должен выйти из оболочки и создать новую,...

11
: читать после курсора, а не после строки

Я :r !uuidgenчасто использую, чтобы вставить новый UUID в буфер. Это работает, но я обычно пытаюсь вставить uuid между кавычками и :r !uuidgenпечатать uuid на новой строке. Чтобы обойти эту проблему, я в настоящее время использую простую раскладку клавиш: nnoremap <C-u>...

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

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

9
Определите пользовательские команды для регистров * и +

Если я использую сборку Vim с этой xterm_clipboardфункцией, то содержимое системного буфера обмена доступно через +реестр. Если сборка, которую я использую, не имеет этой функции, могу ли я заставить "+регистр вызывать мои пользовательские программы для извлечения и установки системного буфера...

9
Как изменить визуально выбранный блок с помощью внешней команды?

У меня есть файл, который состоит из двух вертикальных частей. С левой стороны данные уже отформатированы, и я не хочу их менять. Я только хочу отформатировать данные на правой стороне. Скажем, у меня есть файл с такими строками, как foo=bar baz # Neato Junk quux=xyzzy # Bilbo Baggins Ring со...

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

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