2016年7月29日金曜日
2016年7月18日月曜日
ST3 日本語環境向けプラグイン MultibyteWordSeparators の解説
MultibyteWordSeparators とは?
Sublime Text 3 向けのマルチバイト文字列に対応した単語移動をサポートするパッケージです。
github:SublimeMultibyteWordSeparators
※ 5/1現在Package Controlに登録申請中のため、インストールは手動になります。
※ 5/4にPackage Controlに取り込まれました。
日本語に対応しているエディタの場合、単語移動でカーソル移動すると漢字・ひらがな・カタカナ・英数字を判別し、単語らしきところでカーソルが止まるようになっています。
Sublime Text 3 は、日本語を単語移動しようとすると2byte文字列が判別できず、一つの単語として移動してしまいます。
そこで単語移動出来るように MultibyteWordSeparators を作成しました。
どうやってるの?
漢字・ひらがな・カタカナ・英語・数字・記号のグループを作成し、片っ端から正規表現で引っかけています。
次に、カーソルの位置が漢字であればそれを主とし、主となる文字種から変わるまでカーソルを移動させ続けます。
例えば、ひらがなと同じリストに数字を入れればひらがなと同じ種別と判別され、移動もひらがなと数字は一緒に移動されます。
つまり、厳密には”単語”移動ではないです。
形態素解析は使わなかったの?
そういうわけで、形態素解析は使っていません。
実際のところ、開発時に形態素解析が手軽に使えることを知らなかった、という理由もあったり無かった……。
ちょっと形態素解析の場合について考えてみたけど、現在のカーソル位置から前後の文章をある程度チェックする手間、カーソル位置がその文書のどこに当たるのかをそれぞれチェックする必要がありそうで、逆に手間かも……。
個人的には現在のやり方がベターな気がしてます。
日本語の単語移動の件は困ってる方も結構いるようだったので、このプラグインが一助になればいいなと思いを込めての宣伝でした。
5/9 ver1.1.0 へアップデート
マウスでのダブルクリックでの単語選択に対応
マウスでダブルクリックを行った際、マウスカーソルの下にある文字を検出して単語を選択する機能を追加
以上。
2016年7月12日火曜日
ST3 日本語環境向けプラグイン ConvertFullHalfWidth の解説
ConvertFullHalfWidth とは?
Sublime Text 3 向けのカタカナ・アルファベット・数字を全角半角文字に変換するプラグインです。github:SublimeConvertFullHalfWidth
※ 以前はConvertZenHanという名称で公開していましたが、同じような名前のプラグインがすでに公開されていたので変更しました。
なお、変換にはPyPIで公開されている jaconv を使用しています。
どうやってるの?
選択文字列とどの文字を変換対象にするかのフラグをプラグインのコマンドに渡し、フラグに従ってjacnonvに文字列を渡すだけ!今後の追加予定
jaconvにはひらがな→カタカナ、カタカナ→ひらがなの変換もあるのでこの変換も出来るように実装予定。/** 「もう仕事としてはガラケー特化のサイトなんて作らないよねー」っと思ってたらドンピシャでスマホサイトをガラケー向けに作り変えるお仕事来てプラグイン大勝利で震えたのはいい思い出。 */
以上。
2016年3月22日火曜日
EditorConfigを使い始めたらプログラマー世界の繋がりを感じた。
そこでこのEditorConfig (http://editorconfig.org/) をお勧め。
これを使ってみたんだけど、プログラマーの世界って繋がってるなぁ、って思っちゃったり。そんな大層なことじゃないかも知れないけれど。
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 80
[*.py]
max_line_length = 79
[*.{rb,js}]
indent_size = 2
2015年10月4日日曜日
Sublime Text 3 のPHP系プラグイン覚え書き
随時追加していく予定。
Composer
PHP界隈では必須になりつつあるPEARに変わるライブラリ管理ツール。/** Sublime Text とは関係ないけど、PHPerは使用できるようにしておいた方がいいです。 */
- インストール
公式サイト: https://getcomposer.org/ - 下記パスを環境変数に追加。
※追加しないとcomposerでインストールしたものがパス無しで実行できない
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin - Composerはそのままだとけっこう遅いので国内ミラーサーバーを設定
参考: http://qiita.com/Hiraku/items/51961aa49f7a2922011d
登録するコマンドは下記composer config -g repositories.packagist composer http://packagist.jp
- 完了
SublimeLinter
SublimeLinter-phpcs
コマンドラインツールのPHP Codesinifferを使用するとコーディング規約をチェックしてエラーを表示してくれる- コマンドラインツールのインストール
composer global require squizlabs/php_codesniffer=*
SublimeLinter-phpmd
コマンドラインツールのPHP Mess Detectorを使用するとプログラムで怪しいところをチェックしてエラーを表示してくれる- コマンドラインツールのインストール
composer global require phpmd/phpmd=*
2015年6月23日火曜日
SSH Foward Agentの設定
SSH Foward Agent設定
- $ vi /etc/ssh/sshd_config
- AllowAgentForwarding を探す
- 無ければ項目ごと追加で下記のように設定
AllowAgentForwarding yes - wq してvi終了
- $ service ssh restart
- 完了
ついでに
.ssh/config設定
- $ vi ~/.ssh/config
- 下記を設定
Host github.com
ForwardAgent yes - wq してvi終了
- 完了