ヒストリファイルを消してしまった! あるとき zsh で rm ~/.zsh_history とやってしまった時の対処方法。現在のセッションにおける history コマンドで出てくるコマンド履歴を用いて復元を試みたときのメモ。セッションからログアウトしてしまうと使えない。 復元対象 zsh で
zshで過去のコマンド履歴を検索する機能(数文字タイプしてCtrl + R)を頻繁に使う人なら、自分の打ったコマンドにコメントを打って検索のキーワード代わりにしたいことがあるかもしれません。例えばこんな風に: ls -1 # print one entry per line しかし普通は以下のようなエラーが出て、行の実行に失敗します(履歴には残りますが)。 zsh: bad pattern: # コメント機能を有効にするには.zshrcに以下の1行を加えます。 setopt interactivecomments これでコマンドを実行しつつ、コメントを残すことができるようになります。 参考 Comments in command-line Zsh - Stack Overflow one entry per line
zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]? HomebrewをインストールしたらMacでターミナルを開くたびにzshが次のようなエラーを出力するようになりました。 zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]? セキュアではないディレクトリがあるので compaudit を実行して確認してください。ということなので実行してみます。 $ compaudit There are i
zshの設定ファイルである、 .zshrc の設定例です。 標準シェルである bash では出来ない機能をいくつか入れています。 zshのインストール方法については以下をご覧ください。 https://qiita.com/d-dai/items/084cace7f6bfd3580f9d 設定の特徴 cd を実行した後、自動で ls -ltr を実行 cd で自動で pushdされる history コマンドで時刻も表示 Ctrl+rでインクリメンタルサーチ、Ctrl+sで逆順サーチ プロンプトに現在時刻を表示 gitのブランチ名をプロンプト右に表示 cdを省略して、ディレクトリ名だけ入力しても移動が可能 Tabを押して補完を表示したら、左右キーで候補選択可能 # Ctrl+Dでログアウトしてしまうことを防ぐ setopt IGNOREEOF # 日本語を使用 export LANG=ja_
なんかですね、ある時↓のようなrakeコマンドを実行しようとしたら、 $ rake hogehoge[1000,fuga] zsh: no matches found: hogehoge[1000,fuga] みたいなエラーが出るわけですよ。 他にも $ curl http://111.222.33.44/hoge/fuga?piyo=trueとかやっても zsh: no matches found: http://111.222.33.44/hoge/fuga?piyo=true みたいなの出るわけですよ。 …なんかなーと思って調べたらあっさり解決策が見つかりまして。 .zshrcに setopt nonomatchと書いて読み込み直せばOKでした。 〜参考になりました!〜 zsh: no matches found について - えいちゃダイアリー どうやらコマンドにglobでされるメ
僕検索するときよく下のようにやります。 $ grep "検索するきーわーど" `find /home/username -name *txt` zshでやったら zsh: no matches found: *txtてなった。。 .zshrcとかに setopt nonomatch つければ解決ネ! てかなんで急に発生したんだろう・・・???
自分が使っている便利な機能を紹介 $ rm **/*(-@) ファイル修飾子は使っている人も多いはず。 zsh で find を使わずに簡単にファイルを絞り込む *(@) でシンボリックリンク *(-@) でリンクが切れたシンボリックリンク rm **/*(-@) で下位階層含めたリンク切れのシンボリックリンクの削除 修飾子で他に便利なのは *(-ch-1) シンボリックリンクのリンク先が1時間以内に作られたファイル *(U) 自分のファイル *(u:hoge:) ユーザ hoge のファイル *(/^F) 空のディレクトリ $ tkdiff =(zcat xxx.gz | cut -f 1) =(zcat xxx.gz | cut -f 2) プロセス置換 <(zcat xxxx.gz | grep yyyy | cut -f 2 ) みたいな形でわざわざ一時ファイルにしなくても、ファイ
ネタがないので、昔こんなことをやってzshの起動を高速化したよというのを共有したいと思います。 計測 〜が遅いという場合、プロファイリングするのが定石ですね。 http://blog.uu59.org/2013-06-01-zsh-optimize.html という素晴らしい記事を参考に、 ボトルネックを割り出しました。 ↑の記事に全て書いてますが、一応プロファイリングの方法をコチラにも書いておくと、 .zshenvの先頭行に↓を足す zmodload zsh/zprof .zshrcの最後の行に↓を足す if type zprof > /dev/null 2>&1; then zprof | less fi という感じ。 新しくzshを起動すると、lessで↓のようなプロファイリング結果が開きます。 num calls time self name -------------------
自分がプログラムを書き始めた頃、どんな環境で他のプログラマーが仕事をしているのか分からなかったのですが、昼休みのWebサーフィン中に以下の記事を見つけました。 新入学生/新社会人応援企画: 第3回 あるWebプログラマーの作業環境――豪傑の三種の神器 はてなの伊藤直也さんが新人プログラマー向けに自身の環境を紹介している内容ですごく参考になりました。 そこで紹介しているソフトウェアは次の三つでした。 Emacs Zsh Screen それぞれ使いこなすようになるには大変でしたが、馴れてからはこれらのソフトウェアにものすごく助けられています(まだ使いこなせていない機能も沢山あります)。 この記事は2007年に書かれていて今はインストール方法やパッケージ管理など少し状況が変わっているので、そのあたりをここで書いていこうかと思います(インストール方法はMac環境のみ書いています、事前にHomebr
最近 oh-my-zsh ってのがあるって聞いた。インストールするだけで zsh が便利になるみたいなので、早速試してみた。 oh-my-zsh って何? oh-my-zsh は zsh の設定を管理するフレームワークで、いろんな設定を有効にして管理、更新できるようになる。プロジェクトは GitHub で管理されてる。 http://github.com/robbyrussell/oh-my-zsh 特徴としてこんなことが挙げられてる。 40以上のプロンプト テーマ 便利なプラグイン 自動アップデート機能 コミュニティ主体の開発(みんなの設定を取り込んでいく) インストールすると、だいたいこんなことが設定される。 プロンプトがかっこよく(?)なる alias がいっぱい設定される よく使う option が設定される インストール直後はこんな感じ。 Git のブランチ名も表示される。 必要
zsh + oh my zsh + pecoの利点。 bushのみに比べて、zsh + oh my zsh + pecoを導入すると飛躍的にコマンドが打ちやすくなります。 どういうことかというとこういうこと。↓↓ つまりcontrol + Rによるコマンド履歴検索がものすごく便利になります。 1文字ずつコマンド履歴を検索し、それをリストアップしてくれます。一度打ったコマンドはすべてもうフルに入力する必要がなくなるくらい快適になります。 ただこの機能を使うだけなら、oh-my-zshはいらないのですが、git回りが便利になりますし、zshが自動アップデートされますし、なにしろ設定しておかないとpecoとoh-my-zshが両立できないので、oh-my-zshの導入方法も書いておきます。 STEP 1. zshを導入する。 zshを導入するのは簡単です。 CentOSの場合は、以下のコマンドを
man zshoptions zshoptions のマニュアル(訳) 名前 zshoptions - zsh のオプション オプションの指定方法 オプションはまず、名前によって参照される。この名前では大文字小文字の区別はなく、アンダースコア(_)は無視される。たとえば、 `allexport' は `A__lleXP_port' と等価。 オプションの名前の意味は、先頭に `no' をつけると逆転する。つまり、 `setopt No_Beep' は `unsetopt beep' と同じ。この反転は一段しか行われないので、 `nonobeep' は `beep' と同じではない。同様に、 `tify' は `nonotify' と同じではない(これは `notify' の逆転)。 オプションは1つ以上の単一文字名を持つことがある。単一文字オプションには2つの種類がある。ひとつはデフォルト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く