タグ

zshに関するyujioramaのブックマーク (13)

  • Use <tab> to choose autosuggestion · Issue #532 · zsh-users/zsh-autosuggestions

  • zshでPATHが壊れないようにPATHに新しいディレクトリを通す - Acme::AnaTofuZ->new;

    TL;DR 特に順番は気にしないとき path+=('/hoo/bar/baz'); 最初にいれたいとき path=('/hoo/bar/baz' $path) PATH通そうとして壊れるヤツ UNIXを使っている上で避けて通れないのが環境変数$PATHでしょう。 :区切りにディレクトリを列挙して、列挙されているディレクトリ直下に置かれているバイナリファイルをコマンドとして使えるようにするアレですね。 そんな$PATHに新しいディレクトリを追加しようとして、ついつい次のような事故がよく置きます。 export PATH="/hoo/bar/baz" こうしてしまうと最初から$PATHに設定していたデータが吹っ飛んで、PATHの中身が/hoo/bar/bazだけになってしまいます。こうなるとlsとかのコマンドが使えなくなる訳ですね。 zshだと$pathで配列として扱える この問題は何が原因

    zshでPATHが壊れないようにPATHに新しいディレクトリを通す - Acme::AnaTofuZ->new;
    yujiorama
    yujiorama 2023/01/08
    typeset -U path PATH の効果。重複する先頭の要素が残る https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html
  • BashとZshの “**” (globstar) の挙動の違い

    “**” (globstar) とは globの構文として使える、0個以上のディレクトリに再帰的にマッチするワイルドカードです。 例えば、a/**/zは a/z, a/b/z, a/b/c/z… にマッチします。 元々はzshで実装され、Zsh 2.2で**の形式として定着したようです1。 その後、Bash 4.0でもglobstarオプションを有効にすることで使えるようになりました2。 globの構文はPOSIX.2にも定義されていますが、そこには**は含まれていないため、処理系によって動作がまちまちになっています。 この記事では、bashとzshでの挙動の違いを紹介します。 BashとZshでの挙動の違い 次のようにディレクトリとファイルを用意し、bash、zshそれぞれでマッチするかどうかを確かめ、結果を表にまとめました。 環境はdocker ubuntu:focal、bash 5.

    yujiorama
    yujiorama 2021/04/24
    globstar便利そう
  • GitHub - liquidprompt/liquidprompt: A full-featured & carefully designed adaptive prompt for Bash & Zsh

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - liquidprompt/liquidprompt: A full-featured & carefully designed adaptive prompt for Bash & Zsh
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    yujiorama
    yujiorama 2012/12/14
    当時は git 使ってなかったのでスルーしてた
  • 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つ上のディレクトリを参照するために../../

    yujiorama
    yujiorama 2012/12/14
    あるある
  • 漢のzshに乗り換えた時にアッーってなるコト - 技術メモ帳

    男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文

    yujiorama
    yujiorama 2011/12/09
    r a=b command でヒストリ中のコマンド文字列が置換できる。s/a/b/g と同じ効果。知らなかった
  • おすすめzsh設定 - 2011-09-05 - ククログ

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

    おすすめzsh設定 - 2011-09-05 - ククログ
  • 第2回関西アンカンファレンスで zsh の記号プログラミングについて発表した - mollifier delta blog

    2010年1月8日に神戸で第2回関西アンカンファレンスが開催された(告知ページ)。僕は zsh が大好きなので「zsh で記号プログラミング」というタイトルで発表した。 発表内容 内容は zsh の Hello world をアルファベット、数字を使わずに記号だけで書くというもの。資料は slidesahre で公開してる。 zsh symbolic programmingView more presentations from mollifier . 動画もとってもらった。 http://youtube.com/watch?v=BBLFVkTCq6Q 動画の撮影、編集をしてくれた @PrimaryText さん、ありがとうございました。 ソースコード ソースコードはこんな感じ。 : __=$? ((___=!__)) ((____=___+___)) ((_____=____+___))

    第2回関西アンカンファレンスで zsh の記号プログラミングについて発表した - mollifier delta blog
  • [ZshWiki]

    Zsh is a command-line interpreter for the shell programming language. It includes features like completion, context-sensitive help, and directory management. Zsh also supports customization through themes and plugins. The Zsh framework can be used to develop LGBT inclusion initiatives. It provides a structure and guidance on how to implement these initiatives effectively. The framework can be tail

    yujiorama
    yujiorama 2010/07/16
    便利技や解説多数
  • 強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改

    タイトルはやや釣りぎみのような気もするが、この設定がないサーバで長時間作業したくない、と思う程度には便利なので、個人的には釣りではないと言える。 ctrl + 矢印で単語単位のカーソル移動 コマンドの真ん中あたりに間違いがあった場合、修正するためにカーソルを移動させるのはちょっとした苦痛である。デフォルトのキーバインドだと、emacsバインディングであればalt + bとかalt + nで単語単位で移動できるのだが、これは片手で打つと親指に無理がかかるキーバインドである。そこで、emacsと同じように、ctrl + ←→ で単語単位の移動を可能にしておく。ついでに、/は単語の一部と見做さない様に設定しておく。この設定により、長いパス名の中程に間違いがあった場合に修正するのが楽になる。 bindkey ";5C" forward-word bindkey ";5D" backward-wor

    強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改
    yujiorama
    yujiorama 2010/07/15
    Ctrl+b でbackward-word するためにbash使うときもあったので参考になった
  • zshのプロンプトに色

    zsh のプロンプトに色をつけてみる。 いろんなサイトを参考にした結果、次の設定となった。 #local LEFTC=$'%{\e[1;32m%}' #ターミナル.app 用 #local RIGHTC=$'%{\e[1;34m%}' #ターミナル.app 用 local LEFTC=$'%{\e[38;5;30m%}' local RIGHTC=$'%{\e[38;5;88m%}' local DEFAULTC=$'%{\e[m%}' export PROMPT=$LEFTC"%U$USER%%%u "$DEFAULTC export RPROMPT=$RIGHTC"[%~]"$DEFAULTC プロンプト文字列の前後の LEFTC, RIGHTC, DEFAULTC で 色をコントロールしている。 iTerm.app ではカラフル表示が可能だが、 デフォルトのターミナル.app は 8

    yujiorama
    yujiorama 2010/06/09
    色表示関数がうれしい
  • zshのzptyを使って端末が必要な処理を自動化する - 技術メモ帳

    zsh のモジュールに zpty というのがあるのを最近発見した。 どうもコレを利用すれば指定したコマンドを 仮想端末上で実行することが出来るらしい。 具体的にどういったことが出来るようになるのかというと、 端末が必要なプログラムを自動化することが出来る。 たとえば、パスワード入力処理などだ。 パスワード文字列を標準入力から読み込ませようとしても、 大抵のプログラムでは入力できない。 なぜかというと、多くのプログラムにおいてパスワード入力処理は 端末から読み込むように作られているからだ。 zpty を利用すればそういったたぐいのものをすべて自動化できる。 いわゆる、expect というコマンドで実現していたことが zsh だけで出来るのだ。 今回は、簡単に試すことが出来るサンプルとして、 su コマンドのパスワード入力を zpty を使って自動化してみる。 まず、zsh に標準添付されてい

    yujiorama
    yujiorama 2006/11/08
    zshの仮想端末
  • 1