以前、以下2記事を書きました。他の方に説明するために残しておきます。
よく使うCLIのショートカット(bash)
新しいLinuxサーバにログイン時確認すること
Linuxで作業する場合、インストール方法にもよりますがまずインストールされているため、利用できるようになっておけば、作業時などに困りません。当然ですが、GUIとは違い、いろいろな機能をショートカットで利用するため、知っているかどうかで生産性が大きく変わります。本投稿では、自身が良く使うショートカットをまとめます。
環境
vimをインストールしている環境
[Saiph@vi ~]$cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)[Saiph@vi ~]$which vi
/usr/bin/vi
[Saiph@vi ~]$ls -l /usr/bin/vi
-rwxr-xr-x. 1 root root 910040 6月 102014 /usr/bin/vi
[Saiph@vi ~]$yum list installed | grep vim
vim-minimal.x86_64 2:7.4.160-1.el7
(コマンドモードで) / + 文字列
ファイルの先頭から、文字列を検索します。入力文字列と完全一致した箇所に移動します。検索結果に移動した時点で、「n」を押下すると次の候補に、「shift + n(N)」を押下すると、前の候補に戻ります。リファレンスには正規表現が利用できると明記されていますがIPアドレスなど正規表現において、バックスラッシュが必要な特殊文字でもバックスラッシュなしで、検索可能です。
aaa
aaa
aaa
[cursor]aaa
aaa
aaa
/aaa
(コマンドモードで) ? + 文字列
ファイルの末尾から、文字列を検索します。入力文字列と完全一致した箇所に移動します。検索結果に移動した時点で、「n」を押下すると次の候補(末尾から先頭に移動)に、「shift + n(N)」を押下すると、前の候補に戻ります。
aaa
aaa
aaa
aaa
aaa
[cursor]aaa
?aaa
(コマンドモードで) x
カーソルの文字を1文字削除します。
a[cursor]bcdefg
a[cursor]cdefg
(コマンドモードで) dd
カーソル行を切り取ります。
削除ではなく、行がクリップボードに入ります。
aaa
[cursor]bbb
ccc
aaa
ccc
(コマンドモードで) 任意の数字 → dd
カーソル行から任意の数字行切り取ります。
例:2 → dd だと、カーソル以下2行を切り取ります
aaa
[cursor]bbb
ccc
aaa
(コマンドモードで) :file
ファイル情報を表示
:file"test.txt" [Modified][New file][readonly] line 3 of 7 --42%-- col 1
(コマンドモードで) :set nu
テストファイルの行数を表示
aaa
bbb
ccc
:setnu1 aaa
2 bbb
3 ccc
(コマンドモードで) ctrl + f
1ページ送りする。ログや、大きな設定ファイルを見る時に便利。
※ページ戻りはctrl + bです
(コマンドモードで) shift + g(G)
ファイルの末尾行に移動する。
(コマンドモードで) 任意の数字 → shift + g(G)
指定した行に移動する。
ファイルの先頭に移動する場合は1 → shift + g
(コマンドモードで) 0
行の先頭に移動する
(コマンドモードで) shift + 4 ($)
行の末尾に移動する
(コマンドモードで) yy
行コピー → ペーストはp
もう少し慣れてくれば、画面分割や、検索置き換えなども利用できますが、まずはカーソル移動や、コピーペーストといった基本機能をまとめました。検索、行移動、カーソル操作さえ覚えれば大きく生産性があがりますよね。