Як я можу виконати вибір або діапазон 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з вашим вибором як stdin.

:terminal node, :terminal ruby, :terminal pythonЗдається , працювати добре , як добре.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.