実践技術書おすすめ読書Vim私は文字を打つときにはVimを使ってます。文字書くときだけでなく、プログラミングするときもVimを使います。今時便利なIDEはいくつもありますが、テキストエディタであるVimが一番のお気に入りです。なれるまではかなり不便ですが、なれるとやめられなくなります。拡張性も高くいろんな環境で使えるのでとても頼れるやつです。久しぶりにVimのテクニック本を読みました。便利なプラグインの情報が山盛りです。Uniteとかの使い方や概念が書かれているので、その辺のプラグインをガンガン使いたい人におすすめです。前の本なので情報が古いかもしれません。サーバの管理をやるときにも設定ファイル触るのにテキストエディタとしてVim使ったりすると思います。Dockerとかの環境構築も増えてくるのでぜひVim使ってほしいです。別に他の方法もあると思いますが、お客様管理のインフラだと勝手にソフトをインストールすると問題になるので気をつけたほうが良いです。気づかれることのほうが少ないですが、何か合った時に不要に責任を取らないためにも重要です。VimとかシェルとかCUIに慣れておくことは結構大切だと思っています。今回は本の中でVimの基本的なコマンドで使えるかもと思ったものを紹介します。プラグインに関しての内容のほうが充実しているので、Uniteを始めとする便利なプラグインについては機会があれば紹介します。画像リンクなぜこの本を読んだのか自宅にあったものを久しぶりに見つけて読みました。一冊、「実践Vim」という本もあったと思いますが、引っ越しの片付け中なので見つかっていません。見つけたらまた読みたいです。この手のよく使うソフトのテクニック本は、なかなか読む機会が無いと思います。定期的に読み返すと新しい発見があり、作業の効率化につながります。使えそうなテクニックもあったので、また思い出せるように記事にしました。基本的にはVimをある程度使ったことのある人向けに、より便利になるプラグインやテクニックを150のTipsとして紹介しています。Vimの基本的な入門書ではない印象です。チュートリアルくらいは終わらせてちょっと使い込んだくらいで読むことをおすすめします。プラグインのインストール方法や使い方・おすすめの設定なども載っています。プラグインの作者による解説等も載っています。本の特徴ジャンルごとに分けて書いてあり、やりたいことや気になるところから読み始められます。巻末には索引もあるので、気になるプラグインの情報などを調べることができます。コマンドなどは詳細に書かれており、実際にやってみるのには苦労しないです。画面のスクリーンショットなどは全く無いのでイメージはしにくいです。プラグインの見た目の情報とかは一切ないです、カラースキームも載ってないです。おすすめのVimテクニックここではVimの基本機能でできるテクニックのみ記載してます。プラグイン使うやつは別の機会に紹介します。autocmdによるテンプレートファイルの読み込み以下のような記述をvimrcに書いておけば、vimで新しいファイルを作成した際に拡張子で判断され、テンプレートファイルが読み込まれます。私はマークダウンファイルのfrontmatter部分をテンプレートにしました。テンプレートファイルは予め作って設置しておく必要があります。実行することで最後に開いたファイルにジャンプできます。CTRL-oは古いカーソル位置に戻れるコマンドですが、それを使えば前回最後に開いたファイルにジャンプできます。他の方法もありそうですが、とりあえずお手軽かなと思います。複数のVimでヤンクやレジスタ・コマンド履歴を共有するVimを複数立ち上げているときに使えるテクニックです。私はtmuxを使っていくつもVimを立ち上げたりするのでちょっと便利そうと思いました。Vimエディタ終了時に、.viminfoファイルにコマンドや検索の履歴・レジスタなどの情報を格納するそうです。これをコマンドで起動中に出力して、別のVimからコマンドで読み込むことで、これらの情報を共有できます。.viminfoの書き出し:wv.viminfoの読み込み:rv!読み込んだ側のvimで、書き出しを行ったvimの履歴などが利用できます。-mを使ったほうがスッキリですが、Vimで編集しながらやる場合のテクニックです。Ctrl-gで文字数や単語数を確認できます。改行文字を含んだ文字数なので、ファイルを作成したOSをによって結果が異なるようです。すると、純粋な文字数がカウントできます。覚えておくと良さそうです。qで操作の記録を終了、@aでレジスタaの中身を実行となります。マクロの実行は5@aの形式で回数を指定できるので、それも組み合わせると便利です。実際に操作を行わなくても、コマンドの内容をテキストで入力してレジスタに保存することでも操作を登録できます。^"byy"bpこの文字列をヤンクすればマクロとして実行することができます。(bレジスタにヤンクしてbレジスタの中身をペーストするコマンド)マクロがうまく行かなかったときにコマンドを編集して再実行したり、よく使うものをメモしておいたりできそうです。コマンドをテキスト化できると、複数人での指差し確認にも使えますね。ちなみに、ヤンクの際に"Ayyのように大文字にすると、aレジスタの末尾に追記になります。上書きではなく追記なので、コマンドを継ぎ足していけます。ユーザー定義コマンドvimrcに以下のような形式でユーザー定義のコマンドを設定できます。コマンド名はアルファベット大文字で始まる必要があります。さっきの文字数カウントのコマンドを登録してみます。これで、:CountCharで文字数カウントが簡単にできるようになりました。:%s/.//gn他にもファンクションを定義してそれを実行させたり、範囲指定を可能にしたり、引数を取ったりもできます。まとめVimは奥が深いです。この本にもまだまだいろんなことが書かれています。気になる人は一度手にとって見てほしいです。Vimを使ったときはサーバにリモートアクセスして設定変更したときだったと思いますが、かなり混乱した気がします。今となってはいろいろ自由に触れるので重宝しています。何よりもノーマルモードとインサートモードという状態を使い分けるという発想が好きです。ホームポジションを意識することでキーボードのみで不自由なく様々なことができ快適です。個人的には、キー数が少なくてコンパクトなキーボードと組み合わせて使うのがおすすめです。他にもプラグインを開発したりとか結構プログラム要素もあるのでとても拡張性もあります。カンファレンスが開かれるくらいコミュニティも存在していますので、興味があればぜひ使ってみてほしいです。editerマークダウン特化エディタアプリマークダウンのプレビュー・よく使う記号を入力するボタンが利用できます。野々市市コミュニティバスのっティ時刻表アプリルートとバス停を選択して時刻表が確認できます石川県野々市市に住むフリーランスエンジニア。応用情報とDBスペシャリストの資格を保有。Webシステムの構築、スマホアプリ、プログラミングメンターなどの依頼に対応できます。