Как выполнить команду оболочки в Vim и получить результат, напечатанный ниже?

Я хотел бы редактировать команды оболочки из vim и выполнять их из vim. В настоящее время я использую !!sh (текущая строка pipe для команды sh), но это удаляет саму строку.

Возможно ли выполнить команду в оболочке и вставить результат ниже этой строки?

4
задан 27 January 2011 в 18:11

27 ответов

Как заметил Клаузи, yyp!!sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже первоначальной и заменяет нижнюю на выход команды.

To сохраните нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~/.vimrc:

map & lt; F5 & gt; yyp !! ш & Lt; CR & GT; & Lt; & Esc, GT;

Таким образом, каждый раз, когда F5 нажимается в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 25 May 2018 в 23:16

Как заметил Клаузи, yyp!!sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже первоначальной и заменяет нижнюю на выход команды.

To сохраните нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~/.vimrc:

map & lt; F5 & gt; yyp !! ш & Lt; CR & GT; & Lt; & Esc, GT;

Таким образом, каждый раз, когда F5 нажимается в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 25 July 2018 в 22:34

Как заметил Клаузи, yyp!!sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже первоначальной и заменяет нижнюю на выход команды.

To сохраните нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~/.vimrc:

map & lt; F5 & gt; yyp !! ш & Lt; CR & GT; & Lt; & Esc, GT;

Таким образом, каждый раз, когда F5 нажимается в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 31 July 2018 в 12:47

как Clausi указал, yyp!!sh янки (копии) текущей строки в регистр, вставляет эту строку ниже оригинальной, и заменяет Нижний, вывод команды.

для сохранения нажатия клавиш можно сопоставить это действие, добавив следующую строку в ~/.vimrc файл:

карта <Ф5> yyp!!ш последовательностью<CR><ESC> и

таким образом каждый раз нажатии F5 в режиме командной строки, строка будет выполнен, и результат будет показан ниже линии.

6
ответ дан 2 August 2018 в 04:00

Как заметил Клаузи , yyp !! sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже оригинальной и заменяет нижнюю с выходом команды.

Чтобы сохранить нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~ / .vimrc :

map & lt; F5 & gt; yip !! sh & lt; CR & gt; & lt; Esc & gt;

Таким образом, каждый раз, когда F5 нажата в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 4 August 2018 в 20:03

Как заметил Клаузи , yyp !! sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже оригинальной и заменяет нижнюю с выходом команды.

Чтобы сохранить нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~ / .vimrc :

map & lt; F5 & gt; yip !! sh & lt; CR & gt; & lt; Esc & gt;

Таким образом, каждый раз, когда F5 нажата в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 6 August 2018 в 04:04

Как заметил Клаузи , yyp !! sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже оригинальной и заменяет нижнюю с выходом команды.

Чтобы сохранить нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~ / .vimrc :

map & lt; F5 & gt; yip !! sh & lt; CR & gt; & lt; Esc & gt;

Таким образом, каждый раз, когда F5 нажата в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 7 August 2018 в 22:04

Как заметил Клаузи , yyp !! sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже оригинальной и заменяет нижнюю с выходом команды.

Чтобы сохранить нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~ / .vimrc :

map & lt; F5 & gt; yip !! sh & lt; CR & gt; & lt; Esc & gt;

Таким образом, каждый раз, когда F5 нажата в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 10 August 2018 в 10:18

Как заметил Клаузи , yyp !! sh yanks (копирует) текущую строку в регистр, вставляет эту строку ниже оригинальной и заменяет нижнюю с выходом команды.

Чтобы сохранить нажатия клавиш, вы можете сопоставить это действие, добавив следующую строку в файл ~ / .vimrc :

map & lt; F5 & gt; yip !! sh & lt; CR & gt; & lt; Esc & gt;

Таким образом, каждый раз, когда F5 нажата в командном режиме, линия будет выполнена, и результат будет показан ниже строки.

6
ответ дан 13 August 2018 в 16:42

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp!!sh)?

2
ответ дан 25 May 2018 в 23:16

Введите команду оболочки в буфере, например last | head, и в режиме командной строки :read !^R.. Конечно, вместо того, чтобы буквально нажать ^R, нажмите комбинацию клавиш CTRL-R. Посмотрите его в :help c_ctrl-r. . означает «последний вставленный текст». Если команда является одним словом, например vnstat, поместите курсор на это слово и введите :read !<cword>.

0
ответ дан 25 May 2018 в 23:16

Введите команду оболочки в буфере, например last | head, и в режиме командной строки :read !^R.. Конечно, вместо того, чтобы буквально нажать ^R, нажмите комбинацию клавиш CTRL-R. Посмотрите его в :help c_ctrl-r. . означает «последний вставленный текст». Если команда является одним словом, например vnstat, поместите курсор на это слово и введите :read !<cword>.

0
ответ дан 25 July 2018 в 22:34

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp!!sh)?

2
ответ дан 25 July 2018 в 22:34

командная оболочка типа в буфере, например, last | head, и в режиме командной строки :read !^R. конечно, а не вводить в буквальном смысле ^R нажмите CTRL-R сочетание клавиш. Посмотрите в :help c_ctrl-r. . расшифровывается как "последний вставленный текст". Если команда одна, например, слово vnstat, наведите курсор на это слово и тип :read !<cword>.

0
ответ дан 31 July 2018 в 12:47

что о копировании/вставке строки перед выполнением (что-то вроде yyp!!sh)?

2
ответ дан 31 July 2018 в 12:47

Введите команду оболочки в буфере, например last | head, и в режиме командной строки :read !^R.. Конечно, вместо того, чтобы буквально нажать ^R, нажмите комбинацию клавиш CTRL-R. Посмотрите его в :help c_ctrl-r. . означает «последний вставленный текст». Если команда является одним словом, например vnstat, поместите курсор на это слово и введите :read !<cword>.

0
ответ дан 2 August 2018 в 04:00

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp!!sh)?

2
ответ дан 2 August 2018 в 04:00

Введите команду оболочки в буфере, например last | head и в режиме командной строки : читать! ^ R. Конечно, вместо того, чтобы печатать буквально ^ R , нажмите CTRL-R комбинация клавиш. Посмотрите это в : help c_ctrl-r . . означает «последний вставленный текст». Если команда является одним словом, например vnstat , поместите курсор на это слово и введите : read! & Lt; cword & gt; .

0
ответ дан 4 August 2018 в 20:03

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp !! sh )?

2
ответ дан 4 August 2018 в 20:03

Введите команду оболочки в буфере, например last | head и в режиме командной строки : читать! ^ R. Конечно, вместо того, чтобы печатать буквально ^ R , нажмите CTRL-R комбинация клавиш. Посмотрите это в : help c_ctrl-r . . означает «последний вставленный текст». Если команда является одним словом, например vnstat , поместите курсор на это слово и введите : read! & Lt; cword & gt; .

0
ответ дан 6 August 2018 в 04:04

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp !! sh )?

2
ответ дан 6 August 2018 в 04:04

Введите команду оболочки в буфере, например last | head и в режиме командной строки : читать! ^ R. Конечно, вместо того, чтобы печатать буквально ^ R , нажмите CTRL-R комбинация клавиш. Посмотрите это в : help c_ctrl-r . . означает «последний вставленный текст». Если команда является одним словом, например vnstat , поместите курсор на это слово и введите : read! & Lt; cword & gt; .

0
ответ дан 7 August 2018 в 22:04

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp !! sh )?

2
ответ дан 7 August 2018 в 22:04

Введите команду оболочки в буфере, например last | head и в режиме командной строки : читать! ^ R. Конечно, вместо букв буквально ^ R нажмите CTRL-R комбинация клавиш. Посмотрите это в : help c_ctrl-r . . означает «последний вставленный текст». Если команда является одним словом, например vnstat , поместите курсор на это слово и введите : read! & Lt; cword & gt; .

0
ответ дан 10 August 2018 в 10:18

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp !! sh )?

2
ответ дан 10 August 2018 в 10:18

Как насчет копирования / вставки строки перед выполнением (что-то вроде yyp !! sh )?

2
ответ дан 13 August 2018 в 16:42

Введите команду оболочки в буфере, например last | head и в режиме командной строки : читать! ^ R. Конечно, вместо того, чтобы печатать буквально ^ R , нажмите CTRL-R комбинация клавиш. Посмотрите это в : help c_ctrl-r . . означает «последний вставленный текст». Если команда является одним словом, например vnstat , поместите курсор на это слово и введите : read! & Lt; cword & gt; .

0
ответ дан 13 August 2018 в 16:42

Другие вопросы по тегам:

Похожие вопросы: