2015年6月 8日 (月)エディタの話
おはようございます、本日の当番、プログラマーのM.Iです。
さて皆さんは日頃の作業にどんなソフトを使っていますか?
絵を描く人ならphotoshopやgimp、saiなど、それぞれのソフトに長所、短所があるそうですね。
私はよくgimpを使っていますが、saiだとキャンバスをくるくる回して絵が描けるので、
難しい斜めの線を引かなくても、回して真っすぐに引くことができます。
gimpにもその機能があるそうですが、saiを使うまでその機能があることに気付きませんでした。
私は日がなプログラムに触れることが多いのでエディタに思い入れがあります。
エディタにもサクラエディタ、emacs、秀丸エディタなどたくさんの種類があり、
私はその中でもvimを愛用しています。
そういうわけで本日はvimの話をしていきます。
入門はそこらのホームページや私の話よりも、
vimを起動して:helpと打ち込んでもらった方が早いと思いますのでそちらにお任せして、
作業にすぐに役立つvimの機能の話をします。
まず便利な選択の話を
マウスでも選択ができますが、vimだとキーボードで、かつコマンドを使いつつ選択ができるのです。
たとえばここに何の変哲もないOpenGLのコードがあります。
端が切れちゃってるのはご愛嬌ということで。
ちなみに画像はすべてgvimですが、ここで紹介している操作はLinuxなどのvimでも可能なので気にしないでください。
glutInitの"glut"だけ消して関数が作りたいとします。
まずvimにはヴィジュアルモードという選択専用のモードがあります。
「v」キーを押すとこのモードに入ります。
"glut"のgにキャレットを合わせて「f」「t」と入力します。
glutだけが選択されます。
どういうことかというと、「f」を押すと次に押したキーの文字を今の行から探してジャンプできるのです。
この状態で「x」を押すと選択部分が消去できるのです。
「i」を押すとインサートモードに入ります。
このモードで文字入力ができるようになります。
「v」と押して「Ctrl を押しながら p」でvoidが補完されます。
「Ctrl を押しながら p」だとキャレットの前から優先的に単語単位で補完されます。
「Ctrl を押しながら n」でキャレットの後から補完になります。
Initも後ろに単語でありますので「Ctrl を押しながら n」で補完しましょう。
後はお決まりの引数を入力して、
glutInit();を書きます。インデントを忘れたので入れてみましょう。
説明を省きましたが、vimは最初はノーマルモードというモードから始まります。
このモードでキャレットの移動や検索ができるのです。
こういう風にモードを分けることで、複雑なキーの組み合わせを使うことなく多彩な編集を実現しているのです。
「Esc」キーを押してノーマルモードに入り、>>と入力すると
インデントが入ります。
かっこの後ろも持ってきます。
Initの後ろの(にキャレットを合わせて「v」「%」を入力します。
「%」を押すと丸かっこや中かっこのかっこのペアになるほうに移動できるのです。
そのまま「y」でコピーになります。
「ぐいと引張る」という意味の英単語、yankの頭文字らしいです。
glutInitの「t」にキャレットを合わせて「p」でペーストします。
忘れずにセミコロンをつけておき、
ついでに下のディスプレイの初期化もInitに持ってきます。
glutInitDisplayModeにキャレットを合わせて「d」「d」、これで1行削除できます。
glutInitにキャレットを持ってきて「p」でペースト。
「:w」(writeの頭文字)と入力してEnterで保存ができます。
今回は手動でインデントを入れましたが、
Cライクな言語ならインデントを自動調整する機能などもあるので、色々試してみてください。
まとめると、
・「i」キーで文字入力ができるインサートモードに入れる。
・インサートモードでは「Ctrl を押しながら p」「Ctrl を押しながら n」で単語の補完ができる。
・「Esc」キーでノーマルモードに入ることができ、文字の移動や検索ができる。
・「v」キーで選択ができるヴィジュアルモードに入れる。
ノーマルモードやヴィジュアルモードでは以下の操作ができます。
・「f」キーでその行に限った検索ができる。
・「%」でかっこの間の移動ができる。
・「x」キーで1文字削除「p」キーでペースト、「y」キーでコピー、
「d」「d」で1行削除、「:w」で保存ができる。
たいていの操作は日本語でも対応していますので、文章を作るときにいかがでしょうか。
「f」「に」という風に入力すると次の「に」に移動できる、という具合です。
ちなみにかぎかっこは「%」に対応していませんでした。
様々なソフトを触った方が状況にあった選択ができるかとおもいますので、
ぜひ皆さんも様々なソフトに触れてみてください。
| 固定リンク | コメント (0) | トラックバック (0)
「プログラマー」カテゴリの記事
- 技術交流の業(2019.03.07)
- 福袋争奪戦デビュー(2019.01.31)
- 温泉旅行(2019.01.24)
- ゲーセンの近況(2018.11.29)
- 健康的にプログラミングを続けるためのちょっとした習慣(2018.10.18)
この記事へのコメントは終了しました。
コメント