わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

自動・手動のインデント

Cに限らず,プログラムを書くのに使うテキストエディタは,インデント(字下げ)を自動的にやってくれるものを選びましょう.
学科のLinux環境なら,Emacsがおすすめです.
自宅で,Windowsで書くとすると…
まずは,xyzzyを使ってみてください.Emacsと似たキーストロークができますし,設定を変えれば,Emacsの操作体系からおさらばできます.マウス操作も充実しています.Unicodeの読み書きもできます.ファイルを保存するときに,文字コードや改行コードを,マウス操作で選択できます*1
プログラムを書いていけば,自動でインデントをしてくれます.
他の人の書いたプログラムのインデントが見るに耐えないときは,インデントしたい行に合わせて,Tabキーを押します.Tab,下,Tab,下,…と押していけば,連続してインデントしてくれます.
本格的なEmacsWindowsで使いたければ,正統なEmacsen*2を検討しましょう.

  • VMware Serverなど仮想化ソフトウェアをインストールしてから,そこにゲストOSとして何らかのLinuxをインストールして,その中でEmacsを使う
  • Meadowをインストールする

のいずれかがお勧めです*3.個人的にはどちらもやっていますし,この文章もMeadowで書いています.Tabキーによる手動インデントももちろんできます.さらに,正統なEmacsenを使用していると,次のページに書かれている機能が利用できます.

上記の「連続してインデント」は,カーソルをインデントしたい場所に置いて,C-c C-qとするだけです.

*1:マウスに手を伸ばすのが億劫な人へ…EmacsならC-x C-m fです.テキストエディタを使わないなら,nkfです.--overwriteオプションも利用できるなら活用しましょう.

*2:Emacs - Wikipedia, xyzzyとは - はてなキーワード

*3:どちらも少々手間がかかります敷居が高いですし,マシンスペックも要求されます.特にメモリ.