Несколько месяцев назад я перешел с Textmate на Vim. В целом, я действительно люблю Vim, но одна из вещей, которые я пропускаю в Textmate, - это использование команды ⌘R для запуска кода на Ruby и аккуратное отображение результатов в новом прокручиваемом окне. Очевидно, что Vim способен запускать код Ruby и отображать вывод с помощью :w !ruby
Единственный недостаток этого заключается в том, что если полученный результат слишком длинный, я не могу прокрутить его.
Чтобы решить эту проблему, я попытался изменить функцию :redir
из Vim Tips. Это выглядит так:
function! TabMessage(cmd)
redir => message
silent execute a:cmd
redir END
tabnew
silent put=message
set nomodified
endfunction
command! -nargs=+ -complete=command TabMessage call TabMessage(<q-args>)
Теперь вывод из Ruby помещен в новую вкладку. Однако я не могу заставить его всплыть в новом отдельном окне. Изменение tabnew
на new
просто отправляет вывод в разделение в том же окне.
Другая проблема заключается в том, что видимый ^M
добавляется в конец каждой строки, поэтому вывод в итоге выглядит следующим образом, что немного утомительно:
Hello World!^M
Итак, есть ли способ получить вывод в отдельное окно, не ^M
в конец? Есть ли какие-нибудь плагины, которые я должен использовать, чтобы добиться эффекта Textmate для вывода кода?