読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

『quickrun.el』が超便利そうな感じ、でも出力表示がうまくいかない場合。

Emacs

Emacsからvimに乗り換えちゃおっかなーと色々調べてたら、vimのquickrunを知り、便利そうだなーと思ったらEmacs版の『quickrun.el』を発見。

早速使用してみる

実行してみる

sample code

hogehoge.rb
# -*- coding: utf-8 -*-

def say_hello(name)
  result = 'hello ' + name
  result
end

%w{ Jimmy Page Robert Plant John Paul Jones John Bonham }.each do |name|
  puts say_hello(name)
end
実行してみるが出力結果が...

表示されなかった。
秘伝のタレ化したinit.elが悪いのか何だかよくなかんない。

全選択してみると

でてきた。
結果がウインドウの上にあるらしい。
秘伝のタレ化したinit.elが悪いのか何だかよくなかんない。

設定をとりあえず少々いじってみた

my-quickrun-output-fix で実行。

;; popwin-el
;; https://github.com/m2ym/popwin-el
(require 'popwin)
(setq display-buffer-function 'popwin:display-buffer)

;; quickrun.el
;; https://github.com/syohex/emacs-quickrun
(require 'quickrun)
(push '("*quickrun*") popwin:special-display-config)

(defun my-quickrun-output-fix ()
  (interactive)
  (quickrun)
  (sit-for 0.5)
  (beginning-of-buffer)
  (sit-for 0.5)
  (end-of-buffer)
  )

(global-set-key (kbd "C-\\") 'my-quickrun-output-fix)
とりあえず実行するとすぐに表示されるようになった


原因判明しました*1

おそらく、1行づつスクロールする設定の

(setq scroll-conservatively 1)

これがinit.elに書いてあると表示されなくなるみたい。
コメントアウトするときちんと表示されるようになった。

作者さんに修正して頂きました*2

quickrun.elの作者の id:syohex さんにコメントを頂き早速修正していただきました。(quickrun.el Version 0.3)
init.elに(setq scroll-conservatively 1)があっても正常に動くようになりました。
ありがとうございます :-)

感想

『quickrun.el + popwin.el』はとても便利で良いモノなのではないだろうか。
やっぱりEmacsでいくかも。



*1:追記:20120117

*2:追記:20120118