คำถามติดแท็ก tab-completion

การเติมแท็บเป็นการปรับปรุงส่วนติดต่อผู้ใช้สำหรับเชลล์และโปรแกรมบรรทัดคำสั่งอื่น ๆ การพิมพ์อักขระสองสามตัวแรกของคำสั่ง (หรืออาร์กิวเมนต์) และการกดแป้น Tab จะส่งผลให้คำที่เหลือถูกทำให้สมบูรณ์โดยโปรแกรมโดยอัตโนมัติ

3
ฉันจะทุบตีเพื่อดำเนินการตามแท็บให้กับนามแฝงได้อย่างไร
ฉันมีสคริปต์การทุบตีเสร็จสิ้นการตั้งค่า (ส่วนใหญ่ใช้ bash-it และการตั้งค่าด้วยตนเอง) ฉันยังมีพวงของการติดตั้งนามแฝงสำหรับงานทั่วไปเช่นสำหรับgco git checkoutตอนนี้ฉันสามารถพิมพ์git checkout dTabและdevelopเสร็จสมบูรณ์สำหรับฉัน แต่เมื่อฉันพิมพ์gco dTabไม่สมบูรณ์ ฉันสมมติว่านี่เป็นเพราะสคริปต์การดำเนินการเสร็จสิ้นแล้วgitและไม่สามารถมองเห็นgcoได้ มีวิธีการโดยทั่วไป / โดยทางโปรแกรมทำให้สคริปต์เสร็จสมบูรณ์ทั้งหมดของฉันทำงานกับนามแฝงของฉันหรือไม่ ไม่สามารถดำเนินการให้เสร็จสมบูรณ์เมื่อใช้นามแฝงชนิดที่เอาชนะวัตถุประสงค์ของนามแฝง

1
ทำให้แท็บเป็นตัวพิมพ์ใหญ่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ [ซ้ำกัน]
ซ้ำเป็นไปได้: การ เติมแท็บที่ไม่คำนึงถึงตัวพิมพ์ใหญ่และเล็กใน Bash มีวิธีใดบ้างที่จะทำให้แท็บเสร็จใน bash case-insensitive? ตัวอย่างเช่นหากฉันมีไฟล์ชื่อHello.txtและพยายามแท็บให้กรอกโดยพิมพ์heตามด้วยTabจะไม่ทำงาน ฉันจะต้องแท็บดำเนินการได้โดยการพิมพ์He(หมายเหตุ H ทุน) Tabและ มีวิธีใดบ้างในการตั้งค่า bash ดังนั้นฉันจึงไม่จำเป็นต้องเก็บเคสไว้เมื่อฉันพิมพ์และลองแท็บเติมให้เต็ม?

4
การทุบตีเสร็จสิ้นทำให้การทุบตีเริ่มต้นช้าลง
เริ่มทุบตีในระบบ Ubuntu ของฉันใช้เวลาประมาณ 2 วินาที ถ้าฉันลบการโหลด / etc / bash_completition ใน. bashrc มันจะเริ่มโดยไม่ชักช้า แน่นอนว่าฉันไม่ต้องการที่จะยอมแพ้และฉันไม่คิดว่าการโหลดไฟล์นั้นเป็นเหตุผลที่ถูกต้องสำหรับการล่าช้า 2 วินาที ความคิดใด ๆ ที่ฉันสามารถค้นหาว่าปัญหาคืออะไรหรือฉันจะเร่งความเร็วในสิ่งต่าง ๆ ได้อย่างไร

3
มีเชลล์ที่รองรับการเสร็จฟัซซี่ใน Sublime Text ไหม
ฉันกำลังใช้ bash และฉันสงสัยว่ามีปลั๊กอินใด ๆ ใน bash หรือ shell อื่น ๆ ซึ่งทำให้ฉันสามารถทำสิ่งนี้ cat tfnislong.txt+ [tab]เสร็จcat ThisFileNameIsSoLong.txtเหมือนกับแท็บใน Sublime Text

2
ทุบตี bash สำหรับรูปแบบชื่อไฟล์หรือไดเรกทอรี
ฉันกำลังพยายามสร้างสคริปต์การทุบตีเสร็จสิ้นและมีปัญหา ฉันต้องการตั้งค่าเพื่อให้รายการที่สมบูรณ์เป็นไฟล์ที่ตรงกับส่วนขยายหรือไดเรกทอรี (ซึ่งอาจมีหรือไม่มีไฟล์ของส่วนขยายนั้น) ปัญหาที่ฉันมีคือวิธีเดียวที่ฉันจะได้รับความสำเร็จในการเก็บไฟล์และไดเรกทอรีคือการใช้สิ่งที่ชอบ-o plusdirs -f -X '!*.txt'แต่เมื่อฉันปล่อยทุบตีหนึ่งในไดเรกทอรีที่สมบูรณ์มันเพิ่งเพิ่มช่องว่างไปยังจุดสิ้นสุดมากกว่า เฉือน _xyz() { local cur=${COMP_WORDS[COMP_CWORD]} local prev=${COMP_WORDS[COMP_CWORD-1]} #COMPREPLY=( $( compgen -f -X '!*.txt' -- $cur ) ) #COMPREPLY=( $( compgen -f -G '*.txt' -- $cur ) ) #COMPREPLY=( $( compgen -o filenames -f -X '!*.txt' -- $cur ) ) #COMPREPLY=( $( compgen …

4
โหมดคำสั่งเป็นกลุ่มคำที่สมบูรณ์
มีวิธีรับ Vim ในโหมดคำสั่งเพื่อเติมคำจากไฟล์ปัจจุบันหรือไม่? บอกว่าฉันมีไฟล์นี้: one two three once และฉันเข้าสู่โหมดบรรทัดคำสั่ง :myruncommand o| โดยที่|ตำแหน่งของเคอร์เซอร์ ฉันจะทำให้ Vim สมบูรณ์oneหรือonceเมื่อกด Tab ได้อย่างไร

1
การเติมแท็บชื่อไฟล์ที่ไม่เหมือนกับการหมุนด้วย PowerShell
ใน Windows การใช้ PowerShell เป็นไปได้ไหมที่จะทำให้คำแนะนำชื่อไฟล์ (โดยใช้Tabคีย์) ทำงานเหมือนกับการทุบตีภายใต้ Linux? สมมติว่าไดเรกทอรีมีไดเรกทอรี 3: example1, และexampleexamination บน Windows (โดยค่าเริ่มต้น) ถ้าคุณพิมพ์cd exและก็จะแนะนำให้อัตโนมัติTab cd .\examinationการใช้งานที่ตามมาของTabจะหมุนข้อเสนอแนะระหว่างexample1, และexampleexamination ใช้ทุบตี (โดยปกติภายใต้ Linux) ถ้าคุณพิมพ์cd exและมันจะอัตโนมัติสมบูรณ์จนตัวอักษรที่ชื่อไฟล์เริ่มต้นที่จะแตกต่างกัน:Tab cd examการใช้งานอื่นTabแนะนำไดเรกทอรีที่มีอยู่: $ cd exam examination/ example1/ example2/ จากนั้นหากคุณพิมพ์pและTabจะทำให้สมบูรณ์โดยอัตโนมัติexampleและอื่น ๆ (ที่นี่นำเสนอทางเลือกระหว่างexample1และexample2) มีวิธีทำให้คำแนะนำชื่อไฟล์ทำงานในการค้นหาแบบต้นไม้หรือไม่แทนที่จะหมุนไปตามชื่อ? (ฉันส่วนใหญ่สนใจในชื่อไฟล์ Bash สามารถปรับแต่งการเลือกนี้ตามประเภทไฟล์ตัวอย่างเช่นเฉพาะไดเรกทอรีcdซึ่งน่าจะดี แต่การเลือกชื่อไฟล์เองก็เพียงพอแล้ว)

2
ทำไมทุบแท็บขยายตัวหนอนเมื่อฉันกรอกชื่อไฟล์เป็นกลุ่ม?
ถ้าผมพิมพ์แล้วมันเสร็จสิ้นไปcat ~/.bashr<TAB>cat ~/.bashrc ถ้าฉันพิมพ์vim ~/.bashr<TAB>มันจะเสร็จสมบูรณ์เป็นvim /home/neil/.bashrc... (ทำเช่นเดียวกันกับviซึ่งใช้นามแฝง"vim") ฉันจะปิดมันได้ไหม?

2
สมาร์ทแท็บเสร็จสมบูรณ์ (สำหรับไดเรกทอรี)
มีรุ่นของเชลล์ที่มีแท็บที่ชาญฉลาดมากขึ้นหรือไม่ ฉันต้องการพิมพ์ cd foo-<TAB> จากนั้นมันจะแสดงความสมบูรณ์ที่เป็นไปได้พร้อมกับตัวเลขที่ฉันสามารถพิมพ์เพื่อเลือกหนึ่งในนั้นได้: cd foo-<TAB> (1) foo-bar1 (2) foo-bar2 (3) foo-bad ดังนั้นหลังจากที่<TAB>ฉันจะพิมพ์และมันจะพาฉันไป3 foo-badหรือมิฉะนั้นให้ใช้ปุ่มลูกศรแทนการพิมพ์ตัวเลขก็ได้

2
ฉันจะกู้คืนความสมบูรณ์ของแท็บในตัวแปรเชลล์ในบรรทัดคำสั่ง bash ได้อย่างไร
ฉันตั้งไดเรกทอรีที่เข้าเยี่ยมชมล่าสุดเป็นตัวแปรเชลล์ d1, d2 และอื่น ๆ มานาน ในเครื่องโบราณของ Fedora ฉันสามารถพิมพ์คำสั่งได้ $ cp $ d1 / และเชลล์จะแทนที่ $ d1 ด้วยข้อความเช่น / home / acctname / projects / blog / และจะ จากนั้นแสดงเนื้อหาของ ... / blog เช่นเดียวกับที่คุณคาดหวังว่าการทำแท็บจะเสร็จสมบูรณ์ ตอนนี้ทั้งอูบุนตู wheezy / sid และ fedora 16 เพียงแค่ \ -escape the '$' และโดยธรรมชาติ ไม่มีความสมบูรณ์ที่จะแสดง คุณสามารถเห็นการทำงานนี้ในหน้าต่างเทอร์มินัล OSX ในวันที่ …

1
zsh เติมข้อความอัตโนมัติจากฟังก์ชั่น
ฉันค้นหาและค้นหาและไม่สามารถหาวิธีที่ชัดเจนในการทำสิ่งนี้: ตัวอย่างที่วางแผนไว้เล็กน้อยเพื่อซ่อนรายละเอียด : สมมติว่าฉันต้องการเติมชื่อเซสชัน tmux โดยอัตโนมัติด้วยคำสั่งที่จะเปิด ดังนั้น say tmux-open $NAMEopens กล่าวว่าเซสชั่น tmux และtmux-lsแสดงรายการชื่อเซสชันทั้งหมดที่เป็นไปได้คั่นด้วย newlines ฉันจะกำหนดค่า zsh เพื่อให้การtmux-open <TAB>เติมข้อความอัตโนมัติด้วยรายการของเซสชันที่เป็นไปได้ได้tmux-lsอย่างไร

1
Bash Shell ค้างบน + Tab-complete
ฉันมักจะใช้ความสมบูรณ์ของแท็บใน Bash เมื่อทำไดเรกทอรี แต่ฉันพบว่ามันค้างในเวลาที่ไม่สามารถยอมรับได้หากฉันใส่เครื่องหมายคำถามลงในไดเรกทอรีโดยไม่ตั้งใจ ฉันต้องการทราบสาเหตุและวิธีการป้องกันหากเป็นไปได้ นี่คือสถานการณ์: ฉันเริ่มคำสั่งและใช้~กุญแจเพื่อเป็นตัวแทนของบ้าน: ls ~?Desktop/co อ๊ะ! ฉันค้างไว้Shiftนานเกินเสี้ยววินาที ฉันได้มีไว้สำหรับการที่จะเป็น? /แต่หน่วยความจำกล้ามเนื้อ (โอ้ไม่!) ได้เตะไปแล้วฉันได้กดปุ่มTabก่อนที่จะสังเกตเห็นความผิด ตอนนี้ฉันติดอยู่รอให้เปลือกส่งเสียงบี๊บอย่างโกรธฉัน ปกติหนึ่งหรือสองนาที เกิดอะไรขึ้น? ทำไมเครื่องหมายคำถามทำให้เกิดการหยุดและในที่สุดก็ส่งเสียงบี๊บ มีวิธีใดบ้างที่จะหยุดมันไม่ให้แขวน

0
การเว้นช่องว่างในการเติมให้เต็มแท็บในกระบวนการย่อยเชลล์ Cygwin บน GNU Emacs บน Windows
ฉันใช้ GNU Emacs บน Windows และ Cygwin เป็นเปลือกของฉัน ถ้าฉันสร้างเชลล์ย่อย Cygwin ด้วย Mx shell ฉันจะได้รับพรอมต์ bash ที่เหมาะสม ถ้าฉันพิมพ์สิ่งนี้: cd ~/My<tab> แท็บเสร็จสมบูรณ์เพื่อ cd ~/My Documents/ ซึ่งถูกต้องใน Emacs / Tramp แต่ไร้ประโยชน์ใน Cygwin bash shell subprocess เนื่องจากพื้นที่จะต้องมีการหลบหนีด้วยแบ็กสแลช ฉันจะทำให้การแท็บเสร็จสมบูรณ์นี้เพื่อแทรกแบ็กสแลชโดยอัตโนมัติได้อย่างไร

1
เพิ่มสตริงในการเติมแท็บ zsh ให้เสร็จสมบูรณ์สำหรับคำสั่งและอาร์กิวเมนต์ทั้งหมด
ฉันต้องการเพิ่มคำหลักfooและbarเพิ่มลงในผลลัพธ์การเติมอัตโนมัติสำหรับคำสั่งหรืออาร์กิวเมนต์ใด ๆ เช่น: cd <TAB> ควรให้ foo และ bar ในคำแนะนำเพิ่มเติมจากความสำเร็จที่มีอยู่ blah <TAB> ควรให้ foo และ bar ในคำแนะนำเพิ่มเติมจากความสำเร็จที่มีอยู่ บทความเสร็จสิ้น zsh ฉันได้อ่านวิธีการพูดถึงเพื่อเพิ่มความสมบูรณ์ให้กับคำสั่งที่เฉพาะเจาะจง แต่ไม่มีใครพูดถึงวิธีการเพิ่มชุดของคำเพื่อความสมบูรณ์ทั่วโลก (หรือหากมีรายการเสร็จสิ้นทั่วโลกที่มีอยู่เสมอ)

1
ทุบตีรายการแท็บเสร็จด้านล่างแจ้งให้
เมื่อใดก็ตามที่ฉันใช้การกรอกข้อมูลในแท็บรายการความเป็นไปได้จะปรากฏขึ้นและข้อความแจ้งให้ทำซ้ำด้านล่าง | ระบุตำแหน่งเคอร์เซอร์สุดท้าย): $ vim ~/.<TAB> ./ ../ .bashrc .vimrc $ vim ~/.| ฉันต้องการสิ่งต่อไปนี้พฤติกรรมที่เหมือนกับ zsh: $ vim ~/.<TAB>| ./ ../ .bashrc .vimrc นั่นคือแสดงคำแนะนำ ใต้พรอมต์เก่า . คำแนะนำเก่าควรถูกเขียนทับหรือหายไปเมื่อฉันทำเสร็จแล้วแทนที่จะทำให้หน้าจอรก เป็นไปได้ไหม ถ้าเป็นเช่นนั้นได้อย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.