Как выполнить выбор или диапазон Vim в bash, не заменяя его?


12

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

  1. выберите текст с помощью Vилиv
  2. :!!

Однако это заменяет выбор на вывод команды. Что если я не хочу этого?

Ответы:


21

Введите :wкоманду следующим образом:

:w !command

Когда вы наберете его, оно будет выглядеть так:

:'<,'>w !command

Видеть

:help :w_c

3
Это правильно, но будьте осторожны, чтобы не сделать :w! commandпо ошибке. Если команда - это программа, к которой у вас есть права на запись, она перезапишет программу, и вы не сможете отменить изменения, так как это был не открытый буфер.
Луч

5

В vim 8.0 вы можете выбрать диапазон строк и запустить :terminal bash. Откроется работающий терминал bashс вашим выбором в качестве стандартного.

:terminal node, :terminal ruby, :terminal pythonКажется , работать хорошо , как хорошо.

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