2016-06-12 8 views
6

そこはzshbashタブ補完との迷惑差がある:zsh:タブの補完方法は、カーソルの次の単語にスペースを必要としませんか?

はあなたには、いくつかのコマンドを記述し、行の先頭に何かを追加したいと想像:

$ compute --some --stuff 

、あなたはの先頭にジャンプしますラインとラインとsudoを書き始める(悪い例 - ちょうど証明するために)

$ sudcompute --some --stuff 
    ^<---cursor 

bashあなたはを完成させます〜sudoであり、zshsudcomputeを完了しようとする。

この場合、スペースを1文字戻してタブ補完する必要があります。

あなたがまだbashに慣れている場合は、sudの後にタブ補完を試み、あなたが何かにまったく役に立たないものに書き始めたコマンドをレンダリングします。

つまり、スペースで区切られているかどうかにかかわらず、zshにカーソルの左側にフレーズを入力させるオプションがありますか?

+1

私は通常、コマンドを実行した後にsudoが必要であることを認識しています。したがって、sudo !!はそのトリックを行います – andlrc

+0

[上]私の質問には答えられませんが、実際には役に立ちます – frans

答えて

6

はちょうど私の.zshrcファイルに周りを見回したと私は、これはあなたが欲しいものだと思う:

^iは通常、タブで <Ctrl-I>ある
bindkey '^i' expand-or-complete-prefix 

+0

これは少なくとも私が欲しいもの、ありがとう!私は、 'expand-or-complete'と' expand-or-complete-prefix'の違いを詳しく見ていきますが、答えを見つけたと思います。 – frans

+0

@frans AFAIK唯一の違いは、 'expand-or-complete'がカーソルの下の単語を使用し、' expand-or-complete-prefix'がカーソルのleftという単語を使用することです。 – andlrc

関連する問題