Bash: imleçten satır sonuna kadar klavye kısayolu ile sil


91

Bilgi ^istemi konumunu belirten aşağıdaki bilgi istemi düşünün :

$ git commit -am "[bug 123456] Do this and that with the bug"
                               ^

Diyelim ki aynı hatayı, farklı bir taahhüt mesajı ile tekrar işlemek istiyorum. Metni imleç konumundan satır sonuna kadar silmenin bir yolu var mı?

Yanıtlar:


145

İmleci satırın sonuna kadar silmek için Ctrl+ kullanın K.

İmleçten satırın başına kadar silmek için Ctrl+ kullanın U.


Koyacağımız anahtar kombinasyon nedir?
— ShooShoSha

@ShooShoSha, Shift + Insert'ü deneyin
— user128285

K ve U'nun anlamları nelerdir, anlamlarını bilmezsem, nasıl hatırlayacağımı gelecek hafta hatırlayamıyorum?
— workplaylifecycle

2
@ hylepo Dunno ama anımsatıcım Brexit - the UK leaves Europe- U başlangıcına ve K sonuna kadar siler.
— Snowcrash

47

Bu , kabuğunuzun içinde vi ( set -o vi) veya emacs ( set -o emacs) düzenleme modunu kullanmanıza bağlı olarak değişir .

Varsayılan olarak, kabuğunuz genellikle varsayılan olarak emacs düzenleme modudur.

  • Emacs modunda, satırın sonuna kadar silme ctrl- komutuyla yapılabilir k.

  • Bununla birlikte, komut kabuğunuzda vi düzenleme modunu kullanıyorsanız, aynı sonuç Esc(sizi komut moduna geçirecek) ve ardından d- $(satırın tamamını silmek istiyorsanız, girin dd) yazarak gerçekleştirilebilir .

Şu anda kabuğunuzda hangi düzenleme modunu kullandığınızdan emin değilseniz set -o, komut satırından komutu girin ve şu anda hangi düzenleme modunu kullandığınızı belirleyebileceksiniz:

set -o
...snip...
emacs           on
...snip...
vi              off

Komut satırı düzenleme modunu değiştirmek için, sadece şunu yazın:

set -o vi

veya

set -o emacs

4
Eğer bir anımsatıcı istiyorsanız, Köldürme standları (imleç konumundan başlayan satır).
— Gregor Botero

5
Vi komut modunda, Daynı şekilde çalışırd$
— glenn jackman 17:13

3
+1 aslında doğru cevabı yazmak ve asistanların bunu değiştirebileceğini açıklamak için.
— TC1

1
>> teşekkürler. Görünüşe göre vi kullanıyorum, bu yüzden CTRL + K hile yapıyor. - Adam Matan Adam, öyleyse işte bu emacs modu, vi değil.
— 19'da

1
Kubuntu oneiric (konsole) 'de, Ctrl + K ve ESC Shift + D her ikisi de çalışır. ESC, satırın bir kısmını siler (belki ';' e kadar). (Bundan sonra bir $ yazmak sadece $ 'ı konsola gönderir.) Bunu bir süredir nasıl yapacağımı bulmaya çalıştım. Teşekkürler!
— Joe,

3

Zsh ve Bash'ten yalnızca birini tanıyorsan, ihtiyacın olan eşdeğer anahtar bağları:

darbe

bind '"\C-k"':kill-line

zsh

bindkey "\C-k"      vi-kill-eol

Diğer ilgili bilgiler

Anahtar bağlantıların bir listesini almak için:

# bash
bind -p

# zsh
bindkey

Kafam karıştı. Bash için, "^k" Control + K için olmamalı mı?
— wjandrea

Üzgünüm, bu benim kişisel bağım. Varsayılan bağlama koyardım ama bash sözdizimi ile rahat değildi. Ne olması gerektiğinden bahsettiğinizden beri, bunun için sözünüzü aldım ve yayınımı düzenledim.
— Sridhar Sarnobat

1
Ah tamam. Kendime aşina değilim, ama sadece kontrol ettim ve olmalı"\C-k"
— wjandrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.