วิธีใช้แท็บการเติมข้อความอัตโนมัติของ Cmd อย่างมีประสิทธิภาพ


45

ฉันใช้ Bash shell บน Linux มาหลายปีแล้วและเร็วมาก ๆ โดยการดึงดูดการเติมข้อความอัตโนมัติบ่อยครั้งโดยกดปุ่มแท็บฉันสามารถเขียนคำสั่งแบบยาวในการกดแป้นบางครั้ง

เมื่อเร็ว ๆ นี้ที่งานของฉันฉันเริ่มใช้ Windows Command Prompt และ Cmd ฉันช้ามากใน Cmd มันมีคุณสมบัติเติมข้อความอัตโนมัติ แต่มันทำงานแตกต่างกัน ฉันคิดว่าฉันเข้าใจวิธีการใช้งาน แต่ฉันไม่เข้าใจวิธีการใช้อย่างมีประสิทธิภาพจริง ๆ แล้วมันทำให้ฉันช้าลง ดังนั้นฉันถามวิธีการใช้วิธีการเติมข้อความอัตโนมัติของ Cmd อย่างมีประสิทธิภาพ?


ขอยกตัวอย่าง ก่อนอื่นฉันจะอธิบายว่าฉันใช้ Bash อย่างไรแล้วฉันจะพยายามใช้ Cmd อย่างไรและมีอะไรผิดพลาด

สมมติว่าโฟลเดอร์ในไดเรกทอรีปัจจุบันมีชื่อที่ทำจากทวีปและประเทศเช่น africa-nigeria, asia-india, และที่ฉันต้องการที่จะเปลี่ยนแปลงไปยังโฟลเดอร์europe-franceeurope-norway

วิธีการเติมข้อความอัตโนมัติของ Bash ทำงานคือปุ่มแท็บจะขยายเฉพาะเมื่อมีการขยายที่ไม่ซ้ำกัน ไม่เช่นนั้นจะไม่มีอะไรเกิดขึ้น แต่คุณสามารถกดแท็บเป็นครั้งที่สองเพื่อแสดงการขยายที่เป็นไปได้

ดังนั้นเมื่อต้องการย้ายไปที่นอร์เวย์ใน Bash ฉันพิมพ์cdแล้วทำการกดแป้นต่อไปนี้:

  1. e tab สำหรับ europe-
  2. n tab (ไม่มีอะไรเกิดขึ้น)
  3. tabอีกครั้ง มันจะแสดงรายการeurope-netherlandsและeurope-norwayเป็นการขยายที่มีศักยภาพ
  4. o tabeurope-norwayสำหรับ

ที่ดี! ขอบคุณทุบตี

แต่เมื่อฉันพยายามที่ปุ่มเดียวกันใน Cmd จะขยายe tabไปยังeurope-albaniaที่เกิดขึ้นจะเป็นโฟลเดอร์แรกเริ่มต้น 'e' แต่ไม่ได้เป็นโฟลเดอร์ที่ฉันต้องการ! ฉันควรทำอะไรตอนนี้ - เป็นไปได้ไหมที่จะทำให้แอลเบเนียเข้าสู่นอร์เวย์? หรือฉันต้องยกเลิกคำสั่งด้วยEscapeและพิมพ์ทุกอย่างตั้งแต่เริ่มต้น?


คุณสามารถใช้เมนูเช่น เมนูชุด?
Endoro

ในขณะนี้คำตอบของสเตฟานนั้นถูกต้องสำหรับคุณ เพียงพิมพ์cd eและจากนั้นกดTABปุ่ม สิ่งที่ Windows กำลังทำอยู่ที่นี่มันเริ่มเรียงลำดับโฟลเดอร์ตามลำดับตัวอักษรเป็นคำ เช่นเดียวกับEurope-albaniaก่อนหน้าeurope-norwayนี้เพียงกดปุ่มTABต่อเนื่องจนกว่าคุณจะไม่ได้รับสารบบที่คุณต้องการ
avirk

5
@Avirk ดังนั้นวิธีที่เร็วที่สุดจากแอลเบเนียถึงนอร์เวย์คือการกดแป้น tab 27 ครั้ง?
พันเอก Panic

คำตอบ:


47

อัปเดต 1 ปี : ฉันได้ข้อสรุปว่าการเติมข้อความอัตโนมัติของ Cmd ไม่สามารถใช้งานได้และหยุดใช้งาน

ฉันติดตั้งClinkซึ่งให้การเติมข้อความอัตโนมัติสไตล์ Bash ใน Cmd

Clink รวมเชลล์ cmd.exe ของ Windows ดั้งเดิมกับคุณสมบัติการแก้ไขบรรทัดคำสั่งอันทรงพลังของไลบรารี GNU Readline ซึ่งให้ความสามารถในการเติมเต็มประวัติและความสามารถในการแก้ไขบรรทัดให้สมบูรณ์

มันยอดเยี่ยม


ช่างเป็นอะไรที่น่าอัศจรรย์ใจ!
ysap

ใช่เสียงกริ๊กที่ดีที่สุดสำหรับเรื่องนี้ ฉันใช้ Clink และ Git สำหรับ Windows เพื่อให้ทางเลือกที่ดีกว่า cmd
แมตต์

ซึ่งแตกต่างจากเปลือก bash นี้ไม่ได้ชื่อไฟล์ที่สมบูรณ์โดยอัตโนมัติ
Yashbhatt

15

Cygwinจะอนุญาตให้คุณเรียกใช้ Bash shell (นอกเหนือจากซอฟต์แวร์สภาพแวดล้อม POSIX อื่น ๆ ) ใน Windows

มิฉะนั้นคุณอาจลองเชลล์ทางเลือกแทนที่จะเป็น Command Prompt แบบโบราณเพื่อค้นหาเชลล์ที่เหมาะกับความต้องการของคุณมากที่สุด

นี่คือรายการของคอนโซลที่เลียนแบบการทุบตีบน Windows:

win-bash
Road Bash
Git Bash อธิบายไว้ในบทความนี้

คอนโซลอื่น ๆ :

Windows PowerShellของ Microsoft และคอนโซลบทความวิกิพีเดีย (ทรงพลังที่สุด) พร้อมบทความColorConsole PowerCmd GS.EXE PyCmd




[ แก้ไข ] ฉันได้ค้นพบตั้งแต่Cmderซึ่งเป็นการแทนที่คอนโซลแบบตารางที่ยอดเยี่ยมซึ่งยังนำมาซึ่งพฤติกรรมเชลล์เชลล์จำนวนมากรวมถึงพอร์ตของแอปพลิเคชันการจัดการไฟล์ Linux มากมายเช่น grep


3
+1 cmd เป็นข้อแก้ตัวที่น่าสมเพชสำหรับเชลล์มาโดยตลอดและไมโครซอฟท์ได้ยกเลิกการพัฒนามานานแล้ว เนื่องจากคุณเป็นนักแสดงที่ทุบตีแล้วตัวเลือกที่ดีที่สุดของคุณจะใช้งานต่อไปได้โดยการติดตั้ง Cygwin
Andrew Schulman

1
แน่นอน PowerShell ที่ดีที่สุดในรายการที่มิ)
เทย์เลอร์กิบบ์

ให้เสร็จสมบูรณ์รายการอีกเล็กน้อย: นอกจากนี้ยังมี4DOSหรือดีกว่า4NTทั้งสองได้รับความนิยมมากกว่าในอดีตและมีประสิทธิภาพมากขึ้นกว่าหรือcommand.com cmd.exeดูเหมือนว่าTake Command( jpsoft.com/take-command-windows-scripting.html ) เป็นตัวตายตัวแทนของพวกเขา อย่างไรก็ตามฉันไม่เคยใช้มันเป็นการส่วนตัว (และเป็นการค้า)
mpy

1
ใน Win7 ของฉันการเติมข้อความอัตโนมัติของ PowerShell (โดยใช้ TAB) (ผิดพลาด) จะทำงานเหมือนกับใน CMD
ysap

11

กดปุ่มTABสลับเพื่อผ่านไดเรกทอรีที่มีอยู่ทั้งหมด

พยายามที่จะใส่เพียงcdแล้วTABสำหรับไม่กี่ครั้งและคุณจะเห็นหลักการ

cd countries/europe-s[TAB][TAB] 

ตัวอย่างเช่นจะนำคุณเข้าสู่การแข่งขันที่สอง (ประเทศ / europe-serbia)


4

Bash ใน linux พยายามจับคู่และป้อนอักขระแรกทั้งหมดที่เหมือนกันกับไฟล์ทั้งหมดโดยอัตโนมัติ

พร้อมท์คำสั่ง windows ในทางกลับกันเพียงป้อนคำสั่งให้ป้อนคำสั่งอัตโนมัติด้วยองค์ประกอบแรกที่ตรงกัน

เช่น: ใน linux bash: หลังจากพิมพ์ cd countries \ e TAB, bash จะไปยัง countries \ europe- เนื่องจากตรงกับชื่อไฟล์ทั้งหมดที่ขึ้นต้นด้วย e และจากนั้นคุณสามารถป้อนอักขระสองสามตัวถัดไปและกดTABอีกครั้ง

ในพรอมต์คำสั่งของ Windows: หลังจากพิมพ์ cd countries \ e TABพรอมต์คำสั่งจะจับคู่ชื่อไฟล์ที่เป็นไปได้แรกที่เริ่มต้นด้วย e, europe-albania ในกรณีของคุณ แต่ยังจำได้ว่าคุณป้อน 'e' เท่านั้น ดังนั้นหากคุณกดTABอีกครั้งมันจะแสดงการแข่งขันที่เป็นไปได้ต่อไป (เรียงตามตัวอักษร), ยุโรปและอันดอร์รา

หากคุณต้องการไปยุโรปเร็วกว่านอร์เวย์คุณสามารถ:

  1. พิมพ์ europe-no แล้วกดTABor
  2. พิมพ์ e แล้วกดTABต่อไปเรื่อย ๆ จนกระทั่งมันแสดงว่ายุโรป - นอร์เวย์

2

อัปเดต: Git Bash สวยมากทุกอย่างที่ฉันต้องการ

ใช้ PowerShell ISE แทนที่จะเป็น PowerShell ให้นี้คุณสามารถเข้าถึง IntelliSense อัตโนมัติสมบูรณ์ซึ่ง spawns รายการของตัวเลือกเมื่อพิมพ์หรือ+Ctrl SpaceISE ยังเปิดโอกาสที่น่าสนใจอื่น ๆ อีกมากมายเช่นการเติมแท็บและสิ่งอื่น ๆ

ข้อเสียคือไม่รองรับแอปพลิเคชันแบบโต้ตอบเช่น ssh หรือ python shell

ฉันเริ่มใช้ConEmuจริงวันนี้เพราะข้อเสียนี้ ConEmu สวยเท่ห์

Windows PowerShell Integrated Scripting Environment (ISE) เป็นหนึ่งในสองโฮสต์สำหรับเอ็นจิ้น Windows PowerShell และภาษา ด้วยคุณสามารถเขียนรันและทดสอบสคริปต์ด้วยวิธีที่ไม่สามารถใช้ได้ใน Windows PowerShell Console ISE เพิ่มการกำหนดสีไวยากรณ์การเติมแท็บ IntelliSense การดีบักแบบเห็นภาพและวิธีใช้แบบตามบริบท

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

https://technet.microsoft.com/en-us/library/dd819514.aspx



1

กดTabปุ่มค้างเพื่อเลื่อนไปข้างหน้าผ่านตัวเลือกและShift+ Tabเพื่อวน

Right arrow →กุญแจจะทำซ้ำ cmdline 1 ตัวอักษรครั้งสุดท้าย ฉันพบว่ามีประโยชน์เมื่อเปลี่ยนชื่อไฟล์

เช่น:

ren file.1.mp4 Guitar.Licks.01.Pentatonic.2.notes.per.string.mp4

กดค้างไว้right arrow →จนกระทั่ง 1 จากนั้นพิมพ์ 2 กดลูกศรขวาค้างที่ 1 จากนั้นพิมพ์ 2 กดลูกศรขวาค้างที่ 2 จากนั้นพิมพ์ 3 ค้างลูกศรขวาค้างไว้จนจบ ผลลัพธ์จะเป็น ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4

เคล็ดลับลูกศรขวานั้นเจ๋ง แต่น่าเสียดายที่มันใช้งานไม่ได้Ctrl+Tabและฉันไม่เคยกดปุ่มนั้นเพื่อไปยังจุดสิ้นสุดของบรรทัด กดลูกศรขึ้นแล้วHomeหรือCtrl+Tabที่จะแก้ไขตัวอักษรไม่กี่จะได้เร็วขึ้นมาก
phuclv

1

ใน Windows 10 ชื่อไฟล์และชื่อสมบูรณ์ของไดเรกทอรีสามารถใช้อักขระตัวแทน

สำหรับตัวอย่างของการเปลี่ยนเป็น europe-norway คำสั่งใดคำสั่งหนึ่งควรทำงาน:

cd *nor*<tab>

หรือ

cd *way<tab>

คุณสามารถใช้ '*' หลายอันและไม่มีการนำหน้าหรือต่อท้ายแบบ 'นัย' โดยปริยาย


1

ค่อนข้างง่ายโดยใช้ regedit:

1) Start -> Run -> regedit 2) Traverse ต่อไปนี้สำหรับผู้ใช้ปัจจุบันหรือผู้ใช้ทั้งหมดของระบบ

ตัวประมวลผล HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command ตัวประมวลผล HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command

3) ดับเบิลคลิกที่ตัวประมวลผลคำสั่งและเปลี่ยนค่าเป็น "9" เป็นทศนิยมหรือ "0x9" ในฐานสิบหก 4) สิ่งนี้จะทำให้ TAB สามารถทำให้สมบูรณ์อัตโนมัติได้

เปิดพรอมต์คำสั่งของคุณอีกครั้งและลองใช้งาน


0

ใน windows 10 (7?) ให้ใช้แท็บ shift + เพื่อวนตัวเลือกการเติมข้อความอัตโนมัติที่มีอยู่ซึ่งให้เส้นทางบางส่วน

เมื่อเรียกโดยไม่มีสิ่งใดมันจะวนไปตามตัวเลือกที่มีอยู่ทั้งหมดในไดเรกทอรี


1
นี้ไม่ทำอะไรเลยShift+Tabเพียงฝืนคำสั่ง iteratingเช่นเดียวกับการเพิ่มการเปลี่ยนไปใช้ทางลัดสลับอื่น ๆ เช่นCtrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... ด้วยแท็บคนเดียวคุณจะยังวงจรผ่านตัวเลือกที่มีอยู่ทั้งหมดในไดเรกทอรี
phuclv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.