vimコマンドのインストールを確認
[bash] $ vim --version [/bash]
インストールが完了していると下記のように表示される
[bash] VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 21 2016 17:00:20) 適用済パッチ: 1-160 Modified by <bugzilla@redhat.com> Compiled by <bugzilla@redhat.com> Huge 版 without GUI. 機能の一覧 有効(+)/無効(-) +acl +farsi +mouse_netterm +syntax +arabic +file_in_path +mouse_sgr +tag_binary +autocmd +find_in_path -mouse_sysmouse +tag_old_static -balloon_eval +float +mouse_urxvt -tag_any_white -browse +folding +mouse_xterm -tcl ++builtin_terms -footer +multi_byte +terminfo +byte_offset +fork() +multi_lang +termresponse +cindent +gettext -mzscheme +textobjects -clientserver -hangul_input +netbeans_intg +title -clipboard +iconv +path_extra -toolbar +cmdline_compl +insert_expand +perl +user_commands +cmdline_hist +jumplist +persistent_undo +vertsplit +cmdline_info +keymap +postscript +virtualedit +comments +langmap +printer +visual +conceal +libcall +profile +visualextra +cryptv +linebreak +python/dyn +viminfo +cscope +lispindent -python3 +vreplace +cursorbind +listcmds +quickfix +wildignore +cursorshape +localmap +reltime +wildmenu +dialog_con -lua +rightleft +windows +diff +menu +ruby/dyn +writebackup +digraphs +mksession +scrollbind -X11 -dnd +modify_fname +signs -xfontset -ebcdic +mouse +smartindent -xim +emacs_tags -mouseshape -sniff -xsmp +eval +mouse_dec +startuptime -xterm_clipboard +ex_extra +mouse_gpm +statusline -xterm_save +extra_search -mouse_jsbterm -sun_workshop -xpm システム vimrc: "/etc/vimrc" ユーザ vimrc: "$HOME/.vimrc" 第2ユーザ vimrc: "~/.vim/vimrc" ユーザ exrc: "$HOME/.exrc" 省略時の $VIM: "/etc" 省略時の $VIMRUNTIME: "/usr/share/vim/vim74" コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -g -pipe -Wall -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 リンク: gcc -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -Wl,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lm -lnsl -lselinux -lncurses -lacl -lattr -lgpm -ldl -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc [/bash]
インストールされていない場合は下記のコマンドでインストール ※管理者権限
[bash]
yum install vim
[/bash]
Ubuntuの場合は下記コマンドでインストール
[bash] $ sudo apt-get install vim [/bash]
Vimの起動
※「vi」でも「vim」でもよい
Vimの終了
「:q」と入力→Vim画面の最終行に「:q」と表示される。
Vimを終了するとシェルに戻る
ファイルを開く
指定したファイル名が存在しない場合は新規ファイル作成となる。 「testfile.txt」をいうフィルを新規作成する。
[bash] $ vi testfile.txt [/bash]
→中身が空白のファイルが表示される。
ファイルを保存する
「:w」と入力。
既存のファイルの場合は上書き保存、新規作成したファイルはこの時点でファイルが保存される。「vi」コマンドで新規作成したファイルを保存せず終了すると、ファイルはそのまま消滅する。
ファイルを開いたが上書き保存せずに終了したい場合
Vimでのカーソル移動
h:左に移動 j:下に移動 k:上に移動 l:右に移動
文字の削除
消したい文字にカーソルを合わせ、「x」キーを押下。
文字の入力
ファイルを開いた後、「i」を押下。 →画面最終行に下記のように表示される。
この状態を「インサートモード」と呼ぶ。「インサートモード」にしないとファイルに文字を入力することはできない。
「Esc」キーを押下すると「インサートモード」から「ノーマルモード」に戻る。
※「h」「j」「k」「l」を使用してのカーソル移動はノーマルモードで行う。
カーソルの右側に文字を入力したい場合
「i」の代わりに「a」を使って「インサートモード」になる。 ※行末にテキストを追加していきたい場合などに使用。
単語単位でのカーソル移動
b:前の単語の先頭に移動 w:後の単語の先頭に移動
「b」「w」は「'」「(」なども単語として判断されるため、カーソル移動が細かくなってしまう。 スペース区切りでカーソル移動したい場合は上記「b」、「w」を押下する際に「Shift」キーも同時に押下する。
行頭/行末に移動する
0:行頭に移動する $:行末に移動する
行番号で移動する
10行目に移動したい場合
※「G」は「Shift」+「g」 ※画面上には表示されません。
ファイルの最初の行、最終行への移動
gg:最初の行に移動する G :最後の行に移動する
カット、コピー、ペースト
Vimではカット、コピー、ペーストの呼び方が他のエディタと異なります。
カット | デリート(delete) |
コピー | ヤンク(yank) |
ペースト | プット(put) |
デリート
「x」キー、または「d」コマンドでデリートが可能です。
「d」の後にカーソル移動コマンドを指定して使用します。
d$:行末までデリート d0:行頭までデリート dw:単語1つをデリート dgg:最初の行までデリート dG:最終行までデリート dd:現在カーソルのある行をデリート
プット
「p」キーで貼り付けることができます。
上記「d$」などでデリートした文字列を「p」を押下するとカットアンドペーストができます。
ヤンク
デリートのコマンド「d」を「y」キーに置き換えると、コピー(ヤンク)することができます。
カーソル移動コマンドを同時に使用する方法も、デリートと同じです。
また「yy」で現在カーソルのある行をコピー(ヤンク)することができます。
元に戻す、やり直し
u:直前の操作を取り消したい場合(Undo) Ctrl + r:間違ってアンドゥしてしまった場合に取り消す(redo)