タグ

zshに関するshoのブックマーク (15)

  • zsh の zmv を使って簡単に複数ファイルを一括リネームする - mollifier delta blog

    連番のファイルがずらーっとあったとき、複数のファイル名を一気にスマートに変えたいことがある。一個ずつちまちまリネームなんてやってられない。そんなときは zsh の zmv を使うと便利なので紹介する。 zmv で何ができるか 例えばこんな感じで 1.txt から 6.txt までファイルがあったとする。 % ls 1.txt 3.txt 5.txt 2.txt 4.txt 6.txtでも、ファイル名短すぎてわかりにくいなー、file-1.txt みたいに頭に file ってつけたいなー、って思ったとしよう。 そんなときのために zsh には zmv ってコマンドがあって、この手の一括リネームがスマートにできる。お手軽な使い方はこんな感じ。 あらかじめ ~/.zshrc にこう書いておいてから、 autoload -Uz zmv alias zmv='noglob zmv -W' 一回のコマ

    zsh の zmv を使って簡単に複数ファイルを一括リネームする - mollifier delta blog
    sho
    sho 2014/10/31
  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    sho
    sho 2014/02/22
    「[[」コマンドの存在を知らなかったという……何年シェル上で生活してるんだ
  • [zsh] ^ で上のディレクトリに移動するのは、入力がないときだけにする 活動日誌(2012-03-01)

    ■ [zsh] ^ で上のディレクトリに移動するのは、入力がないときだけにする zsh を使っている方には、次のような設定を入れている方も多いと思います。 function cdup() { echo cd .. zle reset-prompt } zle -N cdup bindkey '\^' cdup これは ^ で上のディレクトリに移動できるようにする設定です。 普通に ^ を入力したいときは C-v ^ と入力するのですが、 テキストをコピペでターミナルに貼り付けたとき、テキストに ^ が混ざっていて意図しない結果になることが何度かありました。 この問題を改善するため、次のように変更しました。 function cdup-or-insert-circumflex() { if [[ -z "$BUFFER" ]]; then echo cd .. zle reset-promp

    sho
    sho 2012/05/17
  • なんとなく zsh 使ってるけど……的な人は oh-my-zsh 入れると良い - 宇宙行きたい

    これから zsh はじめる人へってタイトルにしようかと思ったけどやめた。 oh-my-zsh というのがあります。 https://github.com/robbyrussell/oh-my-zsh 色々便利設定とテーマ群になります。 で、テーマの数がすごいのでまずは見てみよう↓ https://github.com/robbyrussell/oh-my-zsh/wiki/themes みんな zsh 便利だって言ってるから使ってるけど、まぁそこまで使いこなしてないよねー でも Bash に戻るのもなぁとかそんな人間は何も考えずにとりあえず入れてみると良いと思う。 まず、自分の今までの設定を rename とかして退避(あとで使います) git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-m

    sho
    sho 2012/04/16
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
    sho
    sho 2012/02/27
  • 活動日誌(2012-01-27)

    ■ [zsh]zsh の vcs-info を Cygwin で高速化する zsh には vcs-info というものがあり、これを利用すると Git や Mercurial のブランチ名などをプロンプトに表示することができます。 (例: http://d.hatena.ne.jp/mollifier/20090814/p1) しかし使ってみるとわかるのですが、Cygwin だと結構遅いです。 シェルのプロンプトが表示されるたびにちょくちょく待たされる感じになってしまい、かなりストレスを感じます。 どうにかならないものかと思っていたのですが、ひとまず実用上問題なさそうなところまで高速化できたので共有しておきます。 (私が Mercurial メインで使っているので、Mercurial を使う際の高速化が中心です。Git だとまだ改善の余地が多いかと思います) 第一に:使っていないバージョン

    sho
    sho 2012/02/21
  • Gitを使っていて zsh: no matches found: HEAD^ などと言われない方法 - 工夫と趣向と分別と。

    Gitを使っていると、今のcommitなし!とgit reset --soft HEAD^したり、abc1234以降のコミットをパッチ化したい!とgit format-patch abc1234^したくなることがよくあるわけだが、この^はzshの拡張グロブ有効化時(setopt extended_glob)はメタ文字として働くため、そのまま入力すると標記のエラーで怒られてしまう。 いちいちエスケープするのは面倒だと思うのだが、ぐぐってみても正面から対処している人があまりいないようなので紹介しておくと、拙作のgit-escape-magicを使えば良い。リンク先のドキュメントの通り、ふつうに入力するだけで、いい感じに文脈を見て自動エスケープしてくれる。 このように、zle(zshラインエディタ)をいじると結構おもしろいことができる。 たとえば、3つ上のディレクトリを参照するために../../

    sho
    sho 2012/01/24
  • Facebook

    sho
    sho 2011/09/05
  • git のブランチ名 *と作業状態* を zsh の右プロンプトに表示+ status に応じて色もつけてみた - ヤルキデナイズドだった

    2014-09-02更新:pcre モジュールを使わないバージョンに差し戻し 以前のエントリで掲載したコードを改良して、 git の作業状態(merge がコンフリクトで中断してるとか interactive rebase 中だとか)も表示するようにしてみた。 以前のこれに加えて merge 中はこんなんなります。 つまり、 作業ディレクトリがクリーンなら緑 追跡されていないファイルがあるときは黄色 追跡されているファイルに変更があるときは赤 変更あり+未追跡ファイルありで太字の赤 merge や rebase の途中ならカッコ内に表示 です。 コード autoload -Uz VCS_INFO_get_data_git; VCS_INFO_get_data_git 2> /dev/null function rprompt-git-current-branch { local name

    git のブランチ名 *と作業状態* を zsh の右プロンプトに表示+ status に応じて色もつけてみた - ヤルキデナイズドだった
    sho
    sho 2011/06/20
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    sho
    sho 2011/06/16
  • zshで究極のオペレーションを 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    zshで究極のオペレーションを 記事一覧 | gihyo.jp
    sho
    sho 2010/11/15
  • Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog

    2012/12/13 追記 zsh 4.3.11 以降の新しい機能を使って改良しました。 -> 「zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita」 最近Gitを使い始めた。で、ブランチとか使うようになって、今どのブランチにいるのかをzshのプロンプトに表示したくなってきた。「そういやそんなブログのエントリ、よく見かけるな」と思ってちょっと調べてみた。 gitコマンドを呼び出してなんかやってる例が多いけど、manを読んでたらzsh自体にそういうのが組み込まれてたので紹介。vcs_info ってのを使うと解決する。 zshrcの例 いきなりだけど zshrc の書き方の例。 autoload -Uz vcs_info zstyle ':vcs_info:*' formats '(%s)-[%b]' zstyl

    Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog
    sho
    sho 2010/03/19
  • 第5回 zshの誇る花形機能“補完” | gihyo.jp

    今回はzshの誇る機能の花形とも言える補完機能について紹介しよう。zshの補完は強大で、例示した設定の意味を略さず書こうとするとそれだけでになってしまう(約150ページ分)ので、細かい意味は読者の推測にまかせて、少し変えて便利にカスタマイズする場合のヒントを交えながら解説を進めたい。 補完の有効化 初期化ファイル、あるいはコマンドラインで、以下を入力することでzshのすぐれた補完機能が有効化される。 autoload -U compinit && compinit 補完に関するキー割り当てはいくつもあるが、最低限うまく利用するために以下の2つのキーバインドをまず覚えておけばよいだろう。 Tab (C-i) - expand-or-complete 補完の実行。 ESC C-d (または行末のみ C-d) - list-choices (delete-char-or-list) マッチする

    第5回 zshの誇る花形機能“補完” | gihyo.jp
    sho
    sho 2009/10/15
  • Cygwin Xサーバにリモート(Solaris)のXプログラム表示 - torutkのブログ

    SolarisマシンとWindowsマシンでディスプレイ共用なので、Solaris側の操作をする度にディスプレイの入力を切り替え、キーボードとマウスを切り替えとちょっと面倒です。そこで、CygwinのX11を入れてリモート(Solaris)のGUI操作をWindowsマシン上で行ってみました。案外簡単に、しかも日語もOKなようでした。 やったことメモ CygwinのインストーラでX11を一式インストール startxwin.sh をCygwin上で実行 CygwinのXで表示されたxterm上で、xhost + 実行 SolarisマシンへSSHでXを使用する接続を実行 ssh -X ユーザ名@ホスト名 /usr/bin/gnome-terminalは日語OKです。 /usr/dt/dttermは日語化けます。 JavaのSwing GUIの日語はOKです。 障害メモ 後日star

    Cygwin Xサーバにリモート(Solaris)のXプログラム表示 - torutkのブログ
    sho
    sho 2007/12/15
    VistaのCygwinでzshがコケる件の解決方法。あとでやる。
  • find 道は凄腕システム管理者への近道 - World Wide Walker

    find 道は凄腕システム管理者への近道 Posted by yoosee on Debian at 2007-03-31 22:00 JST1 404 Blog Not Found:勝手に添削 - find(1)find の話題が盛り上がっているようだが、「last-modified が30日以上前のファイルを特定ディレクトリに退避」なんて処理にはよく find を使う。特に spam や virus 等、一時保存してその後は破棄するようなデータには cron で仕掛けておいても便利だ。find .spam/cur/ -daystart -mtime +30 -exec mv \{\} ~/tmp/oldspam/ \;ファイル名検索には -name だけでなく -regex や -iregex で正規表現を指定するのも便利なことがある。また -exec に関しては、代わりに -ok を

    sho
    sho 2007/04/10
  • 1