技術の犬小屋

Webプログラミングを餌に生きる犬のメモ帳

Posts in the エディタ/IDE category

Swingを触り始めたので、Window Builderも触ってみた。やっぱり、ドラッグ&ドロップでの画面レイアウト作成はすごく楽。Window Builderを触り始めてから、これ無しでの開発は考えられなくなった。
 

Window Builderとは

GUIアプリケーションのデザインを簡単にしてくれるEclipseのプラグインである。
実際にGUIを見ながらコンテナやコンポーネントを配置していくことで直感的にアプリケーションをデザインすることが出来る。
 

Window Builderをインストールする

まずは以下のサイトから自分のEclipseのバージョンに合ったlinkをクリックする。
http://www.eclipse.org/windowbuilder/download.php
 
リンク先のURLをコピーし、Eclipseの[ヘルプ]-[新規ソフトウェアのインストール]から作業対象に先ほどコピーしたURLをペーストして、これを追加する。「Swing デザイナー」「SWT デザイナー」「WindowBuilder Engine」が表示されるので全てにチェックを付け、次へを選択する。表示されるライセンスに同意することでインストールが完了する。
 

Window Builderの使い方

まずは編集対象とするプロジェクトを作成する。作成したプロジェクトを右クリックし、[新規]-[その他]-[WindowBuilder]-[Swing デザイナー]を選択する。[Swing デザイナー]の中には、JFrameやJPanelなどの基本的なコンテナとコンポーネントが表示されるので、作成したいものを選択する。
 
作成したファイルを開くと、初めはソースコードが表示されるので、画面下部のタブを[Design]に切り替え、デザイン画面を表示する。
 
Paletteペインから配置したいコンテナやコンポーネントを選んで、ドラッグ&ドロップで配置することが出来る。
 
プロパティペインからは、デザイン画面上で選択しているオブジェクトのプロパティを設定することが出来る。このペインでは、レイアウトマネージャーの切り替えや、位置・フォント・バックグラウンドカラーの設定を行うことが出来る。
 
配置したコンポーネントにアクションを設定することも出来る。配置したコンテナ・コンポーネントを右クリックし、[アクションの設定]-[新規]を選択する。しかし、アクションの詳細設定はデザイン画面では行うことはできないので、ソース画面に切り替えて設定する必要がある。
 
 
以上
 
 
参考
WindowBuilder
WindowBuilder User Guide
WindowBuilder (GUIビルダ) を使ってみました。(前編) | 書きかけの技術書+

PHPを書いていたときは他に良いエディタが無かったから仕方なくVimを使ってたけど、Javaを書くときはEclipseでいいよね、ということでEclipseにVrapperを導入した。
 

Vrapperとは

EclipseのキーバインドをVimっぽくしてくれるEclipseのプラグインである。
 

Vrapperの導入方法

[ヘルプ]-[新規ソフトウェアのインストール]にて、[作業対象]に以下のURLを入力してインストールする。
http://vrapper.sourceforge.net/update-site/stable
 
インストールが終わると、Eclipseの上部メニューにVimのトグルボタンが追加されている。
ボタンがオンになっている間はVimのキーバインドが有効になる。
 

キーバインドの設定

続いて、EclipseのキーバインドとVimのキーバインドで重複しているものを取り除く作業を行う。
メニューの[ウィンドウ]-[設定]-[一般]-[キー]から[スキーム]を[デフォルト]から[Vim’s key bindings]に変更する。
ここで、キーバインドのリストからCtrl + vにバインドされているものを全てアンバインドする。このようにすることで、Vimの矩形選択のキーバインド(C-v)が利用可能になる。
 

.vrapperrcの作成と設定

Vimの.vimrcに相当する設定ファイルとして、Vrapperでは.vrapperrcが使える。
 

.vrapperrcの作成

ホームディレクトリ(C:\Users\ユーザ名)に.vrapperrcという名前のファイルを作成する。
 

.vrapperrcの設定

Vrapperでは厳密にはVimScriptは使用できないので、ここで設定できることは、キーマッピングやVrapper独自のプロパティである。
 
私の場合は.vrapperrcに以下のような設定を書いている。
 

set imd

 
この設定をすることで、インサートモードから抜けたときにIMEを自動的にオフにしてくれる。Kaoriya版Vimには標準で入っている機能なので誤操作を無くすためにも、なるべく設定しておきたい。
 

おまけ:クリップボードとレジスタ間で内容を受け渡したいとき

VimとVrapperには、無名レジスタ(*)が用意されており、クリップボードと無名レジスタ間で内容が共有されている。
つまり、ブラウザからコピーした内容をVrapper上でペーストしたいのであれば、"*pとすれば良い。逆にVrapperからヤンクした内容をブラウザ上で貼り付けたいのであれば、Vrapper上で"*yyとしてヤンクすれば良い。
 
 
以上
 
 
参考
Vrapper Vim-like editing in Eclipse
Non Title EclipseのプラグインVrapperで矩形選択を使う

仕事でMacVimでPHPを書いてるときに連番の配列を大量に作成したい場面があり、手入力が面倒なのでマクロでやろうと思ったが、やり方がすぐに出てこなかったので、一応メモしておく。
 

やり方

  • qa
  • aに対して記録開始

  • yy
  • 行コピー

  • p
  • 貼り付け

  • <Ctrl-a>
  • 対象にしたい連番をインクリメント

  • q
  • 記録終了

  • @a
  • 記録を再生する

 
@aの箇所は10@aなどに変えると「10回繰り返し」のようにアレンジすることが出来る。
 
 
以上
 
 
参考
Vimでマクロを使って連番の文を簡単に入力する方法 | Memo on the Web

仕事でMacVim-kaoriyaを使っている。間違って日本語入力の状態でノーマルモード中にh,j,k,lでカーソル移動を行おうとして、MacVim-kaoriyaが誤動作してしまい、辛かったので対処した。
 

対処方法

  • 書類ごとに入力ソースを自動的に切り替える
  • 最新のMacVim-kaoriyaを使用する

 
以下より、それぞれの方法について説明する。
 

書類ごとに入力ソースを自動的に切り替える

キーボード環境設定 を開き、 書類ごとに入力ソースを自動的に切り替える にチェックを付ける。
 
書類ごとに入力ソースを自動的に切り替える
 
このように設定することで、MacVimのノーマルモード時にブラウジングに入り、日本語入力に切り替えてしまったとしても、MacVimに戻ってきた時は英語入力に切り替わる。
 

最新のMacVim-kaoriyaを使用する

最新のMacVim-kaoriyaでは、インサートモードを抜けたときに自動的に英語入力に切り替わるようになっている。
 
 
以上
 
 
参考
独自の調査

Vimでファイル同士の差分比較やマージを行う方法を勉強したのでメモしておく。どうして専用ソフトではなく,Vimで行うのか,ということについてだが,Vimは環境に依存しないので,この方法さえ覚えてしまえば,どんな環境でも差分比較・マージが可能というメリットがあるためだ。
 

Vimで2つのファイルの差分を比較・表示する

Vimでは,diffsplitコマンドを使うことで,現在Vimで開いているファイルと,指定したファイルとの差分の部分をハイライトして,比較・表示することができる。この状態を「diffモード」と呼ぶ。
コマンドの書式は以下のようになる。
 

:vertical diffsplit 差分を取りたいファイル

 
例として,smokydog.txtというテキストファイルとの差分を取りたい場合は以下のようになる。
 

:vertical diffsplit smokydog.txt

 
コマンドの詳細について解説すると,verticalで画面を2つに分割し,diffsplitで差分の比較・表示を行っている。
 

2つのファイルの差分をマージする

Vimでは,「diffモード」の状態で,2つのファイルの差分のマージを行うこともできる。もう一方のファイルから差分を取り込むには,ハイライトにカーソルを合わせ,ノーマルモードでdoを入力する。逆に,もう一方のファイルに差分を取り込ませるにはdpを入力する。
 
doは「diff obtain」,dpは「diff put」と覚える。
 

ファイル間で違いがある場所へカーソルを移動する

Vimでは,「diffモード」の状態でファイル間で違いがある場所へ,瞬時にカーソルを移動させることができる。差分を下方向に検索してカーソルを移動するには,ノーマルモードで]cを入力する。逆に,差分を上方向に検索してカーソルを移動するには,[cを入力する。
 
 
以上
 
 
参考
2つのテキストファイルの差分をマージする 名無しのvim使い
2つのテキストファイルの差分を取る 名無しのvim使い