
田中太郎
vim のオプションである servername の指定を便利にする関数を紹介します!
概要
vim を起動するとき、オプションで –servername を指定すると、別な画面からファイルを開くことができます。
便利な機能ですが、–servername とわざわざ指定するのは面倒なので、簡単に使える関数を作成するしました。
servername のおさらい
vim –servername <サーバ名> <ファイル名>
でファイルを開くと、別な画面から
vim –servername <サーバ名> –remote <ファイル名>
で元々開いていたvim でファイルを開くことができる。
作成した関数の紹介
動作
vims
vims <ファイル名>
と入力すると、
vim –servername hoge <ファイル名>
と同じ動作をする。また、
vims <ファイル名> <サーバ名>
とすると、<サーバ名>でファイルを開きます。
vimr
vimr <ファイル名>
と入力すると
vim –servername hoge –remote <ファイル名>
と同じ動作をする。また、
vimr <ファイル名> <サーバ名>
とすると、<サーバ名>でファイルを開きます。
サンプルコード
# vims の関数を作成します。
function vims() {
# ここにヘルプの記述を書きます。
function help(){
echo "help:"
echo " vims [filename] {servername}"
}
# filesという配列を作成します。
files=()
# デフォルトのサーバ名をhogeにします。
servername=hoge
# 引数が指定されていないと、上記のヘルプが出力されます。
if [[ $# -eq 0 ]] then;
help
return 1
fi
# 引数が1つだったときはこの行が動作します。
if [[ $# -eq 1 ]] then;
echo "servername $servername"
vim --servername hoge $1
return
fi
# 引数が2以上のときはこの行が動作します。
for file in $*
do
# 存在しないファイル名がある場合、その名前がサーバ名になります。
if ! [[ -f $file ]] then;
servername=$file
break
fi
files+=$file
done
echo "servername $servername"
echo "argument $*"
vim --servername $servername $files
return
}
# vimr の関数を作成します。
function vimr() {
# ここにヘルプの記述を書きます。
function help(){
echo "help:"
echo " vimr [filename] {servername}"
}
# files という配列を作成します。
files=()
# デフォルトのサーバ名をhogeに設定します。
servername=hoge
# 引数が指定されていないと、上記のヘルプが出力されます。
if [[ $# -eq 0 ]] then;
help
return 1
fi
# 引数が1つだったときはこの行が動作します。
if [[ $# -eq 1 ]] then;
echo "servername $servername"
vim --servername hoge --remote $1
return
fi
# 引数が2以上のときはこの行が動作します。
for file in $*
do
# 存在しないファイル名がある場合、その名前がサーバ名になります。
if ! [[ -f $file ]] then;
servername=$file
break
fi
files+=$file
done
echo "servername $servername"
vim --servername $servername --remote $files
return
}
まとめ
今回は、servername のオプションを便利に使うための関数を作成しました。ぜひ使ってみてください。
コメント