Open1

便利だと思い込んでいる自作コマンド

capribluecapriblue

fileのpathからそのfolderに移動する。

Vscodeにてfileのpathはalt+shft+c(windows)で取得できます。そのpathのfolderをterminal上で開きたいときってありますよね。もちろん

cd /home/name/workdir/(filename) # (filenameを削除して移動)

でできるのですが、毎度面倒です。これは、

cd "$(dirname "/home/name/workdir/(filename)")"

で実現できるのですが、地味にdirnameを打つのが大変。そこで次のようなショートカットを作るとよいでしょう。

#!/bin/bash
cd "$(dirname $1)"

というcdfと名付けたfileを作ります。
これをpathの通っているdirectoryに配置します。

ここでは$HOME/.local/bin/を用いることとします。pathを通すにはbashをお使いの方はホームディレクトリ.bashrcに、

export PATH="$PATH:$HOME/.local/bin/"

を追記しましょう。zshなどの別のshellをご利用の方は.zshrcなどの設定ファイルに追記しましょう。
追記後は

source ~/.bashrc

をお忘れなく。

使い方は簡単!shellで

. cdf  /home/name/workdir/(filename)

を実行しましょう。すると、そのdirectoryに移動できます。

.はshellスクリプトの中身をこのdirectoryで用いるということを意味します。この辺りは改良の余地がありそうです。もしどなたか同じようなことで楽な方法を見つけている方がいらっしゃいましたら、コメントいただけますと幸いです。