タグ

zshとLinuxに関するbeth321のブックマーク (20)

  • 第4回 使いこなしポイント 一撃編 | gihyo.jp

    通常なら他のツールと組み合わせたり、2~3ステップが必要な処理もzshの多様な展開処理を用いれば一発で結果が得られることが多い。 エイリアス エイリアスは手軽に設定できすぐに効果が得られる便利な機能である。他のシェルでも使える基的なエイリアスの他に、zshには以下のエイリアスが用意されている。 接尾辞エイリアス グローバルエイリアス 接尾辞エイリアス 接尾辞(suffix)エイリアスは、ファイルの拡張子とそれを開くアプリケーションプログラムの関連付けとも言える機能で、特定の拡張子を特定のプログラム起動に結び付ける。接尾辞エイリアスは alias -s で登録する。 alias -s pdf=xpdf とすると、拡張子が ".pdf" のファイルをコマンドラインのコマンド位置で「起動」するとxpdfを起動して開く。 % ls foo.pdf hoge.pdf % foo.pdf zsh:

    第4回 使いこなしポイント 一撃編 | gihyo.jp
  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    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の

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
  • 第2回 zshへの乗り換え時のポイント | gihyo.jp

    zshを使い始めるとき、ほとんどの場合は他のシェルからの乗り換えとなるだろう。今回はそうしたケースを想定し、他のシェルからzshに移行する際に遭遇しがちな問題にどう対処するかについて要点を絞って述べたい。 決断 シェルは手に馴染ませてこそ光り輝く道具である。それを変更するのは大きな決断で、ちょっとした不安が伴うものである。典型的と思われる事項についてQ&A形式でまとめてみた。 Q.zshが便利そうなのは分かった。だが、その分zshの使えないところに行ったら困ることになりそう。 A.大丈夫。今のシェルで使いこなしている機能以上に、zshを使えるようになったときには元のシェルに関する知識も増えているはず。zshは、どんな変数展開やヒストリ展開でもTabキーで正確に補完してくれるし、if、while、for の複数行に渡る構文をコマンドラインで使っても行エディタでしっかり再編集できるので、意識し

    第2回 zshへの乗り換え時のポイント | gihyo.jp
  • 第3回 zsh使いこなしポイント即効編 | gihyo.jp

    zshを使い始めて最初に気になる点のうち、すぐに設定してすぐに効果を実感できる即効薬的なものを今回は紹介しよう。 プロンプト これまでとは違うシェルを起動してまず目にするのがプロンプトで、これが変わるとちょっとした違和感がある。この違和感は結構大切でスーパーユーザに切り替えたり、あまり設定していないマシンを触っていたりということが実感できるので慎重に作業を進めるきっかけに利用できる。 zshに乗り換えたときもそうした違和感を感じ、それまでのシェルと似たものにしたくなるかもしれないが、ちょっとした違和感を保ってこれまでとは違う機能をたくさん利用するのだ、という心構えにしたらどうだろうか。心構えはともかくとして、プロンプト出力にもzshの細やかな配慮があるので、それを活かさないのは損である。 その機能をフルに活かしている、とまでは行かないが、筆者の ~/.zshrc のプロンプト設定部分は概ね

    第3回 zsh使いこなしポイント即効編 | gihyo.jp
  • 第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
  • zshで究極のオペレーションを 記事一覧 | gihyo.jp

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

    zshで究極のオペレーションを 記事一覧 | gihyo.jp
  • 第1回 zshで広がる世界 | gihyo.jp

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

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

    This wiki is automatically published from ohmyzsh/wiki. To edit this page, go to ohmyzsh/wiki, make your changes and submit a Pull Request. This section uses new, uniform screenshots. To see the previous section, go to Themes (legacy). All the current themes can be found in the themes/ directory in the Oh My Zsh distribution. See list here. In order to enable a theme, set ZSH_THEME to the name of

    Themes
  • GitHub - mooz/percol: adds flavor of interactive filtering to the traditional pipe concept of UNIX shell

    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 - mooz/percol: adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
  • シェルスクリプトのオプション設計ガイドライン - Qiita

    僕はコマンドラインで使うシェルスクリプトを書くことがけっこうあるんだけど、インターフェイスというか呼び出し方はとても大事だと思ってるので、そこにわりと時間をかけて考えるようにしてる。実装はいつでも変更できるけど呼び出し方を変えた時は利用者にも変更を強いるので、できれば最初から良い設計で作りたいと思っている。 そこで、僕がシェルスクリプトのオプションとか引数とかの仕様を決める上で注意していることをまとめてみた。シェルスクリプトや、その他コマンドラインのツールを作るときに参考にしてほしい。 シェルの種類は bash や zsh を想定してるけど、実装によらない話なのでどんなシェルでも使えると思う。 エラーの時に Usage (使い方ヘルプメッセージ)を表示するのはやめる エラーになった時に Usage (使い方ヘルプメッセージ) を表示するスクリプトがあるけど、やめたほうがいいと思う。例えばこ

    シェルスクリプトのオプション設計ガイドライン - Qiita
  • よく使うディレクトリをブックマークする zsh のプラグイン - Qiita

    Qiita 見てたらこんな投稿を見つけた。 Zsh - よく作業するDirをBookmarkするshellスクリプト - Qiita だいたい、よく使うディレクトリに cd したいとき cd ~/work/project/ruby/web とか長い名前を打つのはめんどくさい。$CDPATH を通しておくっていう手もあるけど、タブで補完したときに候補がいっぱい出たりして微妙に便利じゃない。そんなときにこれを使えばディレクトリの移動が簡単になる。 ちょっと改良の余地があるというか、タブで補完できるようにしたらもっと便利になると思って、独立した zsh のプラグインとして書き直したので紹介する。 このプラグインでできること cd-bookmark というプラグインを作った。これをインストールすれば cd-bookmark というコマンドが使えるようになる。 こいつを使えばよく使うディレクトリに別

    よく使うディレクトリをブックマークする zsh のプラグイン - Qiita
  • Zsh 入門者のための超速設定ガイド - Qiita

    はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す

    Zsh 入門者のための超速設定ガイド - Qiita
  • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

    @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

    bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
  • シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog

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

    シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog
  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【後編】 (1/3)

    Zshを使おう! 前回紹介したWebアプリケーション開発における三種の神器。GNU Emacs、GNU screenと紹介してきましたが、締めくくりはZshです。ZshはBashやtcshなどと同じUNIXのシェルですが、プログラマー向けにさまざまな機能を搭載した高機能シェルといえます。Bashやtcshと比較して、機能的に大きく違うわけではありませんが、細かな使い勝手でほかのシェルにはない便利さが感じられると思います。 またわたしがほかのどのシェルよりもZshを推薦するのには理由があります。 Bashにしてもtcshにしても、シェル上で実行したコマンドをさかのぼる際にはCtrl+Rキーを押して、履歴のインクリメンタルサーチを行うのが便利です。例えばBashでは、

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【後編】 (1/3)
  • 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)が神な件 - プログラムモグモグ
  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
  • CUIなスニペットツールsheetが便利なのでzshでsheetファイルを補完 - Glide Note

    コマンドラインで動作するスニペットツール「sheet」を 使ってみたらめちゃくちゃ便利だったので、zshでsheetファイルを補完するようにしてみました。 Sheet - Text snippets for the command line ついでにsheetの導入方法と使い方も案内。 sheetの要件の記載が特に無いですが、恐らくRuby 1.9以上は必要かと。 導入環境はLionです。 導入方法

  • zshでサブコマンドとファイル名を手抜き補完する - Glide Note

    hoge[tab]でサブコマンドが補完され、 サブコマンドの後はファイル、ディレクトリが補完されるように。 サブコマンドとファイル名を補完する 下記を.zshrcに記載してexec $SHELL やっていることは compdefで_hogecmdという補完用functionを定義し、hogeコマンドを実行したときに呼び出されるように。 function内のcmdsで補完したいサブコマンドを列挙 CURRENT == 2でhogeのあとに補完されるのはサブコマンドだけと指定 _describeで補完候補で表示されるときにsubcommandというグループになるようにしている サブコマンドのあとは_filesでファイルとディレクトリが補完されるように 参考になるサイト zshの補完関数の書き方がまとまっているところがほとんど無いので下記が非常参考になります。 zsh補完関数を自作すると便利 -

  • GNU screen いろいろまとめ。 - naoyaのはてなダイアリー:

    先日人力検索で GNU screen の設定TIPSについて質問してみたところ、かなーり役立つ設定とかをたくさん教えてもらうことができました。みなさん感謝。 そんで、教えていただいた通りにカスタマイズした結果、こんな感じのスクリーンショットが撮れました。MacOSX のターミナルです。 おかげさまでかなり便利になって作業効率が上がったと思います。いろいろ教えてもらったお礼とまではいきませんが、やった設定とかをはまりどころとかも交えて紹介してみます。名付けてリバースNDOメソッド。ちなみに、知ってる人にはごく当然のことが当たり前のように書いてるので、あんまり役に立たないかもしれません。 hardstatus alwayslastline で最終行にウィンドウ一覧を表示 これは今回の質問とは直接関係ないのですが、やるとやらないとでかなり使い勝手が違うので。 hardstatus alwaysl

  • 1