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.