วิธีการขยายขยายสัญลักษณ์แทนในทุบตี?


10

ฉันจำทุบตีสามารถทำต่อไปนี้:

สมมติว่ามี 3 ไฟล์: a, b, c ในไดเรกทอรีปัจจุบันเมื่อฉันป้อน:

$> somecommand *

จากนั้นกดคีย์หรือคีย์ผสมหรือลำดับคีย์ไวด์การ์ด * ออนไลน์จะขยายเป็น:

$> somecommand a b c

แต่ฉันจำไม่ได้และไม่สามารถเรียงลำดับคีย์ได้! ช่วยด้วย!


5
ลองCtrl-X *
Stéphane Chazelas

คำตอบ:


7

หากไม่เป็นเช่นนั้นคุณจะต้องเชื่อมโยงglob-expand-wordกับลำดับของคีย์ โดยทั่วไปด้วยการเพิ่มสิ่งที่ชอบ:

"\C-x*": glob-expand-word

.inputrcไปยัง

วิธีตรวจสอบสถานะปัจจุบันมีปัญหาดังนี้:

bind -P | grep glob-expand-word

ผลลัพธ์อาจอยู่ที่:

glob-expand-word can be found on "\C-x*".

ซึ่งจะหมายถึง:

Ctrl-x*

สิ่งนี้อาจเป็นไปได้เช่นกัน:

Ctrl-xCtrl-*


ลองดูbind -Pและคู่มือสำหรับคนอื่น ๆ


3

ดูเหมือนว่าคุณกำลังมองหารายการที่สมบูรณ์ ในหน้าคนสำหรับbash:

 COMP_TYPE
     Set to an integer value corresponding to the type of completion
     attempted  that caused a completion function to be called: TAB,
     for normal completion, ?, for listing completions after succes
     sive  tabs, !, for listing alternatives on partial word comple
     tion, @, to list completions if the word is not unmodified,  or
     %,  for  menu  completion.   This variable is available only in
     shell functions and external commands invoked by  the  program
     mable completion facilities

ดังนั้นมันจึงขึ้นอยู่กับฟังก์ชั่นการเติมเต็มสำหรับบางคำสั่งและวิธีการนี้จะเสร็จสมบูรณ์


2

หากคุณกำลังใช้set -o viในการทุบตีแล้วCtrl-X*ไม่ทำงาน

ในset -o viโหมดที่คุณต้องใช้Esc*แทน


1
มันอาจจะคุ้มค่าที่จะสังเกตว่าเมื่อคุณอยู่ในโหมดปกติแล้ว<C-X>*จะใช้งานได้ แต่<C-X>มันฟุ่มเฟือยและไม่ทำอะไรเลย ( <C-X>ไม่ลดลงเหมือนใน vi) หากคุณอยู่ในโหมดแทรกคุณต้องใช้<Esc>ก่อน
wchargin

มันเยี่ยมมาก สิ่งเหล่านี้เรียกว่าอะไร? แป้นพิมพ์ลัด bash? มีเอกสารบางอย่างที่ฉันสามารถค้นหาแป้นพิมพ์ลัดเหล่านี้เพิ่มเติมได้หรือไม่
wisbucky

2
@wiscucky: สายไปหน่อย แต่สำหรับคนอื่น GNU Readline เป็นผู้รับผิดชอบสิ่งเหล่านี้ man readlineเมื่อคุณมีวันที่ช้าอ่านผ่านส่วนการแก้ไขคำสั่งของ ฉันใช้ Bash มา 10 ปีแล้วและฉันก็ยังเรียนรู้สิ่งใหม่อยู่
Soren
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.