カテゴリー
Linux

vimのカスタマイズとよく使うコマンドについて

まずvimを使いやすいようにカスタマイズします。
今回は必要最低限の設定だけなので、必要になったら順次追加していこうと思います。

vimの設定をカスタマイズする

一般ユーザーで作業していることを前提とします。

ホームディレクトリにある.vimrcファイルを編集します。.vimrcファイルがなければ作成します。

$ vim ~/.vimrc

.vimrcに以下を記述

"行番号を表示
set number
"日本語の文字化け防止
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac
" 対応する括弧を表示
set showmatch

今回、.vimrcファイルがなかったので、一般ユーザーのホームディレクトリに作成しました。

このままだとroot環境ではカスタマイズした設定が反映されません。。そこで、/root/以下に.vimrcファイルのシンボリックリンクをはります。

$ sudo ln -s ~/.vimrc /root/.vimrc

※sudoで実行しないとPermissionエラーになります。

vimでよく使うコマンド

vimにはノーマルモード、インサートモード、ビジュアルモードの3つのモードがあります。
良く使うコマンドをまとめました。

ファイルの終了

ファイルの終了に関するコマンド

:wq 保存して終了  ※ショートカットshift +  z z(連続押下)
:w 保存
:q! 保存しないで終了

モード切り替え

インサートとヴィジュアルモードの切り替えは、ノーマルモードから行います。

vimを立ち上げたときはノーマルモードになっていますが、別モードになっている場合、escでノーマルモードに戻ります。

iまたはa インサートモードに切り替え
v ビジュアルモードに切り替え
esc ノーマルモードに切り替え

ノーマルモードのコマンド

カーソル移動

h左に移動
j下に移動
k上に移動
l右に移動

^行頭に移動
$行末に移動
%対応するカッコに移動
gg(連続で押下)先頭行に移動
G最終行に移動

コピー&ペースト

yy(連続で押下) 一行コピー
pp(連続で押下) 一行ペースト

削除

dd  (連続で押下) 1行削除(切り取り)ペーストが可能になる
x 一文字削除
Dカーソル位置から行末まで削除
d$(連続で押下)カーソル位置から行末まで削除(Dと同じ)

d^(連続で押下)カーソル位置から行頭まで削除

[ad]アンドゥ

u取り消し
ctrl+r取り消しの取り消し

検索

/検索

【検索結果の順番】
n 順方向へ検索する
N 逆方向へ検索する

ビジュアルモードのコマンド

ビジュアルモードにすると範囲を選択できるので便利。

使用するときは、まずescでノーマルモードにする。
カーソルを操作したい箇所に移動してv
※ビジュアルモードに切り変わる

コピー&ペースト(範囲選択)

矢印キーで範囲を指定してyヤンク(コピー)

貼り付けたい位置にカーソルを移動する

shift + pヤンク(コピー)した部分をペースト

削除(範囲選択)

カーソルを操作したい箇所に移動してv
※ビジュアルモードに切り変わる

d選択範囲を削除

カテゴリー
Linux

Linuxでよく使うコマンドまとめ-通常作業

Linuxで良く使うコマンドをメモ。都度追加していく予定。

SSH接続

ポート番号をデフォルトの22から変更しており、鍵認証で接続する場合。

$ ssh -p [ポート番号] -i [秘密鍵のディレクトリ/id_rsa] [ホスト側ユーザー名]@[IPアドレス]

ファイル・ディレクトリ操作

カレントディレクトリのフルパスを表示

$ pwd

ディレクトリ移動

$ cd

オプション

.. 1つ上

-1つ前

ディレクトリ作成[mkdir]

# mkdir [ディレクトリ名]

サブディレクトリも作成する場合、[-p]オプションをつける
スペース区切りで複数作成
ディレクトリにスペースを含めたい場合は””で囲む

# mkdir -p [ディレクトリ名/ディレクトリ名]

ファイル作成[touch]

ファイルの最終アクセス時刻を変更。
ファイルがなければ空のファイルを作成

# touch [ファイル名]

同じ拡張子のファイルを複数作成
$ touch {index,sample,comtact}.html

オプション

-c ファイルがない場合、新規ファイルを作成しない

ファイルやディレクトリの情報を表示[ls]

# ls

詳細表示[-l]、隠しファイルなど全て表示[-a]する場合

# ls -la

更新順に並べる

# ls -tl

ファイルの移動・ファイルの名前変更[mv]

# mv [移動元パス][移動するファイル名] [移動先パス][移動先のファイル名]

別名で同一ディレクトリ内を移動すると名前が変更になる
下記はtest1.txtをtest2.txtにリネームしている

# mv ./dir/test1.txt ./dir/test2.txt

-i 上書きするを確認

-n 上書きを確認しない

※backup やtrashなどのディレクトリを作成してゴミ箱がわりにした時によく使う

ファイルのコピー

$ cp -i [コピーするファイル名] [コピー先のファイル名]

オプション -rをつけるとディレクトリコピーになる。ディレクトリの中身も一緒にコピーされる

オプション -i で上書きする前にかくにん

$ cp -r mydir mydir2

※ディレクトリ「mydir」を「mydir2」にリネームしてコピー

$ cp *.html html/

拡張子.htmlを全てhtmlディレクトリにコピー

ローカルからリモートにFTPアップ

ローカル環境からサーバーにディレクトリをアップする。
※秘密鍵が必要でポート番号を指定する場合。

$ scp -i [秘密鍵のディレクトリ/id_rsa] -P [ポート番号] -r [ローカル:ディレクトリ] [ユーザー]@XXX.XXX.XXX.XX:[リモート:ディレクトリ]

ファイルの中身表示[less][cat]

内容が長いファイル内容を表示するには[less]が便利

# less [ファイル名]

短い内容を表示するのは[cat]で表示 ※読み方はカット

# cat [ファイル名]

ファイル作成 [cat]

ファイル内容を表示するコマンドcatの出力先をファイルにリダイレクトすることで、新規ファイルを作成

# cat > [ファイル名]
-入力したい内容
[終了はctrl+D]

※注意!すでにあるファイルに対してリダイレクトすると上書き

オプション

-n 行番号をつける

空ファイル作成[touch]

# touch [ファイル名]

ファイル検索

ファイルの中身を検索

$ grep [検索文字] -rl [検索するディレクトリ]

削除

ディレクトリの削除[rmdir][rm]

▼ディレクトリの削除(中身が空じゃないと消せない)

# rmdir [削除するディレクトリのパス]

▼ディレクトリの削除(中のファイルも同時に削除)

# rm -r [削除するディレクトリのパス]

▼エラーメッセージを表示しないでディレクトリごと削除(※実行時注意)

# rm -rf

ファイルの削除[rm]

▼確認メッセージを表示してから削除する

# rm -i [削除するファイルのパス]

ユーザー切り替え

ユーザー名を省略するとrootユーザーに切り替わる。
オプション[-] をつけると環境ごと変更&ホームディレクトリに移動

# su [ユーザー名] -

その他

コマンドのショートカット登録(エイリアス)

▼エイリアス登録

$ alias cpi= 'cp -i'

▼エイリアス一覧

$ alias

▼エイリアス削除

$ unalias cp

 

実行中のアプリ一時停止[ctrl+z]

[fg]コマンドで復帰

# ctrl + z

画面クリア[clear]

# clear

※ショートカットctrl + l でも同じ

シェルの再起動

$ exec $SHELL -l