普段使いのmacOS環境ではzshシェルを現在は常用しています。
使っているうちにこれはどうするんだろうと思っては調べて.zshrcに書いて設定を適用みたいに、zshrcを日々温めています。
最近追加して便利だった設定をご紹介しようと思います。
ファイルを指定して実行すると任意のテキストエディターでファイルを開く
仕事柄、macOSだろうがLinuxだろうがコマンドラインベースで作業することが多いです。 ファイルを開くときは通常、どのソフトウェアやコマンドで開くか指定して、その後に開きたいファイルを指定します。
例えばこんな感じですね。
cat /etc/os-release less /var/log/audit/audit.log firefox http://www.google.co.jp
基本的にめんどくさがりな性格なので、できる限りタイプ数を減らしたいって思ってしまいます。 そんな時に便利なのが、このようなエイリアスの設定です。
例えばこんな設定を行うと、指定した拡張子を持つファイルを任意のエディターで開いてくれます。
alias -s {md,markdown,txt}='vim'
alias -s {json,log}='cat'
これを~/.zshrcに書いてsource ~/.zshrcを実行したあとはその設定で操作できるようになります。
ちなみにaliasコマンドの実態は/usr/bin/aliasですが、実際はシェルのビルドインコマンドが使われるので、上記はzshでしか有効ではありません。
設定後に試すとこんな感じ。catを指定したファイルはcatで、vimを指定したファイルはvimで開かれます。emacs派の人はvimのところをemacsにすればにっこり。
% package.json
{}
% jmeter.log
2024-12-27 16:45:17,712 INFO o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2
2024-12-27 16:45:17,722 INFO o.a.j.s.SaveService: Using SaveService properties version 5.0
2024-12-27 16:45:17,724 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8
2024-12-27 16:45:17,730 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2024-12-27 16:47:43,373 INFO o.a.j.s.FileServer: Default base='/Users/user'
2024-12-27 16:47:43,375 INFO o.a.j.s.FileServer: Set new base='/Users/user/working/jmeter/logs'
autocd
次はautocdという設定です。名前からなんとなく想像がつく通り、cdコマンドを指定せずにパスを指定すると、そのパスにchange directoryしてくれるという設定です。
~/.zshrcに書いてsource ~/.zshrcを実行したあと、設定が有効化されます。
setopt auto_cd
例えばこんな感じですかね。
% ~/Downloads % ls Oracle_VirtualBox_Extension_Pack-7.1.4.vbox-extpack VirtualBox-7.1.4-165100-OSX.dmg
ちなみにこの設定はbashでも使えるようで、.bashrcなどに次のように書いてsource .bashrcみたいに実行するだけで同じように使えるようです。
shopt -s autocd
その環境が自分専用なら/etc/bashrcとかに書けば良いかもしれませんね。
//設定前 $ /var/log/ -bash: /var/log/: ディレクトリです //設定後 $ /var/log/ cd -- /var/log/
autocdは便利なので、普段検証に使っているLinux環境に設定してもいいかもしれません。
