スポンサーリンク

このドキュメントの内容は、以下の通りです。

Vim で編集中のコードを実行してみたいときに、どのようにしていますか?
C-z で、 vim をバックブラウンドにやって !php を実行し、
fg で vim に戻ってくるとか。
:w したあとに、違うターミナルもしくはScreen/tmuxの他のウィンドウに移動して、!! してる、とか。

いちいち :w して、 :q して php foo.php とかやって、また、vim foo.php
とかやってる不思議ちゃんとかも世の中にはいます。

いちいち、シェル / ターミナルに移動しないで、実行したいし、
実行結果もそのまま残しておきたい、とか思ったりもしますよね。

そこで、 quickrun です。

vim 編集中のコードをショートカットで実行して、その結果を split したウィンドウで表示することができます。

設定


これは、 Bundle で導入する場合です。

.vimrc に下記の設定を加えます。

Bundle 'thinca/vim-quickrun'
let g:quickrun_config={'*': {'split': ''}}

vim を起動して、インストールします。
:BundleInstall

使い方


まずは、プログラムを書きます。

vim quickrun.php

<?php
echo ':)';
?>

~
[php]/tmp/quickrun.php[+][euc-jp][unix]                             <1,5>   全て

この状態で、保存してなくても大丈夫です。

さて、buffer の中身を実行してみましょう。

カレントのバッファを実行するには、ノーマルモードで
\r
を実行します。

Vim が split されて、左側の buffer に実行した結果が表示されます。

:)                                      |<?php
~                                       |echo ':)';
~                                       |?>
~                                       |
~                                       |~
[quickrun]<ut][euc-jp][unix]<1,1>   全て [php]<php[+][euc-jp][unix]<2,10>   全て

たとえば、こんな壊れた状態 (foreach がちゃんとかけてない) で実行すると

<?php
echo ':)';
foreach
?>

~
[php]/tmp/quickrun.php[+][euc-jp][unix]                             <3,8>   全て

当然、エラーになるわけですが、
quickrun output の buffer に

Parse error: syntax error, unexpected ';', expecting '(' in /tmp/vQ9GWAX/4 on line 4

エラーが表示されるわけです。


引数を1つ指定する。
:QuickRun -args foo

複数の引数を指定して実行する。

:QuickRun -args "foo bar"


実行時間を表示する。
:QuickRun -hook/time/enable 1

文字コード


プログラムが utf-8 で、 \r で実行すると euc-jp の buffer で文字化けせずに表示されました。

設定


quickrun の設定。

デフォルトだと vsplit されるが、split にしたい場合には、
以下の設定をします。
let g:quickrun_config={'*': {'split': ''}}

quickrun のバッファを下に表示したい場合は、以下の設定にします。
let g:quickrun_config={'*': {'split': ''}}
set splitbelow

new したときも、同様に新しいバッファが下にできます。

quickrun の buffer を開く場所を指定することが可能です。

set splitbelow 新しいウィンドウを下に開く
set splitright 新しいウィンドウを右に開く

常に実行時間を表示する。
let g:quickrun_config = {'*': {'hook/time/enable': '1'},}

デモ




スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー