2013-06-01 7 views
2

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

:!shell_command 

Теперь у меня есть команда в строке 16 файла, открытого в Vim.

cp /home/debian/Downloads/rar/rar /usr/local/bin 

screenshot

Как я могу запустить эту команду в Vim, не печатая все это?

Когда я ударил :!, чтобы открыть команду экс строки, а затем использовать <C-r>", я получаю это:

ls /tmp^m 

screenshot

Я должен стереть ^m с клавишей возврата, и нажмите клавишу ввода ключ, это правильно? Могу ли я не показывать^М?

+0

вы спрашиваете, как запустить команду на линии курсора? – FDinoff

+0

. 'Уу :! "'. – Kevin

+0

Если после yank появляется '^ M ', тогда да, вы должны стереть его – FDinoff

ответ

2

Чтобы запустить команду на линии, на которой находится ваш курсор, вы можете выровнять строку в вашем буфере обмена. Введите :!, чтобы открыть командную строку ex, а затем используйте <C-r>", чтобы вставить команду в командную строку.

Итак, с помощью курсора на строке и нажмите enter.

yy:!<C-r>" 

Посмотрите на :h <c-r>.

CTRL-R {0-9a-z"%#:-=.}     *c_CTRL-R* *c_<C-R>* 
     Insert the contents of a numbered or named register. Between 
     typing CTRL-R and the second character '"' will be displayed 
     to indicate that you are expected to enter the name of a 
     register. 
     The text is inserted as if you typed it, but mappings and 
     abbreviations are not used. Command-line completion through 
     'wildchar' is not triggered though. And characters that end 
     the command line are inserted literally (<Esc>, <CR>, <NL>, 
     <C-C>). A <BS> or CTRL-W could still end the command line 
     though, and remaining characters will then be interpreted in 
     another mode, which might not be what you intended. 
     Special registers 
+0

Мне нужно стереть^m с помощью ключа bachspace и нажать клавишу ввода, это так? –

+0

Если'^M' показывает а затем да, вы должны стереть его – FDinoff

+0

@it_is_a_literature да вам нужно нажать клавишу возврата, а затем нажать клавишу ввода. Есть ли что-то, чего вы не получите? – FDinoff

Смежные вопросы