タグ付けされた質問 「line-editor」

シェルおよびその他のコマンドラインプログラムのラインエディター

1
ESC + {:それは何であり、どこでそれについてもっと知ることができますか?
私はbashプロンプトで遊んでいて、ESCを押してから{を押した後、シェルはfileglob文字列で完了のためのすべてのファイルを表示しました。例:もし私が入力したbash Cことで、その後ESC+{、シェルはこのことを示すだろう:bash CHECK{,1,2{,23{336{,66666},6},3{,6}}}すべての実験ファイルとディレクトリ私が作っていた示し、Cで始まるすべての可能なファイルとディレクトリを自動的に完了する。 それは何でありESC + {、私はそれについてもっと知ることができますか? これは、CENTOSおよびMac OSXでbashを使用して表示されます。

6
カーソルの形状(または色)を変更して、bashでviモードを示す
明確にするために:端末内でvimを使用するときにカーソルを変更する方法を尋ねていません。Bashのviモード内で入力モードとコマンドモードを切り替えるときにカーソルを変更したい: set -o vi <CR> type some text <ESC> (the cursor changes shape/color) i (cursor change back) etc... zshでモード変更時にカーソルの色を変更できるスクリプトを見つけましたが、この1つの機能だけのためにシェルを変更したくありません。 Bashコマンドラインでコマンドモードと挿入モードを切り替えるときに、gvim(または単に色)のように、カーソルの形状を変更する方法はありますか?
30 bash  vi  line-editor 

2
テキストエディタでコマンドプロンプトを開く-これは何と呼ばれていますか?
Bashで私のお気に入りのトリックの1つは、テキストエディターでコマンドプロンプトを開くことです。これを(viモードで)押して行いESC vます。これを行うと、コマンドプロンプトにあるものはすべて、選択した$ EDITORに表示されます。その後、コマンドをドキュメントのように編集し、その一時ファイルのすべてを保存して終了すると、実行されます。 友人の誰もこのヒントを聞いたことがないことに驚いているので、共有できるドキュメントを探していました。問題は、その上で何も見つけられなかったことです。また、このヒントに関連する検索用語は非常に一般的であるため、ドキュメントをグーグル検索するときには役に立ちません。 私が実際にそれを調べることができるように、誰もこの技術が何と呼ばれるか知っていますか?

5
カーソルの前にコピーして後で貼り付けるためのBashコマンド?
私はこれをどのように表現するのかわかりませんが、私はしばしば自分自身が次のようなコマンドを入力していることに気付きます: cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak 通常、パスを2回(タブ補完で)入力するか、カーソルでパスをコピーして貼り付けます。これを入力しやすくするbashfooがありますか?

9
現在bashコンソールでパラメーターに入力されている繰り返し方法
私は次の行に沿って何かを入力していました: mv foo/bar/poit/zoid/narf.txt そして突然気づいた、私は再びそのパラメータの大部分を入力する必要があります mv foo/bar/poit/zoid/narf.txt foo/bar/poit/zoid/troz.txt タブ補完を使用しても、非常に苦痛です。テキストをマウスで選択してミドルクリックすることでパラメーターをコピーして貼り付けることができますが、それでは十分ではありません。キーボードのままにしておきたい。 キーボードを使用して行の現在のパラメーターをコピーして貼り付ける方法はありますか?

4
ZSH:上下キーの検索履歴?
現在、.zshrcには次のものがあります。 bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search ただし、これはスペース文字が発生する前の現在の入力の内容と一致しているようです。たとえば、sudo ls /で始まる履歴内のすべての行に一致しますがsudo、入力全体に一致する行のみに一致するようにします。(つまりsudo ls /etc一致しますが、一致しませんsudo cat /var/log/messages) 目的の動作を得るには、何を変更する必要がありますか? 関連する場合の私の.zshrc全体を以下に示します。https ://gist.github.com/919566

1
zshのラインエディターを使用してサブプロセスをラップする
zshの組み込み行エディター(zle)を使用して入力をサブプロセスにフィードすることは可能ですか?つまり、zlewrap mycommandwhere zlewrapはzsh関数でありmycommand、stdinから行を読み取るだけのプログラムです。zlewrapは、zleの行編集機能をに効果的に提供しmycommandます。これはrlwrapまさにこれを行うモデル上にありますが、行編集用のzleではなくreadlineを使用します。
22 zsh  line-editor 


6
対話的に、bashで数字のn回の繰り返しを入力する方法
コマンドを実行したい foo --bar=baz <16 zeroes> 16個のゼロを効率的に入力するには* Alt押した1 6 0ままにすると、次のことが160回繰り返されますが、これは望んでいないことです。emacsではAlt-[number]またはを使用できますCtrl-u 1 6 Ctrl-u 0が、bash Ctrl-uでは現在入力されている行を削除し、次のゼロは行に0を追加するだけです。 私が行った場合 foo --bar=baz $(printf '0%.0s' {1..16}) その後history、上記ではなく、正確に表示されfoo --bar=baz 0000000000000000ます。すなわち、bashは私が望むように動作しません。(編集:ポイントされている、$(...)コマンド置換を使用せずにいくつかのゼロを入力したい) (*)「効率的に」の技術的定義は「with O(log n)keystrokes」、できれば16の桁数(16のすべての値)に等しい定数のキーストローク数であると思います。emacsの例は、この定義により効率的と見なされます。

2
エントリを再利用および変更したときに、bashによる履歴の編集を停止するにはどうすればよいですか?
bashの一部のインスタンスは、前のコマンドを再使用および編集するときにコマンド履歴を変更しますが、その他のインスタンスは変更しないようです。私は検索と検索を行ってきましたが、履歴内のコマンドが再利用および編集されたときに変更されないようにする方法を示すものは見つかりません。 このような質問がありますが、それは編集中の履歴に対処する方法を言っているようです。コマンドを再利用するときに履歴を編集するbashのインスタンスに出会ったのは最近です-私が使用した以前のすべてのbashシェルは、再利用時に履歴を変更しないように構成されていますコマンドを編集します。(おそらく、私は過去15年間ほど、シェルの歴史に適切な注意を払っていませんでした...) それがおそらく最良の質問です:bashに履歴を変更するように決して指示することはできません-もしそうなら、どのように?

2
EmacsのようにBashでコピーしてセットマークしますか?
私は(つまり、使用して、Emacsがデフォルトで使用するのと同じキーボードバインディングを使用してバッシュで、コマンドラインのテキストをコピー&ペーストできるようにしたいC-spaceためにset-mark、M-wテキストをコピーするためにC-y、M-yなど、それを貼り付けます)。 GNU bashのドキュメントは bashがデフォルトで設定これらのキーバインディングの一部が付属していることを述べています。 たとえば、ヤンク(C-y)は私の端末ではデフォルトで機能します。ただし、コマンドset-markとcopyコマンドを機能させることはできず、デフォルトではキーにバインドされていないようです。 通常、ユーザーが独自のキーバインディングを定義できる方法は、キーバインディングをに追加すること.inputrcです。だから、私は見たドキュメントで次のbash関数を見つけ、私が望むEmacsのような振る舞いを定義するのに役立つと思います(つまりset-markwith C-spaceとcopywith M-w)。 copy-region-as-kill () リージョン内のテキストをキルバッファーにコピーして、すぐにヤンクできるようにします。デフォルトでは、このコマンドはバインドされていません。 そして set-mark (C-@) ポイントにマークを設定します。数値引数が指定されている場合、マークはその位置に設定されます。 私が正しく理解している場合、上記はcopy-region-as-killデフォルトでキーボードシーケンスにバインドされていないが、デフォルトでset-markバインドさC-@れていることを意味します。 私はC-@自分の端末で試しましたがset-mark、カーソルを動かしてもテキストがハイライトされていないので、実行するとは思いません。いずれにせよ、キーボードバインディング(M-wおよびC-)を関数内copy-region-as-killでset-mark上記の関数に 追加.inputrcしC-x C-r、それをでリロードしようとしましたが、これは機能しませんでした。.inputrc他のユーザー定義のキーバインドが定義されているため、他のエントリが動作していることを知っています。 私が間違っていることはありますか?何か不足していますか?


3
bashでのCtrl-BackspaceおよびCtrl-Delete
Debian 8.3を搭載する stty werase '^H' またはArch Linux 2/2016 stty werase '^?' で.bashrc(例えば)を行うCtrl- Backspaceターミナル内の最後の単語を削除します。それでもそれは現代のGUIアプリケーション(例:Firefox)と同じ動作ではありません:それは、最後の削除空白は単語を区切られ、そして最後の単語が空白で区切られていないかのような文字. : , ; " ' & / ( )。 それは作ることが可能であるCtrl- Backspace振る舞いを近代的なGUIアプリケーションに、端末と同様の中に?また、作るためにどのような方法があるCtrl- Deleteカーソルの直前の単語を削除するには?

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


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