普段使いの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
みたいに実行するだけで同じように使えるようです。その環境が自分専用なら/etc/bashrc
とかに書けば良いかもしれませんね。
//設定前 $ /var/log/ -bash: /var/log/: ディレクトリです //設定後 $ /var/log/ cd -- /var/log/
autocdは便利なので、普段検証に使っているLinux環境に設定してもいいかもしれません。