Vim - Отображающий Вывод Кода в Новом Окне а-ля Textmate?

Несколько месяцев назад я переключился от Textmate до Vim. В целом я действительно люблю Vim, но одна из вещей, которые я пропускаю от Textmate, использует команду ⌘R для выполнения кода Ruby и имеет результаты, аккуратно открываются в новом, окне с возможностью прокрутки. Очевидно, Vim способен к выполнению кода Ruby и отображению вывода с :w !ruby. Единственный недостаток к этому - то, что, если получающийся вывод является слишком длинным, я не могу просмотреть его путем прокрутки.

Для борьбы с этой проблемой, я пытался изменить a :redir функция от Подсказок по Vim. Это похоже на это:

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 эффекта для вывода кода?

6
задан 23.04.2010, 22:01

2 ответа

Это кажется на использование MacVim так попробуйте это:

:w !ruby | mvim -c "set nomodified" -

Принятие Вас имеет mvim напишите сценарий где-нибудь в Вашем пути, который выполнит содержание текущего буфера, затем передать вывод по каналу в экземпляр MacVim, работающего в новом окне OS X (по сравнению с новым окном Vim). Новый буфер отмечен неизмененный для предотвращения предупреждений, когда Вы пытаетесь закрыть его без сохранения.

Подробнее:

:help macvim
:help mvim
1
ответ дан 07.12.2019, 16:31

Несколько предложений:

  1. Почему :!ruby foo.rb не работая на Вас? Принятие Вашей энергии работает в окне с возможностью прокрутки? Или как насчет :!ruby foo.rb > foo.out, сопровождаемый :e foo.out После этого у Вас будет 2 буфера открытыми, исходный файл, Вы работали в и результаты рабочего рубина. Можно сделать все виды вещей с буферами (откройте буферы в окне с несколькими панелями, и т.д.). Выезд :help :buffer для большего количества опций в этой области.
  2. Если энергия была скомпилирована с поддержкой Ruby (+ruby), можно использовать рубиновые команды в энергии, такой как :ruby {cmd}. Выезд :help :ruby для большего количества информации об этом.
  3. Вы можете быть лучше обслужены, установив rails.vim и возможно некоторые другие пакеты энергии. У Фаната Biodegradeable есть хорошая рецензия при использовании VIM как Ruby on Rails IDE
1
ответ дан 07.12.2019, 16:31

Теги

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