パーソナルツール

broadcast.vim : 他のリモートウィンドウにキーストローク送信

— カテゴリ:
作者: 小見 拓 最終変更 2012年01月15日 08時16分

操作中のvimエディタのウィンドウから、 他のvimエディタのウィンドウに、キーストロークを送信できるようになります。 このスクリプトを使用すれば、エディタのウィンドウを切り替えなくても他のウィンドウに、 テキスト入力や、検索、置換、コマンド実行、編集作業の終了などの操作を行えます。 複数のウィンドウを同時にいくつも開いて作業することの多い人には、おすすめのスクリプトです。 (Windows)

概要

broadcast.vim : Send keystrokes to all VIM windows
http://www.vim.org/scripts/script.php?script_id=316

操作中のvimエディタのウィンドウから、
他のvimエディタのウィンドウに、キーストロークを送信できるようになります。

このスクリプトを使用すれば、エディタのウィンドウを切り替えなくても他のウィンドウに、
テキスト入力や、検索、置換、コマンド実行、編集作業の終了などの操作を行えます。

複数のウィンドウを同時にいくつも開いて作業することの多い人には、おすすめのスクリプトです。

スクリプトの動作イメージ。「こういう入力を行え」という命令を他のウィンドウに送信できる。

Note

スクリプトの動作イメージ。「こういう入力を行え」という命令を他のウィンドウに送信できる。

インストール方法

スクリプト をダウンロードして、
pluginディレクトリにコピーしてください。

ファイル URL
broadcast.vim http://www.vim.org/scripts/script.php?script_id=316

使用方法

このスクリプトをインストールすると、2つのコマンドが追加されます。
どちらのコマンドも引数に与えられたキーストロークを他のウィンドウに送信するコマンドですが、
「:Bcast0」の方は、操作中のウィンドウには、キーストロークを送信しません。

用意されているコマンド 説明
:Bcast 他のウィンドウにキーストロークを送信します。送信対象に作業ウィンドウも含まれます。
:Bcast0 他のウィンドウにキーストロークを送信します。送信対象に作業ウィンドウは含まれません。ちなみに最後の文字はアルファベットの「O」ではなく、数字の「0」

コマンドは送信したいキーストロークを引数にとります。

" コマンドの書式
:Bcast keystrokes
このように送信したいキーストロークをコマンドの引数に渡す。

送信したいキーストロークをコマンドの引数に渡します。

" コマンドの実行例 その1 「検索の実行」
:Bcast /search_word<CR>
" コマンドの実行例 その2 「置換処理の実行」
:Bcast :%s/pre/post/g<CR>
" コマンドの実行例 その3 「保存してからウィンドウを閉じる」
:Bcast :wqa<CR>
" コマンドの実行例 その4 「操作中でない他のウィンドウを全て閉じる」
:Bcast0 :qa!<CR>
" コマンドの実行例 その5 「1行目にhello worldという文字を入力する」
:Bcast <ESC>ggOhello world<ESC>

エスケープキー、タブキー、エンターキーの入力などは、
それぞれ、「<ESC>」、「<TAB>」、「<CR>」と指定します。
検索、置換、コマンド実行の場合、最後に<CR>を入れておかないと、
処理を実行できません。

注意事項など

vimエディタの「clientserver」の機能が有効になっていないと、
このスクリプトを使用することはできません。

「clientserver」の機能が有効であるかどうかは、
vimエディタを立ち上げて下のコマンドを入力すれば確認することができます。

:version
ドキュメントアクション
コメント
blog comments powered by Disqus