入力を削除して最後のスラッシュに戻す


16

私は非常に頻繁にサーバー上のいくつかのファイル間を飛び回っています。次のコマンド例を順に実行します。

nano /web/site/path/to/file
/web/site/script.py
nano /web/site/path/to/anotherFile
nano /web/site/path/to/yetAnotherFile
/web/site/script.py
nano /web/site/path/to/etc

1から行くには、nano次のI現在のプレスにコマンドUpBackspaceパスの最後のセグメントを交換します。これに関する問題は、私が本当に、本当に怠け者だということです。

次のいずれかを実行できるキーボードショートカット(またはBashism)がありますか?

  • 最後に使用されたパスに置き換えられます(最後に余分なビットがあります)
  • 現在の行を削除して(例えばを押した後Up)最後に戻る/

1
私はあなたが何を意味するのか正確にはわかりませんが、最初の部分ではalt+ を使用できると思います.か?
スパルホーク14年

@Sparhawk Alt + .他の目的に使用されます
ラドゥラデアヌ14年

@RaduRădeanuええ、おそらく私は質問を誤解しています。「最後に追加ビットを使用して最後に使用したパスに置き換えられる」とは、alt+の意味を考えて.いました。
Sparhawk

@Sparhawk繰り返しになりますが、これらのショートカットの1つは、1か月に1回程度、本当に便利で、メモリにコミットできないように思えます。alt-backspaceと組み合わせて、異なるコマンドを介して同様のファイルを実行するのに非常に便利です。
オリ

@Oli私はかなりそれを使う傾向がありますが、私はいつも他の方法を移動する方法を忘れます!
Sparhawk

回答:


21

Alt+ Backspaceショートカットを探していると思います。

Upこれを押すと、前の文字/またはspace文字に戻ります。


7
今、私は止められない!(編集:私はこのショートカットを少なくとも年に10回学び、忘れたことを誓います)
オリ

3
これは何をすべきですか?私の端末では、普通のものとは違うことはしていないようですbackspace
バクリウ14年

1
@Bakuriuこのショートカットはデフォルトのショートカットでなければなりません。あなたが知りたい場合はどのようなそれはあなたのシステムの実行上にマッピングされていますbind -P | grep '^backward-kill-word'
シルヴァン・ピノー

1
@Bakuriuここも同じ、Macを使っています。
laike9m

9

必要に応じて単語を後方にキルするreadlineバインディングを検出するには、ターミナルで次のコマンドを使用できます。

bind -p | awk '/kill/ && /word/ && /backward/'

デフォルトのUbuntuインストールでは、出力は次のようになります。

"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)

2番目の行はこの時点では重要ではないようですので、最初の行の意味を見てみましょう。私が理解からは、backward-kill-word実際にはすべての文字を削除readlineの機能は、以前の特殊文字(それまでは/;,にバインドされているなど)\e\C-hのキーシーケンスを。さて、この順序で\e 表しEscキー、\C- Ctrlキーを、と\C-hの略Ctrl+ この場合の等価であるとキー。hBackspace

だから、あなたが探しているEsc+ Ctrl+hと同等であるキーボードショートカットEsc+Backspaceと、理由はメイクというのxtermの動作のAltキーはメタ文字とメタ文字自体がが先行文字と2文字列に変換されているとして動作するようにEsc(参照しますman xtermAlt+Backspaceと同等です。

これで気に入らなくても忘れてしまう場合は、次のコマンドを使用して新しいショートカットを作成できます。たとえば、目的に応じてEsc+ wを入力します。

bind '"\ew": backward-kill-word'

readlineを使用するすべてのコマンドでこの新しいショートカットを常に永続的にするには、~/.inputrcファイルに次の行を追加します。

"\ew": backward-kill-word

詳細についてはhelp -m bind | sensible-pager、を参照してください。


2
いい答えです。より一般的には、bindコマンドを使用して設定全体を単一引用符で囲みます。bind '"\ew": backward-kill-word'、しかしそれはちょっとした選択です。そして、あなたにも置くことができることを言及する価値かもしれ"\ew": backward-kill-wordにおける~/.inputrc使用のreadlineはまた、あなたがPythonのインタラクティブシェルでのreadlineを有効にした場合、例えば、結合の結合はまた、そこに適用されることをことを持っていること、その場合、他のコマンドをして、。
ガイラ14年

@geirhaはい、あなたの言ったことは承知していますが、OPはこれを管理する方法を知っていると思いました。とにかく、私は私の答えがOPにはあまり役に立たないことに気づきました(彼はショートカットを思い出したかっただけです)が、このサイトの他のユーザーに役立つことを願っています。これにあなたの観察を追加して私の答えを編集しました。ありがとうございました。
ラドゥラデアヌ14年

0

別のキーの組み合わせは次のとおりです。

Alt+ Bその後Ctrl+K

Alt + B     Move cursor backward one word on the current line    
Ctrl + K    Clear the line after the cursor

Alt+ Bその後Alt+D

これにより、単語間の特殊文字を削除せずに最後の単語が削除されます。

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