Skip to content

Instantly share code, notes, and snippets.

@naoya
Created August 14, 2013 05:19
Show Gist options
  • Save naoya/6228216 to your computer and use it in GitHub Desktop.
Save naoya/6228216 to your computer and use it in GitHub Desktop.

シェルTIPS 20min

コンピュータの方がうまくできることに人間を使うな。
-- Tom Duff

キーバインド

Emacs の基本操作とおなじ。

  • C-a, C-e : カーソルを先頭、末尾に移動

  • C-b, C-f : カーソルを戻す、進める

  • C-d, C-h : 一文字削除 (delete, backspace)

  • M-w : 一単語前に進む

  • C-spc + C-w : マーキング + カット

  • C-y : ヤンク

  • C-p, C-n : ヒストリを戻る、進む

  • 困ったら C-g

  • 自前の設定: C-^

    function cdup() { echo cd .. zle reset-prompt } zle -N cdup bindkey '^' cdup

おまけ : KeyRemap4MacBook ⇒ Mac のキーバインドも emacs/vim 風にできる

ヒストリ

  • C-r : 後方にインクリメンタルサーチ
    • 検索中に C-r ・・・ 候補を検索
    • 検索中に C-a とか C-e で実行せずに編集

一度打ったコマンドは二度と手入力しない。差分は探してきて編集して実行

history grep

zsh の設定

setopt share_history

とか定番で色々あるけど、そもそも oh-my-zsh 使えば自分で設定しなくてもだいたいいい感じに。

補完

  • 気になったら TAB 二回
  • コマンド毎の補完
    • ssh のホスト名
    • プラグインで拡張できる
      • git のサブコマンド

mosh 使ってる場合は?

compdef mosh=ssh

  ワイルドカード展開 / グロブ

  • cat *
  • cat **/*.rb

pushd/popd

cd -

直前にいたディレクトリに移動

cd -<TAB>

ディレクトリ履歴から移動できる

z

z HBFav2

brew で入る。brew install z

Emacs と anything

  • anything.el というものがありまして
  • すべてのタスク切り替えをインクリメンタルサーチで行う
    • ファイルを探す、開く
    • バッファを切り替える

zsh anything.el-like widget (zaw)

  • zaw-cdr

    • anything.el ライクな zsh のインタフェース

    bindkey '^xb' zaw-cdr

canything

ls / | canything > select.txt

tmux (or GNU Screen)

  • 当然使ってますよね

    • (tmux || GNU screen) 使うなら zsh 一択
  • detach / attach してますか

  • スクリーンモード

  • Emacs な人 → elscreen というのがある

open, pbcopy, pbpaste

  • open .
  • cat index.html | pbcopy
  • pbpaste > index.html

おまけ

  • ack
  • tig

どうやって身につけるか

  • 時々棚卸しする
  • おもむろにググって検索してみる → Advent Calendar とか

参考URL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment