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
ZSHにはglobal aliasという機能があります。 これは、行頭以外に入力された場合にも展開されるaliasです。 $ alias -g B='"$(git symbolic-ref --short HEAD)"' $ git push -u origin B # → git push -u origin [現在のブランチ名] 使いこなせれば便利そうな一方で、global aliasはグローバル名前空間を汚染するため、導入には慎重さを要します*1 。 また、コマンドヒストリーには通常のaliasと同様にglobal aliasの展開前の入力が保存されます。 これら2つの問題点を解決することを目的に、zabrze というZSHプラグインを作成しました。 github.com これはなに zabrze *2 は aliasをYAMLで記述できるようにするZSHプラグインです。 1. al
Maybe you have experienced the default Vi mode in Zsh, after turning on the default Vi mode, you gradually found that it had many problems, some features were not perfect or non-existent, and some behaviors even were different from the native Vi(Vim) mode. Although the default Vi mode was a bit embarrassing and unpleasant, you kept on using it and gradually lost your interest on it after using for
cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの
Advent Calendarって25日目あるんだっけ? ってことで、エクストラ的な位置づけでひとつ……。 というのもアタクシ、シェルスクリプト野郎ではあるものの、zshはこのAdvent Calendar見てはじめまして、最近zshの本を買って読みだしたペーペーでございます。 update 2013/12/25 19:45 頂いたコメントで目標達成できました。感謝!そしてさすがzsh、やはり最強だった…… 本日のテーマ「flock(2)みたいなロックがやりたい」 シェルスクリプトのファンとして残念なのは、flock(2)のようなファイルロックコマンドが無いこと。誰にも邪魔されずにファイルを読み書きしたいこととか、多重起動を防止したいこととかよくありますから。えぇ、OSによってはそれっぽいのは確かにあります。Linuxにはflock(1)コマンドがあって実際に内部でflock(2)を使って
この記事は zsh advent calendar 2012の 19日目の記事です。 zaw-cdrとは zshの 4.3.15に導入された cdrという最近いたディレクトリに移動する コマンドの zawインタフェースです。これで最近いたディレクトリに超絶楽に 移動することができます。私はこれを導入して、pushdとか autopushdの類を 利用するのをやめました。人にもよるかと思いますが、ディレクトリ移動の 多くは過去に移動した場所への移動になると思うので、多くの人にとって 役立つのではないかと思います。 使うのにはいくらか慣れが必要ですが、普段から helm(anything), unite(Vimは使えないので詳しくわからないですが、たぶん似ていると思います)を 使っている人であれば難なく導入することができると思います。 メリット 目的のもの絞り込みが簡単 ディレクトリパスの途中
This is for anything regarding the command line, in any operating system. All questions (including dumb ones), tips, and links to interesting programs/console applications you've found or made yourself are welcome. Linux / BSD / OSX / Windows CLI and TUI apps or questions or comments, we're happy to take them all! I've always hated adding an alias and then having to manually source it in every ope
zsh-users/antigen 個人的には.zshrcで細かく設定しているので、利用することのないoh-my-zshですが、 oh-my-zshを利用している人をみるとなかなか便利そうで、特にpluginsが 開発も活発で、種類も豊富で便利な感じ。 oh-my-zshを利用していなくてもantigenを利用すると oh-my-zshのthemeやpluginが利用できるので導入してみた。 antigenはvimプラグインマネージャーのVundleの 影響を受けているので、Vundle使いの私には設定方法が似ていて導入もしやすかった。 antigenの導入 git cloneで持ってくるだけ。
hoge[tab]でサブコマンドが補完され、 サブコマンドの後はファイル、ディレクトリが補完されるように。 サブコマンドとファイル名を補完する 下記を.zshrcに記載してexec $SHELL やっていることは compdefで_hogecmdという補完用functionを定義し、hogeコマンドを実行したときに呼び出されるように。 function内のcmdsで補完したいサブコマンドを列挙 CURRENT == 2でhogeのあとに補完されるのはサブコマンドだけと指定 _describeで補完候補で表示されるときにsubcommandというグループになるようにしている サブコマンドのあとは_filesでファイルとディレクトリが補完されるように 参考になるサイト zshの補完関数の書き方がまとまっているところがほとんど無いので下記が非常参考になります。 zsh補完関数を自作すると便利 -
joelthelion/autojump - GitHub zsh補完関数の書き方をいろいろ調べていたら、autojump-zshというパッケージを発見。 気になって使ってみたらめちゃくちゃ便利で、久々に感動したので紹介。 autojumpはcdコマンドの拡張的なコマンドで、移動したディレクトリを記録し、 ディレクトリ間を行ったり来たりするときに絶大な効果を発揮します。 公式wikiに書いてあるよう コマンドライン作業の10〜20%はcdコマンドのため、ディレクトリ移動の動作が 改善すると必然的に作業効率も向上するということです。 実際私もautojumpを使い出してから、作業効率が上がりました。 それでは早速autojumpの説明を。動作検証環境は下記です。 Mac OSX 10.7.3 Fedora 16 Scientifix Linux 6.1 導入方法 autojumpを利用するに
会社でコードを書いていると、いろんなプロジェクトのディレクトリ間を頻繁に移動します。毎回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
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
GNU screenを使っていれば, 作業の途中でログアウトするときにdetachしておいて, 作業を再開するときにattachすれば, 作業途中の端末の状態がそのまま維持されるのでとてもべんり. たとえば, 最初作業していたのとは別のホストからsshでログインしてattachなんてこともできる. ただし, 最初にscreenを立ち上げたのとは別の端末でattachすると, screenは最初に立ち上げた端末の環境変数のままになっていて, 別のホストから接続していることを認識できず面倒な思いをすることがある. 今回はこれをなんとかしたという話. 問題の詳細 話を簡単にするために, DISPLAY環境変数を例にとって説明しよう. DISPLAY環境変数は, 基本的には現在ログイン中の環境で使うべきXサーバを指し示している*1. 最初はホストAに直接ログインしているとする. DISPLAY環境
南関東の「いろんなところから富士山が見える」状況に驚きつづけている 大阪から東京に引っ越して30年以上経つが、じわじわと蓄積されてきた驚きがついに閾値を超えたので筆を執った次第である。正確には「ポメラ DM250を起動してmenuキーを押して新規作成を選んだ」のだが、ポメラを持っていなかったら、さらに驚きが蓄積されていないと…
find-file Emacs の find-file (C-x C-f) は本当に使いにくいものだと, 常々思っていた. 中でも, 補完候補が複数あった場合の挙動. これが何とも気にくわない. 例えば, 以下のように C-x C-f を入力した直後の状態を考える. この時 TAB キーを押すと, デフォルトの Emacs では [Complete, but not unique] との表示が出るだけで, 候補一覧を表示するにはもう一度 TAB キーを押す必要がある. この「二回 TAB キーを押す」という行為が毎度毎度要求されることとなり, そのストレスたるや凄まじいものがあった. また, TAB を二回押して補完候補が表示された後の挙動は, 輪をかけて苛立たしい. この時 TAB を押すとどうなるかといえば「補完候補が全て見れるようにスクロールが行われる」だけなのだ. 補完候補一覧が画
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く