タグ

zshに関するelimのブックマーク (14)

  • Zshテクニック: 入力中のコマンド列の最後に出現する引数のdirname部だけ再入力する - Lambdaカクテル

    こういうことがやりたいことがある: # ↓全く同じディレクトリまでサクッと入力してほしい $ コマンド /foo/bar/hoge/piyo.txt /foo/bar/hoge/qux.txt どこか別のディレクトリにあるファイルを,同じディレクトリのどこかに移動したりコピーしたり,といったことはけっこう頻繁に発生する。 しかしながら毎回これをやるにはパスを毎回入力しなければならず困っていた。 !#$:h これを解消するのが!#$:hである。例えば以下のようにプロンプトで入力しているとき(|はカーソル): $ cp /foo/bar/hoge/piyo.txt | !#$:hと入力してタブを入力すると,直前に入力していた引数のディレクトリまでを入力してくれる。 $ cp /foo/bar/hoge/piyo.txt /foo/bar/hoge/| これはヒストリ展開機能を使って実現されてい

    Zshテクニック: 入力中のコマンド列の最後に出現する引数のdirname部だけ再入力する - Lambdaカクテル
    elim
    elim 2019/10/12
  • 最強のヒストリ補完を作りました | tellme.tokyo

    元記事 最強のヒストリ補完を求めて シェルヒストリに不満を持っていたので自作しました。 今の自分にとっては必要な機能を盛り込んでいて便利に使えていますが、誰かにとっては、もしくは数カ月後の自分にとってはぜんぜん最強じゃないかもしれないです。 以前このようなエントリを書きました。 [http://www.tellme.tokyo/entry/2017/02/14/214231:embed:cite] このころから (いやもっと前から) シェルのヒストリ補完に不満を持っていました。 単純にデフォルトの C-r だと目的のものを探しづらい 例えばコマンド名の一部だけだとノイズが多すぎる けどディレクトリは覚えているからそれでもフィルタしたい、とか 他にも色々あって (その理由について先のエントリを見てもらうとして) zsh-history というツールを書きました。 https://github

    最強のヒストリ補完を作りました | tellme.tokyo
    elim
    elim 2018/03/17
  • bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita

    bash/zsh では パラメータ展開の # と %を使って Prefix または Suffix を削除することができます。 $ var='hogefuga' # Prefix削除 $ echo "${var#hoge}" fuga # Suffix削除 $ echo "${var%fuga}" hoge シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ? 先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。 その覚え方がなかなかユニークで覚えやすかったので紹介します。 # はコメントを表す記号なので Prefix(先頭)削除 # を番号記号と考えて #30 のように使うので Prefix(先頭)削除 % はパーセンテージを表す記号で、30

    bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita
  • シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog

    はじめに つい最近知った便利なデバッグ方法 (長年シェルスクリプトを書いているのに知らなかった。これが常識だったら恥ずかしい…) シェルスクリプトのデバッグでは echo で変数の中身を見るという原始的な方法をよく使うかと思います。 いわゆる プリントデバッグ というやつですね。 もう少し詳しいデバッグが必要な場合は、 set -x と set +x でデバッグしたい部分を囲むという方法もあります。 今回は プリントデバッグ で使う echo の代わりに typeset or declare を使うと良いというお話です。 プリントデバッグは typeset or declare を使おう typeset or declare は変数宣言などでよく使うコマンドですが、変数の中身を見るのにも使えます。 echo と比べて何が良いのかというと、変数の中身はもちろん変数名や変数の型も表示してくれ、

    シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog
  • zsh の REPORTTIME イイネ!! - 宇宙行きたい

    id:tokuhirom の zsh の REPORTTIME みたいなの、tcsh で miyagawa さんがやってたのみていいなーとおもってたけど zsh でできるんだー って発言を見て REPORTTIME って知らなかったわー 5 年くらい zsh 使ってるのに知らなかったわー って思ったので調べてみた # 3秒以上かかった処理は詳細表示 REPORTTIME=3 って .zshrc とかに指定しておくと $ rails new hoge --- Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. rails new hoge 15.69s user 0.33s system 84% cpu 18.872 totalって表示される!!! 便利!!

    zsh の REPORTTIME イイネ!! - 宇宙行きたい
    elim
    elim 2012/08/15
    8 年使ってるけど知らなかった...
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知


    2020131()  2019 -   : 2020131() :2020131() 稿 稿 -   2020-06-25  2020228
    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 補完関数の内容の解説 - znzのブログ

    的にはDebian lennyのzsh 4.3.6-7の/usr/share/zsh/functions/Completionを参考にしました。 #compdef cheat _cheat () { _arguments \ ... } _cheat_sheets() { if ( [[ ${+_cheat_sheets} -eq 0 ]] || _cache_invalid CHEAT_sheets ) && ! _retrieve_cache CHEAT_sheets; then _cheat_sheets=(補完候補) _store_cache CHEAT_sheets _cheat_sheets fi local expl _wanted cheat_sheets expl 'Cheat Sheets' compadd -a _cheat_sheets } _cheat "$@

    補完関数の内容の解説 - znzのブログ
  • EmacsのM-x shellでzshを使う設定 - ’(rubikitch wanna be (a . lisper))


    .zshrcEmacsM-x shellzlezshEmacs.zshrc [[ $EMACS = t ]] && unsetopt zle  EMACS t zle 使 EMACS  comint.el  comint-exec-1  (let ((process-environment (nconc ;; If using termcap, we specify `emacs' as the terminal type ;; because that lets us specify a width. ;; If
    EmacsのM-x shellでzshを使う設定 - ’(rubikitch wanna be (a . lisper))
    elim
    elim 2008/11/03
  • .zshrc, .vimrc, .screenrc の中身公開 - Tosikの雑記

    バックアップのつもりで公開。ネットにつながっていれば簡単に参照できる。 ほとんどコピペだけど。 .zshrc # complete autoload -Uz compinit compinit -u setopt auto_pushd unsetopt AUTO_MENU # language # export LANG=ja_JP.UTF-8 export LANG=en_EN.UTF-8 # history HISTFILE=~/.zsh_history HISTSIZE=100000 SAVEHIST=100000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data # 補完で大文字と小文字を区別しない z

    elim
    elim 2008/10/24
    $SHLVL 知らなかった!
  • netswitch! | 今日の.zshrc - cheat 補完

    cheatsheet を集めた cheat という gem があって、たまに便利である。 გ gem install cheat გ cheat assertions assertions: # Credit: http://nubyonrails.com/articles/ruby-rails-test-rails-cheat-sheet # Use 'cheat assert_raise' for more details # Standard Ruby Assertions assert boolean assert_equal expected, actual assert_raise *args assert_raises *args, &block … … cheat自身の使い方は გ cheat cheat どんなcheatsheetがあるのかは გ cheat sh

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知


    2020131()  2019 -   : 2020131() :2020131() 稿 稿 -   2020-06-25  2020228
    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    elim
    elim 2008/07/20
  • WordPress › Error

    Strict Standards: Redefining already defined constructor for class wpdb in /usr/home/wgscott/Sites/wordpress_new/greenblog/wp-includes/wp-db.php on line 52 Warning: Cannot modify header information - headers already sent by (output started at /usr/home/wgscott/Sites/wordpress_new/greenblog/wp-includes/wp-db.php:52) in /usr/home/wgscott/Sites/wordpress_new/greenblog/wp-includes/wp-db.php on line 37

    elim
    elim 2008/05/02
    zsh-templates
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知


    2020131()  2019 -   : 2020131() :2020131() 稿 稿 -   2020-06-25  2020228
    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    elim
    elim 2008/05/02
  • memo - unknownplace.org

    plenv でつかわれる Perl をプロンプトに表示したりするのに使えるかと。検出ロジックは plenv とおなじつもり。 plenv_perl_version() { local dir=$PWD [[ -n $PLENV_VERSION ]] && { echo $PLENV_VERSION; return } while [[ -n $dir && $dir != "/" && $dir != "." ]]; do if [[ -f "$dir/.perl-version" ]]; then head -n 1 "$dir/.perl-version" return fi dir=$dir:h done local plenv_home=$PLENV_HOME [[ -z $PLENV_HOME && -n $HOME ]] && plenv_home="$HOME/.plenv"

    elim
    elim 2008/01/29
    まとめページ的。知らなかったこともいくつか。
  • 1