Cmderでオシャレにcmd.exeを使う -後編-
前回の記事 Cmderでオシャレにcmd.exeを使う -前編-の続きです。
Table of Contents
はじめに
前回の記事を読んでいると前提で話を進めます。
もし前回記事をご覧になっていない方は必要に応じてご覧下さい。
今回の記事は見た目よりも実用性が中心となります。
Owl Cmder Tools
今回紹介するコマンドや設定の大部分は以下のリポジトリに含まれています。
手元にcloneされている前提で進めます。
Powerlineの更なる強化
前回の記事で Gitリポジトリの情報を更に詳しく表示する というセクションがありました。
Owl Cmder Toolsではより高機能に..簡単にインストールできるようにしました。
ブログから変更点を確認して直接ソースコードをいじる必要はありません。当然ですね 😘
前提
- AmrEldib/cmder-powerline-promptがインストール済
インストール方法
Owl Cmder Toolsのconfig/powerline_git.lua
を%cmder_root%/config/
配下にコピーするだけです。
読み方
Gitに関する表示についてのみ説明します。
ブランチマークの隣には現在のブランチ名が表示されます。
ワークスペースに変更がある場合は色が変わり、変更内容によってマークが変わります。
*
は変更-
は削除?
は未管理
ステージングエリアにaddされたエントリ数はカメラマークと一緒に表示されます。
ハロウィンマークはファイル名変更です。
pushされていないコミット数はクラウドマークと一緒に↑
で表示されます。
逆にfetch済みだがmergeしていないコミット数は↓
で表示されます。
左側がファイルシステムであり、右に行くにつれてリモートリポジトリに近い…とイメージできるようにしました。
競合した場合は...
競合した場合の判断は各自でお願いします。
便利なコマンド群
できるだけ思考と行動を一体化するためにオリジナルコマンドをいくつか用意しています。
コマンドは全てbatファイルとなっており、PATHが通っていればどこからでも実行できます。
また全てのコマンドはfzfのIFを使用しています。
必要な準備
Owl Cmder Toolsのbin
を環境変数PATHに追加してください。
コマンドごとに必要なツールや準備があります。
コマンド名 | 必要なツール | 準備 |
---|---|---|
cdg | fzf, gowl | |
cdr | fzf, fd | |
cdz | fzf | config/cdz.lua を%cmder_root%/config/ 配下にコピー |
gc | fzf | |
gcr | fzf | |
r | fzf | |
vimd | fzf, fd | |
vimf | fzf, fd |
各コマンドの説明はイメージ画像を交えて紹介します。
前回の記事に沿って準備をしている場合はgowl以外のツールがインストール済みだと思います。
cdg
fzfの対話IFを使ってローカルのGitリポジトリへ移動します。
第1引数に正規表現を指定すると、大文字小文字を区別せずに部分一致で初期候補を絞り込めます。
Windowsでコマンドの実行結果をfzfに渡す方法
Bashだとcdgは以下の様に書けます。
cd $(gowl list | fzf)
Windowsではfor /f "usebackq"
構文によって、これを実現しています。
for /f "usebackq" %t in (`gowl list ^| fzf`) do cd %t
cdr
fzfの対話IFを使ってカレントディレクトリ配下のディレクトリへ移動します。
第1引数に正規表現を指定すると、大文字小文字を区別せずに部分一致で初期候補を絞り込めます。
cdz
fzfの対話IFを使って最近移動したディレクトリへ移動します。
移動履歴は%home%/.cdz
ファイルに記録されるため、cmderを起動しなおしても候補は保持されます。
第1引数に正規表現を指定すると、大文字小文字を区別せずに部分一致で初期候補を絞り込めます。
gc
fzfの対話IFを使ってローカルのブランチをチェックアウトします。
gcr
gcのリモートブランチ版です。
リモート名はorigin
固定です。つまりgit checkout -b <branch> origin/<branch>
が実行されます。
r
fzfの対話IFを使ってコマンド履歴を検索します。
コマンドを選択すると内容がクリップボードにコピーされます。
シングルクォーテーションを含むコマンドに注意
vimd
fzfの対話IFを使ってカレントディレクトリ配下のディレクトリをvimで開きます。
vimf
fzfの対話IFを使ってカレントディレクトリ配下のファイルをvimで開きます。
総括
全2回にわたり、Cmderを使ってWindowsのcmd.exe
をオシャレで快適に使う方法を紹介しました。
ターミナル環境は世界を変えますので皆さんも是非チャレンジしてみてください。