mr/wslのrgを便利に
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* ripgrep のファイル名出力部分に Windows のパス表記を追加...
#prism(bash){{{
$ rg -F 'example.com' ~/.ssh ~/first/*.md
C:\Users\HOGE\AppData\Roaming\first\wifi.md ★★★追加★★★
/home/HOGE/first/wifi.md
73:hoge@example.com
\\wsl.localhost\Ubuntu\home\HOGE\.ssh\config ★★★追加★★★
/home/HOGE/.ssh/config
89: HostName a.example.com
94: HostName o.example.com
98: HostName p.example.com
}}}
rgでヒットしたファイルをWindowsの既定のアプリで開きたいと...
マウスでターミナルに表示されたWindowsのパスをコピーしたら
+ Win-R(「ファイル名を指定して実行」ダイアログを表示)
+ Ctrl-V (「名前」欄にファイル名をペースト)
+ Enter
たったの3ストロークでOK
* やり方 [#c92d1b3f]
rg のラッパー関数を作ります。bash依存です。
#prism(bash){{{
rg(){
color='\033[0;36m'
color_off='\033[0m'
command rg -p "$@" |
while read -r line; do
if [[ $line =~ ^[\[$'\x1b'0-9m]+/ ]]; then
# shellcheck disable=SC2001
p_wsl="$(sed -E 's/\x1b\[([0-9]{1,3}((;[0-9]{1,3})*...
p_wsl="$(readlink -f "$p_wsl")"
p_windows="$(wslpath -w "$p_wsl")"
printf '%b%s%b\n' "$color" "$p_windows" "$color_off"
fi
echo "$line"
done
}
}}}
終了行:
* ripgrep のファイル名出力部分に Windows のパス表記を追加...
#prism(bash){{{
$ rg -F 'example.com' ~/.ssh ~/first/*.md
C:\Users\HOGE\AppData\Roaming\first\wifi.md ★★★追加★★★
/home/HOGE/first/wifi.md
73:hoge@example.com
\\wsl.localhost\Ubuntu\home\HOGE\.ssh\config ★★★追加★★★
/home/HOGE/.ssh/config
89: HostName a.example.com
94: HostName o.example.com
98: HostName p.example.com
}}}
rgでヒットしたファイルをWindowsの既定のアプリで開きたいと...
マウスでターミナルに表示されたWindowsのパスをコピーしたら
+ Win-R(「ファイル名を指定して実行」ダイアログを表示)
+ Ctrl-V (「名前」欄にファイル名をペースト)
+ Enter
たったの3ストロークでOK
* やり方 [#c92d1b3f]
rg のラッパー関数を作ります。bash依存です。
#prism(bash){{{
rg(){
color='\033[0;36m'
color_off='\033[0m'
command rg -p "$@" |
while read -r line; do
if [[ $line =~ ^[\[$'\x1b'0-9m]+/ ]]; then
# shellcheck disable=SC2001
p_wsl="$(sed -E 's/\x1b\[([0-9]{1,3}((;[0-9]{1,3})*...
p_wsl="$(readlink -f "$p_wsl")"
p_windows="$(wslpath -w "$p_wsl")"
printf '%b%s%b\n' "$color" "$p_windows" "$color_off"
fi
echo "$line"
done
}
}}}
ページ名: