トップ «前の日記(2001-08-24) 最新 次の日記(2001-08-31)» 編集

TPRG: 迷走メモ書き

[Donate to CCjp]
2000|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|07|08|11|12|
2009|01|02|
2010|04|06|09|

2001-08-25

_ [comp] zshcompsys の呪文

ssh [TAB] とか telnet [TAB] とか ping [TAB] とかで、/etc/hosts だけじゃなく、~/ssh/config に書いてあるホストを展開してくれるようにしようと思い、元からある/usr/share/zsh/4.0.2/functions/Completion/Unix/_hosts を読んでみた、が。

: ${(A)_cache_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}}

……。これだけで /etc/hosts を読み込みコメントを削除しホスト名だけ拾い出して、配列 $_cache_hosts に代入するらしい。うーがー。

* さっぱり分からないので

perl に逃げましたとさ。まあともあれ出来た。これで随分快適になる。

* 使い方

一応。

~/lib/zsh/functions とかを作って、そこにファイルを置く。のち ~/.zshrc 等で、fpath=(~/lib/zsh/functions $fpath)として、パスを先に通しておく。最後に ~/.zcompdump を消してキャッシュをクリア。

お名前:
E-mail:
コメント:
[]


Tatsuki Sugiura <sugi@nemui.org>