2012/12/17

Sublime Text2を使い始めた

Sublime Text2というエディタを使い始めました。
http://www.sublimetext.com/

私は、WindowsではTeraPadユーザ...
また、Linuxでは、(にわか) Vimmer...(CUIでは専らVimです。一応。)
Eclipse/Aptana Studio ユーザでして....

エディタというのは慣れたもの以外は使いたくならないモノだったりしますが、
そんななかでも気になるエディタなのですw

簡単に言うと・・・
わりと美しいUIで...GUIを適度に活かしていて、
操作がややこしくなく、サクサク軽いということ。
インクリメンタルに結構気持ちよく補完してくれたり。
尚、ファイルは、単体はもちろん、フォルダごとプロジェクト的に開くことも可能。
ファイルの切り替えなんかもインクリメンタル検索でプレビューしながら行えますし、
あと、ミニマップで俯瞰できたり、終了するときは何も表示されず次回起動時に自動復元されるとか...
自分としては...これ面白いな&良いな〜と思うところが色々w


Sublime Text2で perlのファイルを編集しているところ。
Ctrl+Pでこのようにファイルをインクリメンタル検索しながらプレビューできる。
対応開発言語は幅広い。各種ライブラリのための入力補完・サポートなども...Packageで拡張可能。

特に何でも使えますが、私としてはWeb向きのエディタかなーと思います。
シンプルなテキストエディタや、逆にEclipseのようなIDEも良いのですが、
エディタとIDEの中間的なアプリケーション...という感じでしょうか。
ちなみに、Linux/Windows/Macのクロスプラットフォームで動作します。
(有料 59ドルですけど...全機能を制限なしにずっと試せます。払う価値もありそうです。)

基本からシンプルで使いやすいのですが、
Packageのインストールで機能強化できるところがミソですね。

他のブログで特徴や使い方を紹介してくださっているのでそちらを。
例えば、jQueryなどの各種フレームワークのサポートや、
MarkdownやLaTeXのための入力補完とか...。
Gitを組み込めるとか...。簡単に実現できます。

まずは、"Package Control"というPackageをインストールしておくと、
他のPackageをSublime上で楽々インストールしていくことができます。
こちらのページにあるコードをコピーして、[View]メニュー → [Show Console]をクリック、画面下に表示されるコンソールへ入力。

あとは、コマンドパレット(Ctrl+Shift+P)を開いて、
"install"などと入力して、Package Controlを呼び出すだけです。

(参考)私がインストールしたPackage:
  • Abacus - 複数行のコードを整形表示
  • AngularJS - AngularJSのスニペット
  • AutoFileName - ファイル名を自動補完
  • BracketHighlighter - カッコの強調表示
  • CSS Snippets - CSSのスニペット
  • Color Picker - 色ピッカー
  • Dart - Dartのスニペット
  • Git - Gitを扱うためのPackage
  • Gist - GitHubのGistを扱うためのPackage
  • HTML - HTMLのスニペット
  • jQuery - jQueryのスニペット
  • Markdown Preview - Markdownのプレビュー
  • Mojolicious - perlのWAF "Mojolicious" のスニペット
  • SublimeCodeIntel - 各種開発言語の自動補完など
  • SublimeLinter - HTML/CSS/JavaScriptなどなどのLint(構文チェック)
  • Terminal - ターミナルでカレントファイル/ディレクトリを開く
  • Nexus - Theme(テーマ)
  • ...
尚、SublimeLinterなどの一部のプラグインでは、nodeを介してコマンドを実行したりします。その場合は、nodeのインストールが必要です。
(参照: Ubuntu 11.04 Natty Narwhal に Node と npm をインストール - 自分の感受性くらい)

インストールしたPackageは
基本的にコマンドパレット(Ctrl+Shift+P)から呼び出せます。

また関係ないんですが、
設定ファイルがJSONフォーマットということも...
ある意味、今どきのエディタらしいですねw

カスタマイズはかなり効きます。
 参照: Y.A.M の 雑記帳: Sublime Text 2 の設定

私はとりあえずこれだけですが、設定しています:
{
 "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
 "draw_white_space": "selection",
 "highlight_modified_tabs": true,
 "ignored_packages":
 [
  "Vintage"
 ],
 "theme": "Nexus.sublime-theme"
}

ショートカットもある程度は覚えておくと捗ります。チートシートを作ってくださっているので使わせていただきましょう。
 Sublime Text | Periodic table of the Keyboard Shortcuts.
また、キーバインディングは自分好みに変更できます。

「今までのエディタは放り投げろっ!」とも言えませんし...私もそうは思いませんが、
それでも、「お!?」と思えた、なかなか良さそうなエディタです。
しばらく弄ってみたいと思います。

2012/12/03

組み込み(マイコン)、はじめました。

プログラミングというモノを独学&趣味でかじりはじめて...
...気づけば、もう8年にもなるのですね〜・・・。
まだまだ初心者の域を出ませんが(汗;)w

ここ5年間くらいはWebやネットワーク系を独学で遊び・学んできましたし、
大学に入って、C++やアルゴリズムを学びつつ、ちょっとばかり組み込み方面にも触れて...といった感じで過ごしてきました。

そして大学2回生 冬となった今。

昔から「組み込み(*)をやりたいな〜」と思うことが幾度もあったにもかかわらず、これまで結局は取り組んだことが無かったのだと言う事を
友人のおかげで気づかされた...そんな今日このごろです。

(* 組み込み...というかセンサーロボットとかヘリコプターとか(ry) ロボコンとか!!)

やるなら今だっ! (ある意味、私にとっての新境地開拓ですww)

ということで、組み込み(マイコン)を始めました(笑)

最初のテーマは組み込みOSの自作です。
(何年か前にPC向けの自作OSをかじり...かけたこともありました。見事に投げてしまいましたがw)

理由としては・・・
  • 何よりOSの勉強になる!
  • 低階層な組み込みを折角やってみるのだから、
    面白そうですし踏み込んでやってみたいな〜。
というところです。

低階層を理解することが自分にとっての貴重な学びになるのだ...ということを、
友人・知人から教えてもらった、影響を受けた...という理由も大きいです。


Raspberry Piとか、mbed、Arduinoなど、比較的容易に扱えるボードにとても興味があって、
目的に応じてやりたいことを手軽に(そこに注力して)やれるのが良いな〜と思うのですが、
ただ、今のうちにもっと低いレベルにも触れておくことも大事なんだなーと悟ったのですw(

Rasberry Piを使って作りこんだりというのもまた必ずやってみたいです。
また、もっと新しいマイコンでロボットなども近いうちに挑戦してみるつもりです。

参考にさせていただく本は...


です。

これは、H8/3069Fのマイコンボードを使って、シンプルな組込みOSを作る本です。
ブートローダーから、割込み/スケジューリング等々をすべて実装していきます。
まさにこんな事、やりたかった><!
(筆者の方のサポートサイトでは、TCP/IPスタックの実装、Webサーバの搭載まで広げているようです。
私も、実はネットワーク系を志していたりするので、ココは外せないところですねw)


さらに参考にさせていただくウェブサイトとして...
2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵
かなり最近(3ヶ月前)の記事ですが、Mac OS (Lion)を用いてこの本に取り組まれたそうです。私もLinux(Fedora 17)での開発となりますし、詰まった時には特に参考にさせていただこうと思います(><;)ゞ

早速、ボードのほうも調達しました。
ちょっと昔の自分みたいに、半田ゴテを持ち出して(汗;)...とも思ったのですが、
流石にここは大人しく...本の指示どおりに、部品実装済みのボードを購入しました。
秋月のAKI-H8/3049Fネット対応マイコンLANボード完成品 という商品です。

使用するマイコン自体、アーキテクチャ的にはもう古くなってしまっている?感じもするのですが、私にはこれで十分すぎますw
なにせ最初の第一歩なので、本どおりに進めてもつまづきそうですし(笑)


とりあえず...初日の今日は、セルフコンパイルのための開発環境構築から...。
とはいっても、普段使いのFedoraにはgccやその他諸々が入っていて、何かと使っている状況なので、特段やることはなさそうです。

シリアル<->USBケーブルがまだ手元ににないので、この先はお預けです(´・ω・`)w
(家を探しまわれば、どこかに落ちているかもしれませんがw)
尚、今回、シリアル<->USBケーブルは、BUFFALOのBSUSRC0610BSを購入しました。


のんびりでも、確実に取り組んでいきたいな〜と考えています。
友人とのWeb開発や、他にも進めたいプロジェクト・勉強がありますので、
平行になりますが、逐一メモを兼ねて、このブログに進捗状況をアップしていけたらな〜と考えています(><)/
頑張りますっ。

今後、一連の記事は"自作OS"というタグでまとめたいと思います。
こちらから一覧できます。