2010/11/22: ターミナル上でテキストファイルのエンコードを調べる方法
(あまり、出番はないかもしれませんが)ターミナル上でテキストファイルのエンコードを調べる方法です。
nkfコマンドでオプションに「-g」をつけてあげるとエンコーディングを判別して出力してくれます。
ただしnkfコマンドを使うためには、(当たり前ですが)NKF(Network Kanji Filter)がインストールされている必要があります。
1:NKFのソースファイルをダウンロード
こちらからソースコードをダウンロードしてきます。
2:実行ファイルを作成してインストール
上記のようにして、パスワードはルート権限のあるユーザのパスワードを入力します。
そうすると自動で「/usr/local/bin/」にnkfがコピーされたり、他にも必要なファイルがそれぞれに配置され、インストールが完了するようです。
※下記の内容よりもこちらの方が正しいようです。UNIXのmakeコマンドのことがまだちゃんと理解できてなくて、すみませんでした。
参考:http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/build.html
2:実行ファイルを作成
cdでソースコードのとこまで移動して、makeコマンドを実行すればNKFの実行ファイル「nkf」がソースコードと同階層に作成されます。
ここまですれば下記で、nkfコマンドを実行できます。
3:実行ファイルまでのパスを通す
先ほどの実行ファイル「nkf」を任意の場所に置きます。ここでは、「/Users/ユーザー名/local/bin/」に置きます。(このディレクトリがない場合は自分で作ってしまってOKです)
「/Users/ユーザー名/.bashrc」という隠しファイルの最後の行に追加でこのように記述します。
これでパスが通ったはずなので、ターミナルでnkfコマンドを実行してみます。
このように出力されたら成功です。
※bashされるようなら、ターミナルを再起動してみてください
参考:http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/nkf/
nkfコマンドでオプションに「-g」をつけてあげるとエンコーディングを判別して出力してくれます。
$ nkf -g example.txt
Shift_JIS
ただしnkfコマンドを使うためには、(当たり前ですが)NKF(Network Kanji Filter)がインストールされている必要があります。
$ nkf -g example.txtと出力された場合はNKFがインストールされていないので、次の手順が必要です。
-bash: nkf: command not found
1:NKFのソースファイルをダウンロード
こちらからソースコードをダウンロードしてきます。
2:実行ファイルを作成してインストール
$ cd ダウンドードしたディレクトリのパス
$ sudo make install
Password:
上記のようにして、パスワードはルート権限のあるユーザのパスワードを入力します。
そうすると自動で「/usr/local/bin/」にnkfがコピーされたり、他にも必要なファイルがそれぞれに配置され、インストールが完了するようです。
※下記の内容よりもこちらの方が正しいようです。UNIXのmakeコマンドのことがまだちゃんと理解できてなくて、すみませんでした。
参考:http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/build.html
2:実行ファイルを作成
cdでソースコードのとこまで移動して、makeコマンドを実行すればNKFの実行ファイル「nkf」がソースコードと同階層に作成されます。
$ cd ダウンドードしたディレクトリのパス
$ make

ここまですれば下記で、nkfコマンドを実行できます。
$ 実行ファイルへのパス -g example.txt
が、毎回実行ファイルへのパスを入力したり、ターミナルウィンドウへ実行ファイルをドラッグして指定するのも面倒なので、実行ファイルまでのパスを省略できるようにしておきます。3:実行ファイルまでのパスを通す
先ほどの実行ファイル「nkf」を任意の場所に置きます。ここでは、「/Users/ユーザー名/local/bin/」に置きます。(このディレクトリがない場合は自分で作ってしまってOKです)
「/Users/ユーザー名/.bashrc」という隠しファイルの最後の行に追加でこのように記述します。
export PATH=${PATH}:/Users/ユーザー名/local/bin
これでパスが通ったはずなので、ターミナルでnkfコマンドを実行してみます。
$ nkf -g example.txt
UTF-8
このように出力されたら成功です。
※bashされるようなら、ターミナルを再起動してみてください
参考:http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/nkf/
2010/11/21: Xcodeのキーショートカットに「行の複製」を追加
Xcodeでは、デフォルトで「行の複製」コマンドがありません。なので、キーショートカットのプロパティリストを編集してキーコマンドでできるようにしましょう。
1
キーショートカットの設定がデフォルトのものしかない場合は、
Xcode > 環境設定 > キーバインド
の「キーバインドセット:」の項目で、
「Xcode デフォルト」を選択した状態で「複製」ボタンを押下。
任意の名前をつけて保存したら、「適用」もしくは「OK」を押下。
2
˜/Library/Application Support/Xcode/Key Bindings
に、先程保存した名前で拡張子が「.pbxkeys」というファイルがあるので、これをPlistEdit Proで開きます。
3
XML形式でショートカットキーとコマンドがセットになっているので、ここに「行の複製」を追加します。
今回はキーコマンド「Ctrl+Shift+D」とします(※)。
New ChildやNew Siblingを使って、Keyを「^$D」Classを「Array」とした要素をまず作成し、その子供に次の要素を追加します。
selectLine:
copy:
moveToEndOfLine:
insertNewline:
paste:
deleteBackward:

※「Shift+Command+D」は「ファイル > すばやく開く」で使用されているため避けます。
4
Xcodeを再起動して設定完了。
参考:http://viva.viva-mambo.co.jp/obj-c4aser/index.php?Xcode#g850b828
1
キーショートカットの設定がデフォルトのものしかない場合は、
Xcode > 環境設定 > キーバインド
の「キーバインドセット:」の項目で、
「Xcode デフォルト」を選択した状態で「複製」ボタンを押下。
任意の名前をつけて保存したら、「適用」もしくは「OK」を押下。
2
˜/Library/Application Support/Xcode/Key Bindings
に、先程保存した名前で拡張子が「.pbxkeys」というファイルがあるので、これをPlistEdit Proで開きます。
3
XML形式でショートカットキーとコマンドがセットになっているので、ここに「行の複製」を追加します。
今回はキーコマンド「Ctrl+Shift+D」とします(※)。
New ChildやNew Siblingを使って、Keyを「^$D」Classを「Array」とした要素をまず作成し、その子供に次の要素を追加します。
selectLine:
copy:
moveToEndOfLine:
insertNewline:
paste:
deleteBackward:

※「Shift+Command+D」は「ファイル > すばやく開く」で使用されているため避けます。
4
Xcodeを再起動して設定完了。
参考:http://viva.viva-mambo.co.jp/obj-c4aser/index.php?Xcode#g850b828
2010/11/21: PropertyListEditorがなくなったのでPlistEdit Proを使いましょう
Macプログラミングする際に頻出のプロパティリスト(.plist)を簡単に編集できるツリーテキストエディタ「PropertyListEditor」が、いつのまにか最新のMacOSX(10.6.5)ではなくなっているようです。でも、その代わりに同じようなエディタがAppleDevelopperToolsからダウンロードできました。これを使いましょう。
PlistEdit Pro
PlistEdit Pro