普段Windowsをメインに使っていると、たまにLinux(おもにCentOS 7)環境で、viコマンドなどでテキストファイルを編集すると、操作方法がわからなくなりコマンドを調べながら作業しております。
そこでここでは、Linux環境で一般的なテキストエディタコマンドであるVim(vi)の、インストールから基本的な操作方法を紹介します。
目次
動作環境
この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
CentOS Linux | 7.4.1708 |
Vimのインストールと初期設定
インストール
CentOS 7を最小構成でインストールするとVimがインストールされていないので、インストールします。
# yum -y install vim-enhanced
Vimをインストールしたら、viコマンドでvimが起動するように設定します。
# vim /etc/profile
alias vi='vim' #最終行に追加
上の設定を適用するために、設定を再読み込みさせます。
# source /etc/profile
初期設定
Vimには便利な機能がたくさんあります。その中でも常に使いたい機能については、ユーザーのホームディレクトリに設定ファイルを作成して、vim起動時に自動的に適用されるようにします。
# vim ~/.vimrc
set number "行の先頭に行番号を表示します
set autoindent "改行時に前の行のインデントを継承します
set hlsearch "検索した文字列をハイライトします
Vimの基本的な操作
モードを使い分けよう
Vimでは、モードを使い分けて利用します。起動時は「コマンドモード」です。文字を入力したり編集するときは「I」キーを押し「編集モード」に変更します。画面左下に「--挿入--」と表示されていれば、編集モードになっています。
自分が今どのモードにいるかわからなくなったときは、「ESC」キーを1~2回押してコマンドモードに変更します。迷ったら「ESC」キーと覚えておきましょう。
カーソルを移動する
カーソル移動は、下図のようにアルファベットの「HJKL」それぞれのキー、もしくは矢印キーで移動します。
コマンド | 説明 |
---|---|
gg | 最初の行 |
11G | 11行目 |
G | 最終行 |
ファイルを保存する/終了する
ファイルの保存と終了は、コマンドモードで行います。
コマンド | 説明 |
---|---|
:wq | ファイルを保存して終了します。 |
:w | ファイル名 ファイル名指定して保存します。 |
:q! | ファイルを保存せずに終了します。 (変更は全て破棄します) |
操作を戻す(アンドゥ)
操作を間違えてしまったときに、もとに戻す場合もコマンドモードで行います。
コマンド | 説明 |
---|---|
u | 直前の操作を取り消します。 |
:e! | 保存時点まで戻ります。 |
文字列をカット&ペーストする
コピー・切り取り・貼り付けも、コマンドモードで行います。
コマンド | 説明 |
---|---|
yy | 1行コピー |
5yy | 5行コピー |
dd | 1行切り取り |
5dd | 5行切り取り |
p | 貼り付け |
文字列を検索する
文字列やパターンを検索する場合も、コマンドモードで行います。検索文字列には正規表現も使用できます。
コマンド | 説明 |
---|---|
/検索文字列 | カーソル位置から順方向に、指定した文字列を検索します。 |
?検索文字列 | カーソル位置から逆方向に、指定した文字列を検索します。 |
n | 次を検索します。 |
N | 逆方向に次を検索します。 |
:%s/A/B/ | 文字列Aを文字列Bに一つ置換します。 |
:%s/A/B/g | 文字列Aを文字列Bにすべて置換します。 |
Vimの便利機能
画面分割
Vimでファイル編集時に、コマンドモードで「:split」と入力すると、現在編集中のファイルを上下2分割で表示することができます。長い行数のファイルを編集するときなどに便利です。
また「:split sample.conf」と入力すると、現在編集中のファイルが下段、新たに指定したsample.confファイルを上段に分割して表示することもできます。
分割した画面間の移動は、「Ctrl」キーを押しながら「w」を2回入力することで移動することができます。
ちなみに画面を分割すると、以下のような画面表示になります。
コマンドの実行結果を貼り付け
Vimでテキストファイルを編集しているときに、コマンドモードで「!! コマンド」と入力すると、コマンドの実行結果が編集中のファイルに貼り付けられます。
たとえば「!! ls」と入力すると、lsコマンドの実行結果が編集中のファイルに貼り付けられます。
チューター機能
Vimには、対話形式のチュートリアルが用意されています。これで自習もできます。
# vimtutor
あとがき
Vimには、ここで挙げた機能以外にも多くの機能があります。ぜひ自分好みにカスタマイズして、作業効率をアップさせましょう!