Hi, I created a ZSH completion script for most of LXC tools (using LXC 0.6.5). I am not a zsh guru, so maybe I did it wrong.Anyway, at first I only wanted to complete the name of the containers based on the content of /var/lib/lxc, but then I decided to write the whole thing. It should be installed in /usr/share/zsh/site-functions for system-wide installation. Alternatively if you want to add it f
zshでanythingのような事ができるzaw.zshが便利だったので、いろいろ調べていたら最近のディレクトリに移動するというのも出来たので、紹介。 cdr まずzshを最新の4.3.15にすると、cdrっていうコマンドが出来てます*1。これを使うと最近行ったディレクトリに移動することができます。 .zshrcには以下のような設定をしておくと良いです。 autoload -Uz chpwd_recent_dirs cdr add-zsh-hook add-zsh-hook chpwd chpwd_recent_dirs zstyle ':chpwd:*' recent-dirs-max 5000 zstyle ':chpwd:*' recent-dirs-default yes zstyle ':completion:*' recent-dirs-insert both zaw-src-
会社でコードを書いていると、いろんなプロジェクトのディレクトリ間を頻繁に移動します。毎回cdするのはだるいので、それを解消する便利なzsh用の関数と補完関数を書いたので紹介します。はてなのエンジニアのひとと、zsh補完関数を書いてみたい人にはそこそこ役立つといった趣のエントリです。 会社のプロジェクトのリポジトリは、~/work/hatena というところに全部まとめています。だいたい以下のような感じです。 > ls ~/work/hatena Hatena-Antenna/ Hatena-Diary/ Hatena-Ugomemo/ git-hooks/ Hatena-Bookmark/ Hatena-Group/ Ridge/ iphone/ Hatena-Coco/ Hatena-Star/ android/ sketch/ 各プロジェクトのリポジトリには頻繁に移動するので、簡単なz
福岡Emacs 行ってきました! Mew 関係者がお二人(@nom4476 @moepanda )もいらっしゃったり、Vim 使い が 1/3 くらい占めていて案外新鮮だったり、ワールドカフェ という対話手 法に感心したり(残念ながら時間切れで途中で退席しましたが)で、とって も楽しかったです! 嬉しかったことは @moepanda さんにお会いできたことと、@nom4476 さん が「このブログ読んでますよ」と仰ってくれたこと。うれしはずかし…(^^) 私も「Langrich社でのEmacs活用、langrich.el 」というお題でデビューを 飾ることが出来ました。8888 それぞれの発表も面白かったのですが、一番気になったのが発表の中でど なたかが、ターミナルの現在のディレクトリを dired で開いたり、Emacs の現在のバッファに対応するディレクトリをターミナルで開いたりしてい
Windows側からGUIでいじってる方のクライアントをTortoiseSVN 1.5.2にアップデートしたせいで,リポジトリの形式がSubversion 1.5の形式に書き換えられ,1.4系クライアントを使っているCentOSのほうから書き換えができなくなってしまった. そんなわけで,CentOS 5.2のほうもSubversion 1.5にバージョンアップ. パッケージインストールはdagから おなじみのdag(rpmforge)ですね.dagを yum のリポジトリに追加する方法は毎度のことですがてきとーにググる. 私の場合は普段はenableにしていないので(utterramblingsのパッケージと若干バッティングするものがあり,ApacheやPHPでちょっとうまくいかなくなるので),以下のように実行. % sudo yum update --enablerepo=dag sub
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
最近 oh-my-zsh ってのがあるって聞いた。インストールするだけで zsh が便利になるみたいなので、早速試してみた。 oh-my-zsh って何? oh-my-zsh は zsh の設定を管理するフレームワークで、いろんな設定を有効にして管理、更新できるようになる。プロジェクトは GitHub で管理されてる。 http://github.com/robbyrussell/oh-my-zsh 特徴としてこんなことが挙げられてる。 40以上のプロンプト テーマ 便利なプラグイン 自動アップデート機能 コミュニティ主体の開発(みんなの設定を取り込んでいく) インストールすると、だいたいこんなことが設定される。 プロンプトがかっこよく(?)なる alias がいっぱい設定される よく使う option が設定される インストール直後はこんな感じ。 Git のブランチ名も表示される。 必要
find-file Emacs の find-file (C-x C-f) は本当に使いにくいものだと, 常々思っていた. 中でも, 補完候補が複数あった場合の挙動. これが何とも気にくわない. 例えば, 以下のように C-x C-f を入力した直後の状態を考える. この時 TAB キーを押すと, デフォルトの Emacs では [Complete, but not unique] との表示が出るだけで, 候補一覧を表示するにはもう一度 TAB キーを押す必要がある. この「二回 TAB キーを押す」という行為が毎度毎度要求されることとなり, そのストレスたるや凄まじいものがあった. また, TAB を二回押して補完候補が表示された後の挙動は, 輪をかけて苛立たしい. この時 TAB を押すとどうなるかといえば「補完候補が全て見れるようにスクロールが行われる」だけなのだ. 補完候補一覧が画
zsh週間と言うことで、最近の僕のzshrcを紹介してみる。 解説 zshrc本体を紹介する前に、ちょっと分かりにくい所の解説。 lessのオプションを環境変数で指定する export LESS='--tabs=4 --no-init --LONG-PROMPT --ignore-case' lessはよく使うので、快適なオプションを指定しておきたい。環境変数LESSで指定しておけば自動的にlessのオプションとして認識されるよ。 --LONG-PROMPT ってのはプロンプト(lessの一番下の行)に詳細を表示させるっていうオプションで、今は上から何行目で何%まで進んだか、とかが表示される。 ちなみにこれはzsh関係なくて、bashとかでもできる。 smart-insert-last-word の設定 コマンドライン編集用の便利なキーバインドで、Ctrl+] で一つ前のコマンドの最後の単
シェルというのはコンピュータに命令を送るのには非常に適したインターフェースですが、その反面、操作する人間のちょっとした気分の変化にうまく対応できないという欠点があります。 $ svn add foo.txt ここでちょっと気が変わって foo.txt の中身を見たいとします。僕の場合は以下のようにしていました。 $ svn add foo.txt^u # Ctrl+U でコマンドラインをクリア $ less foo.txt $ ^y # ^u した内容をペースト $ svn add foo.txt これではシェルを使っているのではなく、シェルに使われてしまっています。せっかく zsh を使っているのですから以下のような事をしたいです。 $ svn add foo.txt^x^r # Ctrl+X Ctrl+R でカーソル直前のファイルを less ... # less 中 $ svn ad
しばらく前から、コマンドの終了ステータスをプロンプトの色に反映させるようにしている。 終了ステータスとは C言語なら int main(int argc, char* argv[]) { ... return 0; } この return している 0 が終了ステータス。この整数値の下位 8bit がプロセスの終了時に親 (そのプロセスを起動したプロセス) にわたる。 終了ステータスの指定方法はいろいろある。C言語の場合 main 関数の戻り値以外にも exit 関数の引数でも指定できる。Ruby, Perl の場合、そもそも main 関数は無くて exit 関数に引数を与える方法だけがつかえる。 この値はシェル上で $? で参照できる。 % perl -e 'exit(0xdead)'; echo $? 173 % 慣例として、正常終了のときは 0 を返すことになっている。 % ls
山葵です。 長らく間が空きがしましたが、id:cubicdaiyaに 「今月から本気出す」って言っちゃったので今月中に更新でございます。 さて、zshの設定ファイルのは、 .zshenv .zprofile .zshrc .zlogin .zlogout などがあります。 ログイン時やログアウト時などで読み込まれるファイルが異なりますが。 初心者の方は、取りあえず、 .zshrcにzshの設定を書き、 .zshenvでパスを通す ようにしておけばよいかと。 以下、.zshrcの設定例です。 1つ1つ説明するのも面倒なので、貼り付けるのみで。(だめだめじゃん ベースはzshrc.txtを参考にしました。 あと、.zshrcがめちゃくちゃ長くなってきたら、zcompileしておくと読み込みが早くなってよいかもです:-) 面白い設定とか間違いとかあったら教えていただけると嬉しいですです。 [更新
昨日の社内 LT で、とあるエンジニアから「sudo するときは vi を使いますよね?だから、最近 vi でいい気がしてきた」という痛い発言が出ました。 Emacs を愛用している人として、とても悔しいと思って試してみました。 Emacs から sudo 経由でファイルを編集するときは、tramp を使います。以下、tramp のインストールと設定手順です。 以下、作業手順 本家サイトより、tramp 2.1.9 をダウンロードする 展開してから、./configure –with-contrib && make && make clean する tram-2.19 ディレクトリ全体を、ロードパスの通った場所におく Emacs を起動してから、M-x tramp-version をして tramp のバージョンを確認する ここに書いてあるとおり、C-x C-f /sudo::ファイル名
コマンド実行中の場合はコマンド名を表示し,それ以外はカレントディレクトリ名を表示したかったのでいろいろ調べて .zshrc をいじってみました。 .zshrc if [ "$TERM" = "screen" ]; then local -a shorthost echo $TERMCAP | grep -q -i screen if [ $? -eq 0 ]; then shorthost="" else shorthost="${HOST%%.*}:" fi echo -ne "\ek$shorthost\e\\" preexec() { echo -ne "\ek${shorthost}($1)\e\\" echo -ne "\e_`dirs`\e\\" } precmd() { echo -ne "\ek${shorthost}$(basename $(pwd))\e\\" } fi
こんにちは、hnwです。今日はEmacsユーザー向けのzshの設定について紹介します。 私はかれこれ8年くらいbashを使っていました。これまでzshユーザーから「zsh便利だよ?zsh使いなよ」と言われて試しに起動してみたことはあるのですが、コマンドライン編集の細かい動きが違うのが気になってすぐbashに戻していました。 zshがbashと何が違うかというと、M-f(カーソルを1単語進める)の挙動です。bashもzshもデフォルトではEmacsライクな動作ということになっていますが、zshはEmacsと微妙に動作が違っているのです。bash(やそれ以前に使っていたtcsh)ではそんな違和感を覚えたことは無いのですが、zshはその点が少しイライラしました。私以外でも、重度にEmacsに毒されている人なら気になって仕方がないんじゃないかと思います。具体的には下図のような挙動の違いがあります。
現在は m4i さん作のcdd を tmux, bash, multi session +α に対応した - カワイイはつくれる のcddを使うのがオススメです。 screen を使ってると、別の作業している WINDOW のカレントディレクトリに移動したくなることってありませんか?私は月1000回ぐらいあります。で、毎回手動で打つのがめんどくさくなってきたので zsh スクリプト書いてみたら思っていた以上に便利だったので、汚いスクリプトですが公開します。 http://svn.coderepos.org/share/lang/zsh/cdd/cdd 使い方は、上記スクリプトを checkout したりダウンロードしたりしてから、.zshrc に autoload -U compinit compinit source ~/path/cdd # (cdd はこのファイル) するを追加します
http://read-eval-print.blogspot.com/2007/09/blog-post_25.html 俺もアーロンチェア使っている。TDDの教科書にも「安い机と高い椅子を使え」という教えがあるように長時間座りつづける以上椅子大事。 extended_globは **/* とか以外にほとんど使わないので、いざ欲しいときに忘れてしまう。プロセス置換もしかり。ここでワンキーでチートシートの表示ができたら嬉しい。普段Rubyばかりでシェルスクリプトを書かないので、苦労すると思うけど、シェル関数で書いてみようかな。 やってみるとあっさりできた。以下を.zshrcに追加してC-M-hを押すと ~/zsh/cheat-sheet.conf が表示されるようになる。当然補完候補の表示同様編集中のコマンドラインは消えない! cheat-sheet () { zle -M "`cat ~
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く