zsh
一発で、.gitのあるディレクトリまで移動するスクリプト。 fpathの通ったディレクリに好きな名前で置いてください。 追記(2009-07-12) Re:gitのルートディレクトリに移動するスクリプト - みずぴー日記 - 永遠に未完成を参考に書き直しました。エラーチェッ…
zshの履歴を可視化してみたら、やたらlsが多かったので、cdしたあとに自動でlsするようにしてみた。 function chpwd(){ ls } 他の人のマネだけど、なかなかいい気がする。
zshで=lsとやると`which ls`と同じになることを発見した。 つまり、 $ echo =ls /bin/ls $ echo `which ls` /bin/ls ということ。これが結構便利。 # gccはどこへのシンポリックリンクなのかな? $ ls -l =gcc lrwxr-xr-x 1 root wheel 7 11 15 09:59 /usr/bi…
続いて、各サブコマンドに対する補完関数を書いていきます。ただし local cmd=${word[2]} ((CURRENT --) shift words case $cmd (add) ......... ;; (commit) ......... ;; esac のように書いていくとどんどん長くなっていくので、各サブコマンドごとに関数…
svnは、第一引数にサブコマンドを取る。 $ svn add hoge.c $ svn commitなので、まずはこのサブコマンドの補完関数を用意する。完成するとこうなる。 $ svn ^D Subversion command ? cleanup diff log pe propedit rename switch add co export ls pedit pro…
svnの補完関数を書いてみよう。まずは、ディレクトリ等の準備から。補完関数はfpathに記述されたディレクトリから自動でロードされる。なので、まずfpathに好きなディレクトリを設定する。 # .zshrc fpath=(~/config/fun $fpath) そして、そのディレクトリに…
wcつながりで、wcの補完関数を書いてみた。 #compdef wc _arguments -s : \ {-c,--chars}"[the number of bytes]" \ {-w,--words}"[the number of words]" \ {-l,--lines}"[the number of lines]" \ "--help[show help]" \ "--version[show version]" \ "*::…
Poderosa+zsh+screenだとどうも改行の扱いが微妙。 lsを打っても、最後の行が表示されない。 これは、たぶんzshが"\n"で終わらない行を、わざと無視していることが関係してる気がする。 なので、 unsetopt promptcr としてやって、その機能をオフにしてやる。
前(id:mzp:20060608)で言っていたスクリプト。まずは、環境をば。 目的はFTPサーバーにファイルを転送する事 FTPサーバーは内部PCからしかアクセスできない 内部PCにはSSHで接続できる ほいで、やっていること。 内部PCにSSHを使ってファイル転送 内部PCから…
といっても、別にzsh限定なわけじゃないのだけれども。 alias hatena="emacs $(date +%Y-%m-%d.txt)"としておけば、コマンドラインで''hatena''と打つだけで、本日用の日記ファイルを開ける。
screenのタイトルに、実行したコマンド名を表示する。(簡易版) function preexec(){ emulate -L zsh local -a cmd cmd=($(s. .)${argv[1]:}) echo -n "?ek$cmd[1]:?e??" }
ZSHで使えるファイル名のパターンマッチングの例。Windows風に言うなら、ワイルドカードみたいなもん。Zsh User's Guideから写しただけだから、細かいことはわからない。布教目的。 すべてのサブディレクトリを再帰的に探索 nameという名前 大文字小文字を区…
俺に長文はかけません。