Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

新人エンジニアの時に知っておきたかったこと[Vim編]

$
0
0

Vimとの出会い

エンジニアとして駆け出しの頃、Vimに出会いました。
先輩エンジニアがVimを使用しており、Vimは紹介されたエディタの1つでした。
当初はAtomを使用していましたが、彼がVimを常用しており、その操作スピードと謎な操作方法に惹かれていきました。
そして、Vimを常用する様になり、今ではVimなしでの開発は考えられません。
Vimの魅力を教えてくれた先輩エンジニアにはとても感謝しています。

Vimとは?

viから派生し、発展した高機能なテキストエディタです。
詳しくはwikiを参照ください。

Vimを使って良かったこと

ファイル操作が快適

ターミナルアプリ開いて以下のコマンドを実装するだけでファイル編集が可能なので、あのファイル修正したいと思った時にすぐに作業できます。

vim .

手を動かす時間の削減

Vimを使っているとわかりますが、基本的にキーボードのホームポジションから手を動かさずに操作できます。
慣れてくるとこの快適さをブラウザや他のツールを使用する際にも求める様になり、ショートカットを多用する習慣が生まれてくるはずです。
結果として、キーボードのホームポジションからマウスやトラックパッドに手を動かす手間を省けます。
塵も積もれば山となるので、毎日の手を動かす手間を省くだけで、少なからずの効率化につながります。

作業効率の向上

Vimには便利なプラグインが用意されており、作業が捗ります。
特定のファイルを探したり、特定の文字列を含むファイルを探したり、正規表現で文字列置換したり、Gitコミットしたり、関数の定義元にジャンプしたり、プログラムを実行したり、シンタックスをチェックしたり、変更箇所を明示したり。

Vim基本操作

基本的な操作に関しては以下が参考になります。

設定ファイル

Vimには設定ファイルがあります。

.vimrc

このファイルに設定を加えることで操作やデザインをカスタマイズできます。

こちらにマニュアルがありますので参照ください。

インターネット上で検索してみるといろんな人が.vimrcを公開していたりするので参照してみてください。

初心者向け vimrcの設定方法

プラグイン

Vimには機能を拡張するプラグインが用意されています。
いろんな人がプラグインを開発して、Vimをより快適に使える様にしています。

プラグインのインストールにはプラグインマネージャを使用します。

おい、NeoBundle もいいけど vim-plug 使えよ

ご自身の課題を解決する様なプラグインをインストールして、自分の好きなキーボードショートカットを割り当ててみましょう。

たとえば、「HTMLを触るので、効率的にHTMLを記述したい」。
そんなプラグインを探してみると、以下の様なプラグインがあるのでプラグインマネージャを使用してインストールする。
といった感じです。

mattn/emmet-vim

プラグインマネージャの使用方法がよくわからない方は、以下のサンプルソースを参考にしてみてください。

サンプルソース

Dotfilesとして管理する

.vimrcを自分用にカスタマイズすると、あなたはカスタマイズした.vimrcに依存することになります。
そのため、環境を初期化した際や新しいデバイスを購入した際に再設定する手間が発生します。

その際の手間を省くために、dotfilesとして.vimrcを管理しておきます。
結果として、新しい環境に移行した際にもdotfilesをインストールするだけで、いつもの自分のvim環境を用意することが可能になります。

最強の dotfiles 駆動開発と GitHub で管理する運用方法

まとめ

この記事ではVimについてご共有しました。
私自身、まだまだVimについて細かいなことは理解していませんが、ツールとしては便利であることは分かっています。
界隈でプラグインを開発している方々やVim関連の紹介記事を書いている方にはとても感謝しています。

新人エンジニアの方々にとって、Vimというエディタは他のAtom等のエディタに比べると敷居が若干高い気もします。
しかし、習慣的に触っていると、その良さと快適さが分かってくるのかなと思います。
ぜひ、一度お試しください。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>