背景
narazuke の日記を書くのがめんどい
<- vscode 開くのが面倒だから
-> コマンドを作ってショートカットしたい
何をしたか
- 自作コマンド
- 自作コマンドでの補完
自作コマンドの作り方
zshrc
export PATH="$HOME/.command:$PATH"
.command/mycommand
#!/bin/sh
if [ "$1" = "" ]; then
cd ~/narazuke && code .
else
cd ~/narazuke/"$1" && code .
fi
ターミナル
$ mycommand
自作コマンドに対する補完
zshrc
autoload -Uz compinit
compinit
FPATH="$HOME/.completion:$FPATH"
autoload -Uz _mycommand
compdef _mycommand mycommand
HOME/.completion/_mycommand
#compdef mycommand
function _mycommand {
_values : 'foo' 'bar'
}
ターミナル
$ mycommand [TAB]
# 'foo'と'bar'が補完できる
~/.completion/_mycommand
#compdef mycommand
function _mycommand {
local -a var
var=($(ls ~/hogehoge))
_values : ${var[@]}
}
ターミナル
$ mycommand [TAB]
# hogehoge 以下の dir 名または file 名で補完できる
結果
とても楽になりました