タグ付けされた質問 「zsh」

Zshは、多くの高度なコマンドラインとスクリプト機能を備えたシェルです。

1
zshで完了リストを動的に更新する
Tab完了のためのzshの結果リストは非常に便利ですが、その動作を少し調整したいと思います。 それらはTab、初めて追加されたときに表示され、その後、新しい文字が追加されるたびに動的に更新されます。デフォルトの動作では、提案は再評価されたときにのみ再評価されますTab。この繰り返しのキー押下を保存します。(更新:ただし、可能な補完のみをリストします。オプションが1つしか残っていなくても、実際のプロンプト行が自動的に変更されることはありません。) そのような行動を達成する方法はありますか?
13 zsh  autocomplete 

5
ターミナルでホームキーが機能しない
GNOMEターミナル2.7.3およびzsh 4.3.9(x86_64-unknown-linux-gnu)を使用しています Home動作しEndていません。押しても何も起こらず、何も表示されません。しかし、shift + Home(シェル出力の先頭までスクロールします)を押すと機能し、他のGUIプログラムでも機能します。私はグーグルで次のことを試しました。変化なし :( 885 bindkey "\e[1~" beginning-of-line 886 bindkey "\e[H" beginning-of-line 887 bindkey "\e1~" beginning-of-line 888 bindkey "\eH" beginning-of-line 889 bindkey "\e[0H" beginning-of-line PS:最後のタブを押して押すCtrl + pagedownと;5~、画面に印刷されます。それは何か手がかりを与えますか?

3
[-t 1]は何をチェックしますか?
私はちょうどWindows上で起動するzshときに起動する方法を見つけましたbash https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/。 最後に次のコードを追加することをお勧めします.bashrc。 # Launch Zsh if [ -t 1 ]; then exec zsh fi どういう[ -t 1 ]意味ですか? それは本当ですか? 次に、これを行うことができますか? exec zsh
13 bash  shell  zsh  test 

2
シェルの有効な関数名の文字
拡張Unicode文字を使用すると、多くのユーザーにとって便利です(疑いの余地はありません)。 単純なシェル(ash(busybox)、dash)およびkshは次のように失敗します: tést() { echo 34; } tést しかし、bash、mksh、lksh、およびzshはそれを許可しているようです。 POSIXの有効な関数名はこのNamesの定義を使用することを認識しています。つまり、この正規表現: [a-zA-Z_][a-zA-Z0-9_]* ただし、最初のリンクでは次のようにも言われています。 実装では、関数名に他の文字を拡張として使用できます。 質問は次のとおりです。 これは受け入れられ、文書化されていますか? どこ? どのシェル用か(もしあれば)? 関連質問: シェル関数名に特殊文字を使用できますか? 関数名にメタ文字(>)を使用することに興味はありません。 「-」 を含むUpstartおよびbashの関数名演算子(減算「-」)が名前の一部であるべきだとは思わない。
13 bash  shell  zsh  function 

2
zshのユーザーまたはルートに応じてプロンプトの色を変更します
zsh %#では、基本的にユーザーの場合に表示するか、ルートの場合に表示することを意味するin PS1(または任意のPROMPT変数)を%使用できます#。私はこれに影響を与えるどのような方法がある場合はそのことを思ったんだけど%か#、それは、ユーザまたはルート(rootの赤、利用者のための青)だかどうかに応じて色を変更する明白な方法は、単に変更することであるPS1私のルートの中で~/.zshrcはなく検討しますこれはすでに特別なシンボルですのでPS1、両方に同じものを使用できる方法はないのではないかと考えています... %#zshの場合のように特定の何かがあります(他にも好きなハックがあるはずですif thenステートメント)。
13 shell  zsh  colors  prompt 

4
zsh履歴から最後のコマンド(またはボーナスの現在のコマンド)を削除する方法
確かにこれを行うには非常にシンプルなスマートな方法がありますが、zshellの履歴はfcにエイリアスされているように見えるため、「履歴から1行を削除する方法」に記載されているトリックを使用する方法はありませんか?。 これを行う方法に関する指針はありますか?私の使用例は、最後に発行されたコマンドを履歴から削除して、オートコンプリートを停止することです(ほとんどの場合、タイプミスして表示され続ける場合)。 私は次のようにして最後に発行されたコマンドを取得できます history | tail -n 1、しかし、history -dは機能せず、zshの適切なドキュメントが見つかりません。

2
1つのコマンドのみのumaskを変更するにはどうすればよいですか?
1つのコマンドについてのみ、デフォルトとは異なるumaskを使用して、Linux(zsh、重要な場合)でコマンドを対話的に実行するにはどうすればよいですか?おそらく、コマンドを1行に組み合わせたものでしょうか。新しいumaskはそのコマンドにのみ適用され、次に入力されるコマンドのデフォルト値に戻ります。 コマンドが入力される前に有効なデフォルトのumaskにとらわれないことが理想的です(つまり、デフォルトのumaskを指定する必要はありません)。
13 zsh  umask 

1
zshビルトインのヘルプメッセージを取得するにはどうすればよいですか?
bashビルトインの簡単な使用法メッセージを取得したい場合help <builtin>は、コマンドプロンプトで使用できます。 $ help export export: export [-fn] [name[=value] ...] or export -p Set export attribute for shell variables. Marks each NAME for automatic export to the environment of subsequently executed commands. If VALUE is supplied, assign VALUE before exporting. Options: -f refer to shell functions -n remove the export …

4
文字列置換:すべての出現
簡単な質問ですが、答えが見つかりません。zshのドキュメントは私を圧倒します:-( function z () { echo ${1:s/the/THE} } $ z thethethe THEthethe ... 最初の出現だけでなく、すべての「the」を「THE」に置き換えるにはどうすればよいですか?zshでは、例を見つけるのが最も難しいと思われる最も簡単な方法です。
13 zsh  string 


2
viのようなhjklキーでzshのタブ補完メニューをナビゲートできますか?
zshのメニューベースのタブ補完を使用します。Tab一度押すと、可能な補完のリストが表示されます。Tabもう一度押すと、矢印キーでこのリストをナビゲートできます。しかし、それはそれらをナビゲートすることが可能となるvi様H、J、K、L代わりにキー? コマンドライン入力には、bindkey -ein を使用してemacsモードを使用し~/.zshrcます。また、zshでzimを使用しています。関連する場合、タブ補完システムを指定するコマンドはこちらです。

1
ソースされたファイル、zsh
私はzpretzoでoh-my-zshを使用していますが、編集したいソースのzshファイルを忘れてしまいます。 どのソースファイルをソースにしたかをシェルに問い合わせるにはどうすればよいですか?
12 shell  zsh 

2
&>>&と2>&1のリダイレクトの違い
で、このSOスレッドといくつかの他のスレッド私はリダイレクトするため、次のコマンドを見ているstdoutとstderr、ファイルに。 それらはすべて同等ですか?それらの間に違いはありますか? command1 >> logfile 2>&1 command &> logfile command >& logfile

3
zshでエイリアスをクリアまたは無効にする
端末を少し使いやすくするために、oh-my-zshをインストールしました。私を悩ませているのは、元のコマンドよりも覚えにくい「ga」、「gap」、「gcmsg」、「_」などのエイリアスが追加され、コマンドハッシュテーブルが汚染されることです。 エイリアスを完全に無効にする方法はありますか?または、すべてのエイリアスをクリアして、それを自分の場所に置くことができる方法.zshrcですか?
12 shell  zsh  alias  oh-my-zsh 

3
zshコマンドラインですべてのエイリアスを解決する
エイリアスをネストしており、コマンドを実行する前にそれらすべてを解決したい。それ、どうやったら出来るの? どのキーにもバインドされていない関数がある場合は、M-x foobar私にとっても問題ありません。私も(外部コマンドを使用することができtype、command、which、何でも)。私はスレッドからすべてを試しましたなぜ「which」を使用しないのですか?次に何を使用しますか?しかし、何も動作しません。
12 zsh  alias 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.