vim は Linux/Unix 系で広く使われる高機能なテキストエディタで、プログラミングから設定ファイルの編集まで幅広く利用されます。vi を拡張したエディタで、モード切り替えによる効率的な編集が特徴です。
実務では、サーバー上での設定ファイル編集やコード修正によく使われます。
構文(Syntax)
vim [オプション] [ファイル名...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-R | 読み取り専用モードで開く | vim -R /etc/hosts |
-n | スワップファイルを作らずに開く | vim -n test.txt |
-u NONE | 設定ファイルを無効化して起動 | vim -u NONE test.txt |
+N | 指定した行番号から開始 | vim +10 sample.c |
+ | ファイル末尾から開始 | vim + README.md |
-d | 差分表示モードで起動 | vim -d file1.txt file2.txt |
実行例
新規ファイルを作成して編集
vim newfile.txt
→ newfile.txt が存在しなければ新規作成され、編集モードに入ります。
設定ファイルを読み取り専用で開く
vim -R /etc/passwd
→ 編集は可能ですが、保存時に警告が表示されます。
10行目から編集を開始
vim +10 script.sh
→ 起動時にカーソルが10行目に移動します。
差分比較を行う
vim -d config_old.conf config_new.conf
→ diff のように左右分割で差分を表示しながら編集可能です。
エラー例: 権限のないファイルを編集しようとする
vim /etc/hosts
保存時に以下のようなエラーが表示されます:
E212: Can't open file for writing
→ sudo vim /etc/hosts を使う必要があります。
関連コマンド
vi:vimの元となった古典的エディタ。最小限の機能。nano: より初心者向けのシンプルなテキストエディタ。emacs:vimと並ぶ高機能エディタで、キーバインドが異なる。diff: ファイルの差分を比較するためのコマンド。
備考
- 環境依存: 多くの Linux で
viコマンドはvimにリンクされていますが、BSD 系では別物の場合があります。 - sudo の要否: システムファイル編集時には
sudoが必要です。 - 設定ファイル: ユーザー単位の設定は
~/.vimrc、システム全体の設定は/etc/vim/vimrcが利用されます。
参考
- manページ: https://man7.org/linux/man-pages/man1/vim.1.html
- 公式サイト: https://www.vim.org/
- GitHub (開発リポジトリ): https://github.com/vim/vim

コメント