man ls
1行下へ
j1行上へ
y1ページ下へ
space
# or
f1ページ上へ
w/[検索したい文字列]次の検索文字に移動
nshift + nq-Rは検索したディレクトリの中も再帰的に検索する。
cd -cd
# or
cd ~ファイル名に空白文字がある場合はダブルクォートで囲む。
もしくは、空白文字の前に\をいれる。
video tutorialというディレクトリがある場合
cd video\ tutorial
## or
cd "video tutorial"/とする。
mkdir -p one/tworm -rf one*任意の0文字以上の文字に置き換える
ls
drank.txt drink.txt drinking.txt drunk.txt one.html
ls *txt
drank.txt drink.txt drinking.txt drunk.txt?は任意の1文字に置き換える
ls
drank.txt drink.txt drinking.txt drunk.txt
ls dr?nk.txt
drank.txt drink.txt drunk.txt例:ファイル名の最後の文字がlまたはtである
ls *[lt]cat、more、less, head、tailがある。
moreはファイルを最後まで表示するとプロンプトに戻る。
headはデフォルトで10行表示する。
head -n2 first.txtでファイルの先頭から10行表示する。
tailででファイルの末尾から2行表示する。
tail -n5 first.txtでファイルの末尾から5行表示する。
file
file first.txt
first.txt: ASCII text, with very long linesls -lでファイルの詳細を確認できる。
ls -l
-rw-r--r-- 1 jun staff 8165 3 22 10:00 first.txtパーミッション、リンクの数、所有者、所有グループ、バイト単位のサイズ、月、日、時間、ファイル名の順に表示される。
隠しファイルを表示する場合は、aオプションを追加する。
ls -lacp コピー元のファイル名 コピー先のファイル名orパス
-Rオプションでディレクトリ内のファイルもコピーできる。
cp -R one one_copy
find . -name "*.txt"
ディレクトリを表示する。
find . -type d
1階層内のディレクトリを表示する。
find . -type d -maxdepth 1
8キロバイト以上のファイルを表示する。
find . -size +8k
grep 検索文字列 first.txt
検索数表示
grep 検索文字列 -c first.txt
ディレクトリ内の文字列検索
grep 検索文字列 -r one
egrep, fgrep, zgrep, zfgrep
u 個人 - user g 団体 - group o その他 - others a - all(全て)
r = 読み取り w = 書き込み x = 実行
chmod *** ファイル名またはディレクトリ名
chmod u+w hello
ディレクトリの実行権限がない場合は、中に入れなくなる。
chmod u+w,g-w,o-w hello
r = 4 w = 2 x = 1
rwx 7 読み取り、書き込み、実行 rw- 6 読み取り、書き込み r-x 5 読み取り、実行 -wx 3 書き込み、実行
chmod 544 test
標準入出力
標準入力(0) = キーボード
標準出力(1) = ターミナルの画面 標準エラー(2) = ターミナルの画面
redirect = リダイレクト
リダイレクトによって、標準以外の入出力ができる。
標準エラー出力をlines.txtに出力
cat abc 2> lines.txt
unzip - 解凍 zip - 圧縮
tar
tar cvf group.tar *
tar tvf group.tar
tar xvf group.tar
サイズ低減
:syntax on :syntax off
gg = ファイルの先頭 G = ファイルの末尾
スクロール ctrl + u = 半画面下 ctrl + b = 前画面上 ctrl + d = 半画面下 ctrl + f = 全画面下
m+キー = マークする ' + キー = マークした位置へジャンプ
:marks = マーク状態の確認 :delmarks キー = マークの解除
インサートモードへ移行
i = カーソルの位置から
I = 行の先頭から
a = 次の文字から
A = 行の末尾から
o = 次の行に空の行を設ける
O = 今の行に空の行を設ける
>> = インデント追加
<< = インデント削除undo u ctrl + R
全てまとめてキャンセル
e!
1文字削除x
7文字削除7x
1文字入れ替えr
dwその位置より単語を削除
cw単語を削除
dd行を削除
Dその位置より先の文字を削除
J次の行の改行を無くす
書き込み以外はNORMALモードで行うのが合理的
yy
vVISUALモード
選択後、yでコピーされる
V VISUAL LINEモード
ctrl + v VISUAL BLOCKモード
:reg
クリップボードの履歴を参照
最終行の末尾から編集
GA
インデント >> <<
選択した文字を削除
v 選択 d
/n /N
?n 逆の動きとなる
#前方検索
*後方検索
[ + I カーソル上の単語の検索結果リスト表示
4行目から20行目までのstaticを削除
:4,20 s/static//g
ファイル内のintをlongに置き換え。
:% s/int/long/g
正規表現
行の先頭の空白を削除
% s/^ *//g
コマンドラインモードでも十字キーで履歴を遡ることができる。
1文字ごとに置き換えるか確認する。
% s/int/long/cg
:lsでバックグラウンドで開いているファイル(バッファ)を確認できる。
:bn 次のファイル
:bp 前のファイル
:b5 バッファ番号を指定する
:b filename ファイル名を指定することも可能
:bd バッファを閉じる
:sp 水平にウィンドウを開く
:clear, :q 閉じる
:vs 垂直にウィンドウを開く
ウィンドウの移動
<C-w>h 左に移動
<C-w>j 下に移動
<C-w>k 上に移動
<C-w>l 右に移動
バックグラウンドにないファイルを開く
:e ファイル名
ウィンドウを1つにする
:close
タブを開く
:tabnew ファイル名:
タブを閉じる
:q,:close,:bd
次のタブに移動
gt, tabnext
前のタブに移動
gT, tabprevious
開いているタブ以外を閉じる
:tabonly
開いているタブを閉じる
:tabclose
unixコマンドをvim利用時に使用する方法
:! ls
unixコマンドの出力をコピーする方法
:r ! ls
vimの全設定を確認
:set all
プラグイン