Bash'de alt + sayısal tuşa basın ve (arg [sayısal]) bu nedir?


101

Bash'de alt + sayısal tuşa basın ve (arg [sayısal]) bu nedir?

(Bu tür sorular, internet üzerinden dokümantasyonda arama yapmak için doğru terminolojiyi "tahmin etmeye" çalışmak yerine, bir insana sormak için daha uygundur).


Eğer varsa set keymap viiçinde ~/.inputrc, o zaman isabet Esc + Digitaynı moduna açar sizi gibi (ancak, üzerinde onlardan sadece çirkin emacs olanları vi bağlamaları kullanamaz :-() bir vi komut tekrarı için hazırlanıyor eğer
Ciro Santilli郝海东冠状病六四 事件 法轮功

Arama ifadelerim alt sayı terminal linux , alt + 1-9 terminal ve sonunda beni buraya getiren shell alt + 1 idi.
sshow

Yanıtlar:


62

Google'da aramak istediğiniz terim:

"readline arguments"

Bu, örneğin, bash referans kılavuzundan bu bölüme götürür :

Readline komutlarına sayısal argümanlar iletebilirsiniz. Bazen argüman tekrar sayımı gibi davranır, bazen de önemli olan argümanın işaretidir. Normalde ileri yönde hareket eden bir komuta olumsuz bir argüman iletirseniz, bu komut geri yönde hareket edecektir. Örneğin, metni satırın başına geri öldürmek için 'M - C-k' yazabilirsiniz.

Sayısal bağımsız değişkenleri bir komuta iletmenin genel yolu, komuttan önce meta rakamlar yazmaktır. Yazılan ilk 'rakam' bir eksi işaretiyse ('-'), argümanın işareti negatif olacaktır. Bağımsız değişkeni başlatmak için bir meta rakam yazdıktan sonra, rakamların geri kalanını ve ardından komutu yazabilirsiniz. Örneğin, Cd komutuna 10'luk bir argüman vermek için, giriş satırındaki sonraki on karakteri silen 'M-1 0 C-d' yazabilirsiniz.

Bunun işe yaraması için, Meta anahtarının nerede eşlendiğini bilmeniz gerekir: bazen Alt, bazen öyle Esc, havalı bilgisayarların özel bir Meta anahtarı vardır;)

Sözdizimine aşina olmayanlar için, 'M - Ck' Meta_key+ - Ctrl+ 'nın eşdeğeridir k. "M" Meta anahtarının kısaltmasıdır ve belirtildiği gibi sisteme göre değişir, "C" Ctrl tuşu için kısaltmadır. Bir karakterden sonraki "-" ("M-" gibi) yazdığınız bir şey değildir, aynı anda tuşlara basıldığını göstermenin bir yoludur.


2
Sayısal argümanlar kullanarak sayısal karakterleri tekrar etmenin bir yolu var mı? Örneğin, 128 sıfır ('0') yazmak istediğimi düşünürdüm, Alt + 128 sonra 0 yazabileceğimi düşünürdüm, ama bu bana (arg: 1280(Alt tuşunu bıraksam bile) verir. Bu mekanizmayı kullanarak sayıları nasıl tekrar ederim?
Victor Zamanian

1
@Victor: ilginç sorular. Readline ile bunu yapmanın bir yolunu düşünemiyorum. Gibi bir şey ile muhtemelen daha iyi durumda$(perl -e 'print "0" x 128')

1
@VictorZamanian bu soruda başka bir cevap
TTT

28

Sayısal karakterleri tekrarlamak için - örneğin 128 sıfır, aşağıdakileri tıklayın:

Meta-key + 1 2 8 Ctrl + v 0


Ohhhh, aynen öyle vim(belki de emacs, hatırlayamıyorum).
Sridhar Sarnobat

12

Bunu dene. Yazın Alt 4, ardından yazın Tve vurun Enter.

Snazzier HTML kullanmak için düzenlendi.


9
Senin için ne olacak Ben hiçbir şey alamıyorum.
Mortimer McMire

1
Dört tkarakter eklenir.
Wesley Baugh

4
Bash sürümümde (4.4) ENTER tuşuna basmaya gerek yok.
luca76

9

Emacs'ta olduğu gibi bir sonraki komutu birçok kez tekrarlar. Örneğin M-1-0 C-p, 10 geçmiş öğesi geri gider. M-4 C-hdört karakter geri alır M-3 M-t, önceki kelimeyi üç kez ileri taşır, vb. M-Bash'de olduğu gibi burada Alt tuşu için "meta" anlamını kullanıyorum .


9

Bunun zaten kabul edilmiş bir cevabı olduğunu biliyorum, ancak karakterlerin basit tekrarının yanı sıra ek kullanımları da gösteren bazı yararlı örnekler buldum . Rakam argümanları her tür şey için geçerli olabilir. Örneğin "Alt + 3, Escape, Backspace" dizisi geriye doğru 3 kelimeyi silecektir.


4

Bilmiyorum ama alt + sayısal tuşa bastığınızda ve sonra bir karaktere bastığınızda, sayı karakterleri alacaksınız: (arg: 123) + a -> 123 kere "a"


8
bilmiyorsun, yine de biliyor musun? % - |

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.