鶏口牛後な日々

魔法使い(なんでも作れるエンジニア)を目指してます。ブログは発散中

いろいろvimやらunixコマンドやら覚書(初心者向け)

自分が覚えるためのメモ。
色々なところで知った内容。

vimで行番号を表示したい
:set number
vimで行番号を非表示にしたい
:set nonumber
行番号を恒常的に表示させたい
vi ~/vimrc

で、以下を記述

set number
空白をタブに変換

: set expandtab
: retab!

タブを空白に変換

: set expandtab
: retab

vimでカーソル移動

h(左),j(下),k(上),l(右)

vimで行移動

gj(下)、gk(上)

行の中で移動

0 行の先頭へ(インデント無視して先頭へ)
^ 行の先頭へ(文字がある先頭へ)
$ 行の末尾へ

  1. 下の行の先頭へ
  • 上の行の先頭へ
ページ単位で移動

ctrl + u 半画面分 上へ
ctrl + d 半画面分 下へ
ctrl + b 一画面分 上へ
ctrl + f 一画面分 下へ
{ 段落毎に上へ
} 段落毎に下へ
gg そのファイルの先頭へ
G そのファイルの末尾へ
:100 100行目へ

単語単位で移動

b 前へ
w 後ろへ
e 後ろへ

元へ戻す

u

vimのコメントの色を変えたい

echo “hi Comment ctermfg=gray” >> ~/.vimrc

下に一行追加したあと、insertに切り替える

o

削除

x カーソル上の文字を消す
s カーソル上の文字を消してインサートモードに切り替える
cc 当該行を削除したあと、insertに切り替える
dd 当該行を削除
D カーソル位置から行末まで削除
C カーソル位置から行末まで削除して, インサートモードに入る
cit タグの中身を消して、インサートモードに入る
(cはインサートモードへの切り替え、iは範囲選択、tはタグらしい。tの代わりに<などを入れると、<>で囲まれた範囲を消す)

参考:
vimでhtmlをスラスラ書くためのレシピ


コピー&ペースト

yy カーソル行をコピー
3yy カーソル行から3行をコピー
p ペースト
3p カーソル行から3行後にコピー

ヴィジュアルモード

v 範囲選択ができる

検索

/ + Enter 後方検索
? + Enter 前方検索

小文字→大文字

shift + ^
(もう一度おすと、小文字に戻る。こいつ地味に便利。)

直前の動作を繰り返し

.

やり直し

u 直前の動作をなかったことにする
Ctrl + u redo

インデント

>> 右へインデント<< 左へインデント
vを押してヴィジュアルモードで複数行選択し、>>でインデント、そのあとさらにインデントしたい場合は「.」で直前の動作を繰り返すと、複数行の複数インデントが可能になる(便利)


以下UNIXコマンド

どのファイルか分からないけど、Hogeディレクトリ配下で、piyoという文字列を含んでいる部分とそのテキストファイルを知りたい。

find ~/Hoge -name '*.txt' | xargs grep "piyo"

コマンド履歴を見る

history

コマンド履歴の表示する個数を制限

history 50
→50個表示。実際は数字を指定しないと、ずっと開いたままのterminalだとダバーーーっとたくさん出てきすぎるので注意。

コマンド履歴から実行する

!<履歴番号>

ログファイルなんかを開いて、一番下を監視

tail -f <ファイル名>

複数行を一気にコメントアウト

Ctrl + v で visual blockモード(短形モードというらしい)に切り替え
jや↓で範囲を選択
Shift + i で、//や#を入力
esc で全行に反映

複数行一気にコメントアウトしたものを、戻す

Ctrl + v でvisual blockモードに切り替え
jや↓で範囲選択
d で、先頭文字削除
もしコメントアウトが // の場合は、.(ドット)を押せば良い(=1つ前の動作を繰り返してくれるので)


もっと知りたくなったらググる