Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

zshに関するdealforestのブックマーク (30)

  • zshのalias -s (suffix alias)が神な件 - プログラムモグモグ

    まず, 他のシェルをお使いの人にはごめんなさい. aliasコマンドの-sが使えるのは zsh 4.2.x- で, 他のシェルでは実装されていないと思います. あと, もう既に alias -s 知ってるよーって人は読まなくていいです. alias -s って何? 打ったコマンドの後ろ(suffix)を見て, 適当に宜しくやってくれるやつです. 次の例を見て下さい. ~$ echo "print ('hello, world')" > hello.py ~$ python hello.py hello, world ~$ alias -s py=python py=python ~$ ./hello.py hello, world ~$ Pythonのコードは python hello.py で実行出来ますが, お尻が py なら python を使います, とaliasしておけば, ./

    zshのalias -s (suffix alias)が神な件 - プログラムモグモグ
  • zaw.zshで最近移動したディレクトリに移動する - $shibayu36->blog;

    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-

    zaw.zshで最近移動したディレクトリに移動する - $shibayu36->blog;
    dealforest
    dealforest 2013/01/09
    zsh
  • zsh補完関数を自作すると便利 - はこべにっき ♨

    会社でコードを書いていると、いろんなプロジェクトのディレクトリ間を頻繁に移動します。毎回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

    zsh補完関数を自作すると便利 - はこべにっき ♨
  • zsh: 26 User Contributions: 26.5 Gathering information from version control systems (vcs_info)

    26.2.1 Accessing On-Line Help The key sequence ESC h is normally bound by ZLE to execute the run-help widget (see Zsh Line Editor). This invokes the run-help command with the command word from the current input line as its argument. By default, run-help is an alias for the man command, so this often fails when the command word is a shell builtin or a user-defined function. By redefining the run-he

  • コマンドラインの単語区切りを設定する - すぎゃーんメモ

    zshにて、例えば $ ls /Users/sugyan/ と打ったところで末尾から"/Users/"の後ろのところにカーソルを移動させようと思って"backward-word"しようとしても、引数の先頭の"/"まで戻ってしまう。また、 $ echo ほげ ふが ぴよと打ったところで末尾から"backward-word"で戻ると、引数の区切りで移動するかと思いきや行頭まで戻ってしまう。 1番目の方はbashでは起こらず"/"を区切りに移動してくれるらしい。zshの設定でそれと同じようにするには autoload -Uz select-word-style select-word-style bash とすることで実現できるらしい。 ただしこれでは2番目の問題は解決しない。 autoload -Uz select-word-style select-word-style default zs

    コマンドラインの単語区切りを設定する - すぎゃーんメモ
  • Mac でも Linux でも一発でクリップボードにコピーする zsh の alias - mollifier delta blog

    メールを送るときって当然メーラーを使うんだけど、普通メーラーでは vim が使えない。困った。これでは文章が書けない。 なので、僕はいつもターミナルの vim でメールを書いてからメーラーにコピペしてる。でも、そのコピペがめんどくさい。マウスをぐいーんって動かしたくないし(疲れる)、長文だとターミナルの1画面に収まらなくて選べない。全然スマートじゃない。 というわけで、さくっとクリップボードにコピーする zsh の alias を設定した。 設定例 .zshrc の例は以下。 if which pbcopy >/dev/null 2>&1 ; then # Mac alias -g C='| pbcopy' elif which xsel >/dev/null 2>&1 ; then # Linux alias -g C='| xsel --input --clipboard' elif

    Mac でも Linux でも一発でクリップボードにコピーする zsh の alias - mollifier delta blog
  • “Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法”が便利すぎる件

    “Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法” で紹介されている zsh の vcs_info という関数を使って git や mercurial のブランチ名をプロンプトに表示しているみたいです。 git 使ってたら実際どのブランチいじってるのかわからなくなることが 多々あって困ってたのでさっそく導入してみました。 はまったのは “vcs_info: function definition file not found” というエラーが 表示され vcs_info が使用できなかった。 これはバージョンを 4.3.6-dev-0+20080929-1 以降にすればいいらしい。 mac の ports の場合は zsh-devel でいれないと 4.3.6 以下なので使用できない。 zsh-devel をインストールして /opt

    “Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法”が便利すぎる件
    dealforest
    dealforest 2009/08/22
    ブランチ名をzshのプロンプトに表示。ありがとーございました
  • vcs_info で Subversion のリビジョン番号が出ない問題 - 永遠に未完成

    これは非常に便利そう。 Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog 私も今まではコマンドからプロンプトに情報を出してたんだけど、svnには対応してなかったし、こっちの方が簡潔で正確で詳細な情報が素早く出せそうな気がしたので乗り換えることにした。 導入方法は元エントリに載ってるので割愛。で、Subversionでちょっとした問題が。 Subversionではデフォルトだとブランチ名のところにリビジョン番号が出てくれるはずなんだけど、出ない。 (svn)-[trunk:]ってみたいな感じになる。当なら:の右側にリビジョン番号が出るはず。 どうやら vcs_info は US ロケール前提で作られているらしい。svn info のメッセージとかはロケールで変わってしまうので、うまく検出でき

    vcs_info で Subversion のリビジョン番号が出ない問題 - 永遠に未完成
  • vcs_info で Subversion のリビジョン番号が出ない問題 - 永遠に未完成

  • 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
    dealforest
    dealforest 2009/08/21
    vcs_info は、Subversion(svn), Git, Mercurial(hg) といったバージョン管理システムの情報を自動的に取得するzshの関数。version control system(vcs) の情報、という意味。今のブランチ名をプロンプトに表示したりできるようになる。
  • vcs_info: function definition file not found - 写経日記

    Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog 会社のサーバだと問題なく表示されたのが家で以下のようにエラーが。 precmd:2: vcs_info: function definition file not found インストールしていた zsh のバージョンは、 VERSION=4.3.6 VERSION_DATE='April 2, 2008' vcs_info is available since zsh-beta, version 4.3.6-dev-0+20080929-1 or later via: mikas blog » Blog Archive » mika’s advent calendar – day 15: zsh vcs_info ということで zsh 最新

    vcs_info: function definition file not found - 写経日記
    dealforest
    dealforest 2009/08/21
    vcs_info is available since zsh-beta, version 4.3.6-dev-0+20080929-1 or later
  • gitのcommit、push待ちの状態をプロンプトに表示すると結構便利 - (ひ)メモ

    gitのブランチ名をプロンプトに表示すると結構便利 の続き。 gitでcommitし忘れ、pushし忘れないように、 _color_() { color=$1; shift echo -e "\e[${color}${@}\e[0m" } fg_black() { _color_ "30m" $@; } fg_BLACK() { _color_ "30;1m" $@; } fg_red() { _color_ "31m" $@; } fg_RED() { _color_ "31;1m" $@; } fg_green() { _color_ "32m" $@; } fg_GREEN() { _color_ "32;1m" $@; } fg_yellow() { _color_ "33m" $@; } fg_YELLOW() { _color_ "33;1m" $@; } fg_blue()

    gitのcommit、push待ちの状態をプロンプトに表示すると結構便利 - (ひ)メモ
  • zshで究極のオペレーションを 記事一覧 | gihyo.jp

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

    zshで究極のオペレーションを 記事一覧 | gihyo.jp
  • git-svnのサブコマンド補完関数(Zsh) - Hello, world! - s21g

    1  _git-svn () { 2  `git-svn --help | grep "^ \w" | sed "s/^ //" | sed "s/ .*//" | sed 's/^/ compadd /'` 3  } 4 5  compdef _git-svn git-svn

  • 第1回 zshで広がる世界 | gihyo.jp

    zshはシェルである。シェルはもちろんキーボード入力されたコマンド行を解釈し、必要なコマンドを必要な引数とともに起動することを主な仕事とするソフトウェアである。単なるシェルなのだが、zshには他を圧到する比類なき機能がある。その一端を印象づける一つの例に、zshで実装されたテトリスがある(図1⁠)⁠。 もちろんこれは、お遊び機能の例で実際の日常作業をこれで進めるわけではないが、潜在的に備えている機能がどれほどのものかが分かる好例である。 zshは、sh(Bourne Shell)をベースとし、ksh、csh(tcsh⁠)⁠、bashの優れた機能をアイデアとして取り込み、なおかつ作業効率を高める独自の機能を登載したまさに至高のシェルである。しかしながら超高機能・多機能であるがゆえに全容を掴むのが難しい。付属の英文マニュアルはしっかりしているものの、簡潔な仕様記述がされているのみなので具体的な

    第1回 zshで広がる世界 | gihyo.jp
  • zshでsudoや|を無視して履歴から補完 @ 7bit

    zshでhistory-beginning-search-backwardをCtrl-Pなどに割り当て、入力したところまでマッチするように履歴から補完するように設定している方は多いと思います。 しかし、プロンプト先頭からカーソル位置までが検索対象となってしまうため、先にsudoを入れたり、パイプの途中から補完するといったことはできません。 そこで、現在のプロンプト入力からいくつか指定のパターンを除外した上で補完できるようなzleのウィジェットを書いてみました。 履歴に sudo apt-get update make make install ldconfig less があったとして、普通は sudo m(補完)としても何も補完されませんが、この設定を用いるとsudo make install => sudo makeのように補完してくれます。 sudo (補完)(補完に必要な文字列を何

  • 最近のzshrcとその解説 - mollifier delta blog

    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+] で一つ前のコマンドの最後の単

    最近のzshrcとその解説 - mollifier delta blog
  • Zsh について | Linux 関連利用法 | スーパーコンピュータ | ヒトゲノム解析センター

    メインの設定ファイルで、以下のような項目を記述します。なお、各ユーザ固有の zsh の設定は ~/.zshrc のファイルで行います。 (なお rc は UNIX の起動時に実行されるファイル /etc/*rc 系の名残で run command の略) ・ limit、umask、stty などの設定 ・ PATH, LD_LIBRARY_PATH など環境変数の設定 ・ PROMPT、SAVEHIST などシェル変数の設定 ・ alias(エイリアス) の設定 ・ function(関数) の設定 ・ autoload(追加機能) の設定 ・ bindkey(キーバインド) の設定 ・ zstyle(補間などのスタイル) の設定 ・ zshoptions(オプション) の設定 また、必要に応じてシェル変数 OSTYPE により OS ごとの場合分けをします。 exportは変数を環境変

    dealforest
    dealforest 2009/04/27
    ls /etc/**/* これよくわすれる
  • 2009-01 - while (“im automaton”);

    smartword 0.0.2をリリースしました。重度のVim hackerな方からのプレッシャーを感じたため久々にコードを見直したところ、非常に残念なコードを書いていたことに気付いたため、バグ修正やリファクタリングなどを行いました。機能的には変化ありません。 smartword が便利 - ns9log語の移動の規則がよくわからない Vimのword/WORD単位の移動は分かち書き言語を前提としているので、日語などの言語における単語単位での移動はできません(実行時に形態素解析でもすれば別ですが、現状ではそういうことは考慮されていません。最近、vim_devでその手の話題がありましたが、あまり盛り上がってはいませんね: word segmentation in Vim - vim_dev | Google Groups)。 その上で、日語を含むテキストにおけるword単位の移動は

    dealforest
    dealforest 2009/03/22
    gitブランチを表示
  • zshのある暮らし2 - FAQ@zshスレ

    出力の最終行が表示されない 改行コード (\n) で終わっていない出力のときこの現象が発生します プロンプト% echo -n hoge プロンプト% シェル変数 promptcr が標準でセットされているため、最終行が一旦クリアされてしまっているからなので、 unsetopt promptcr とせっていすれば、クリアしないようにできます。 プロンプト% echo -n hoge hogeプロンプト% ただし、unix の世界ではテキストである標準出力やファイルの終端は改行コードである"べき"なので、 zsh が「改行コードで終わらない出力」に対して警告しているようなものです。 ファイルリスト(補完リスト)に色を付けたい まず、ls の出力に色を付けたい時は環境変数 LS_COLORS を設定することで実現できます(GNU ls の機能) export LS_COLORS='di=01;