กด alt + numeric ใน bash แล้วคุณจะได้ (arg [numeric]) นั่นคืออะไร?
(คำถามประเภทนี้เหมาะกว่าสำหรับการถามมนุษย์แทนที่จะพยายาม "เดา" คำศัพท์ที่ถูกต้องเพื่อค้นหาในเอกสารทางอินเทอร์เน็ต)
กด alt + numeric ใน bash แล้วคุณจะได้ (arg [numeric]) นั่นคืออะไร?
(คำถามประเภทนี้เหมาะกว่าสำหรับการถามมนุษย์แทนที่จะพยายาม "เดา" คำศัพท์ที่ถูกต้องเพื่อค้นหาในเอกสารทางอินเทอร์เน็ต)
คำตอบ:
คำที่คุณต้องการใช้กับ Google คือ:
"readline arguments"
สิ่งนี้จะนำไปสู่ตัวอย่างเช่นบทนี้จากคู่มืออ้างอิง bash :
คุณสามารถส่งอาร์กิวเมนต์ตัวเลขไปยังคำสั่ง Readline บางครั้งอาร์กิวเมนต์ทำหน้าที่นับซ้ำบางครั้งก็เป็นสัญญาณของการโต้แย้งที่มีนัยสำคัญ หากคุณส่งอาร์กิวเมนต์เชิงลบไปยังคำสั่งซึ่งโดยปกติจะทำหน้าที่ในทิศทางไปข้างหน้าคำสั่งนั้นจะทำงานในทิศทางย้อนกลับ ตัวอย่างเช่นหากต้องการฆ่าข้อความกลับไปที่จุดเริ่มต้นของบรรทัดคุณอาจพิมพ์ 'M-- C-k'
วิธีทั่วไปในการส่งอาร์กิวเมนต์ตัวเลขไปยังคำสั่งคือการพิมพ์เมตาหลักก่อนคำสั่ง หาก 'หลัก' ตัวแรกที่พิมพ์เป็นเครื่องหมายลบ ('-') เครื่องหมายของอาร์กิวเมนต์จะเป็นลบ เมื่อคุณพิมพ์เมตาหลักหนึ่งตัวเพื่อเริ่มต้นอาร์กิวเมนต์คุณสามารถพิมพ์ส่วนที่เหลือของตัวเลขจากนั้นจึงพิมพ์คำสั่ง ตัวอย่างเช่นหากต้องการให้คำสั่ง Cd อาร์กิวเมนต์เป็น 10 คุณสามารถพิมพ์ 'M-1 0 C-d' ซึ่งจะลบอักขระสิบตัวถัดไปในบรรทัดอินพุต
เพื่อให้ใช้งานได้คุณต้องรู้ว่ามีการแมปคีย์ Meta ไว้ที่ใด: บางครั้งก็เป็นAltบางครั้งEscคอมพิวเตอร์ที่ยอดเยี่ยมก็มีคีย์ Meta เฉพาะ;)
สำหรับผู้ที่ไม่คุ้นเคยกับไวยากรณ์ 'M-- Ck' เทียบเท่าของMeta_key+ +- Ctrl k"M" เป็นชวเลขสำหรับคีย์ Meta ซึ่งตามที่ระบุไว้จะแตกต่างกันไปตามระบบ "C" คือชวเลขสำหรับคีย์ Ctrl "-" หลังอักขระ (เช่น "M-") ไม่ใช่สิ่งที่คุณพิมพ์ แต่เป็นวิธีระบุการกดแป้นพร้อมกัน
(arg: 1280
(แม้ว่าฉันจะปล่อยปุ่ม Alt ไป) ฉันจะทำซ้ำตัวเลขโดยใช้กลไกนี้ได้อย่างไร
$(perl -e 'print "0" x 128')
ในการทำซ้ำอักขระตัวเลขเช่น 128 ศูนย์ให้กดดังต่อไปนี้:
Meta-key + 1 2 8 Ctrl + v 0
vim
(อาจจะเป็น emac ด้วยฉันจำไม่ได้)
ลองทำตามนี้ ประเภทAlt 4แล้วพิมพ์แล้วกดTEnter
แก้ไขเพื่อใช้ HTML ที่น่าสนใจยิ่งขึ้น
t
แทรกอักขระสี่ตัว
มันทำซ้ำคำสั่งถัดไปเนื่องจากหลาย ๆ ครั้งเช่นเดียวกับใน Emacs เช่นM-1-0 C-pย้ายรายการย้อนหลัง 10 รายการ M-4 C-hเว้นวรรคสี่อักขระM-3 M-tย้ายคำก่อนหน้าไปข้างหน้าสามครั้งและอื่น ๆ ที่นี่ฉันใช้M-ความหมาย "เมตา" สำหรับปุ่ม Alt เช่นเดียวกับที่กำหนดเองใน Bash
ฉันรู้ว่านี่เป็นคำตอบที่ยอมรับแล้ว แต่ฉันพบตัวอย่างที่มีประโยชน์ซึ่งแสดงให้เห็นถึงการใช้งานเพิ่มเติมนอกเหนือจากการใช้อักขระซ้ำ ๆ อาร์กิวเมนต์หลักสามารถใช้กับสิ่งต่างๆได้ทุกประเภท ตัวอย่างเช่นลำดับ "Alt + 3, Escape, Backspace" จะลบย้อนหลัง 3 คำ
ฉันไม่รู้ แต่เมื่อคุณทำ alt + numeric แล้วคุณกดอักขระคุณจะได้รับเครื่องหมายตัวเลข: (arg: 123) + a -> 123 ครั้ง "a"
ส่วนคู่มือ bash - โดยทั่วไปแล้วเป็นวิธีการทำซ้ำคำสั่ง readline หรือย้อนกลับ
set keymap vi
ในการ~/.inputrc
กดปุ่มEsc + Digit
จะนำคุณไปสู่โหมดเดียวกันราวกับว่ากำลังเตรียมพร้อมสำหรับการทำซ้ำคำสั่ง vi (แต่คุณไม่สามารถใช้การเชื่อมโยง vi จากบนได้มีเพียงอีแมคที่น่าเกลียดเท่านั้น :-()