มีบรรทัดคำสั่งของ Windows ที่มีการเติมข้อความอัตโนมัติเหมือนประวัติอัจฉริยะ / คำสั่งแบบสมาร์ทหรือไม่?


21

ฉันเพิ่งเริ่มใช้ bash และค้นพบคุณสมบัติที่ยอดเยี่ยมบางอย่าง (ไม่จำเป็นต้องออกจากกล่อง แต่สามารถกำหนดค่าได้):

  • ลูกศรขึ้น / ลงรองรับการทำให้สมบูรณ์บางส่วน: พิมพ์ "git" กดลูกศรขึ้นแล้วคุณจะสามารถเรียกดูคำสั่งล่าสุดที่ขึ้นต้นด้วย "git" (แม้ในช่วงก่อนหน้านี้!)
  • Ctrl-R จะค้นหาประวัติคำสั่งของคุณ (เรียกว่า reversed-i-search ด้วยเหตุผลบางอย่าง)
  • อีกหลายคนที่ฉันไม่ทราบฉันแน่ใจ

cmd.exe เป็นทางเลือกที่ดีสำหรับ Windows ที่สนับสนุนคุณสมบัติดังกล่าวหรือไม่ ฉันได้อ่านคำตอบยอดนิยมสำหรับคำถามนี้แล้ว แต่ไม่พบว่ามีตัวเลือกยอดนิยมใดสนับสนุนหรือไม่


2
คุณเคยลองใช้ F7 ในพรอมต์คำสั่งหรือไม่
William Hilsum

ฉันไม่ได้. และผลลัพธ์แรกของ Google (จากปี 2005 ไม่น้อยกว่า) ก็คือ Coding Horror! codinghorror.com/blog/2005/07/stupid-command-prompt-tricks.html ตอนนี้แค่ตอบคำถามส่วนอื่นของคำถามของฉันแล้วฉันจะตื่นเต้นมากขึ้น
ripper234

1
น่าเสียดายที่ผู้ใช้ Windows มักจะใช้ระบบที่มาพร้อมกับและไม่มีการทดแทน cmd.exe ที่เป็นที่นิยม Cygwin มีการใช้กันอย่างแพร่หลายในฐานะ "จำลอง" Linux สำหรับ Windows คุณอาจลอง @ วิลเลียม: ดีไม่ทราบ แต่คุณเคยลองทุบตี ? ทุบตีจดจำคำสั่งของเซสชันเก่าไม่เพียง แต่เซสชันปัจจุบัน และยังกรองผลลัพธ์ในสถานะ ripper234 ไม่ต้องพูดถึงการแปลงลิงก์ให้เป็น URL ที่ถูกต้องเลื่อนด้วยเมาส์บนแอปพลิเคชันเทอร์มินัลและรายการยาว ... และ btw ทำไมคุณยังไม่สามารถปรับขนาดหน้าต่างพร้อมรับคำสั่งแนวนอนได้ สิ่งนี้จะทำให้ฉัน
สับสน

การcmdแทนที่ที่ได้รับความนิยมสองรายการจะกล่าวถึงทั้งด้านล่าง (โดยparadroidและRedGrittyBrick) และในคำตอบไฮเปอร์ลิงก์ไปยังด้านบนและคำถามหลังของคุณจะขึ้นอยู่กับหลักฐานที่ไม่ถูกต้องที่สังเกตได้ ฉันเพิ่งใช้เมาส์เพื่อปรับขนาดหน้าต่างคอนโซลตามแนวนอนด้วยตัวเอง
JdeBP

คำตอบ:


22

ดาวน์โหลดและติดตั้งคอนโซล Powershell 2.0 (หากคุณใช้ Windows 7 จะได้รับการติดตั้งแล้ว)

รองรับคำสั่งดั้งเดิมทั้งหมดรวมถึง alias, macros และอื่น ๆ ...

นี่คือบางส่วนมีเคล็ดลับขั้นพื้นฐาน

พลังงานเปลือกโต้ตอบ

get-history: แสดงรายการคำสั่งที่ป้อนก่อนหน้านี้

invoke-history 35:รันคำสั่ง # 35 ในได้รับประวัติศาสตร์รายการ

`: กดปุ่ม apostrophe ย้อนหลังเพื่อแทรกตัวแบ่งบรรทัดหรือเป็น> อักขระเลี่ยงเพื่อสร้างอักขระตามตัวอักษร นอกจากนี้คุณยังสามารถแบ่งบรรทัดที่อักขระไพพ์ (|)

Alt+ + Space E: แสดงเมนูทางลัดแก้ไขกับมาร์คคัดลอกวางเลือกทั้งหมดเลื่อนและค้นหาตัวเลือก จากนั้นคุณสามารถกดKเพื่อทำเครื่องหมายYสำหรับคัดลอกPสำหรับวางSเลือกทั้งหมดLเพื่อเลื่อนดูบัฟเฟอร์หน้าจอหรือFเพื่อค้นหาข้อความในบัฟเฟอร์หน้าจอ ในการคัดลอกกันชนหน้าจอไปยังคลิปบอร์ดกดAlt+ Space + E+ SและกดAlt+ Space E+ Y+

Alt+ F7: ล้างประวัติคำสั่ง

Ctrl+ C: แยกออกจาก subprompt หรือยุติการดำเนินการ

Ctrl+ End: ลบอักขระทั้งหมดในบรรทัดหลังเคอร์เซอร์

Ctrl+ Left Arrow|| Ctrl+ Right Arrow: เลื่อนไปทางซ้ายหรือขวาทีละคำ

Ctrl+ S: หยุดชั่วคราว || ดำเนินการแสดงผลต่อ

Esc ล้างบรรทัดปัจจุบัน

F1ย้ายเคอร์เซอร์หนึ่งอักขระไปทางขวาบนบรรทัดคำสั่ง ที่ส่วนท้ายของบรรทัดให้แทรกอักขระหนึ่งตัวจากข้อความคำสั่งสุดท้ายของคุณ

F2 สร้างบรรทัดคำสั่งใหม่โดยการคัดลอกบรรทัดคำสั่งสุดท้ายของคุณจนถึงตัวอักษรที่คุณพิมพ์

F3 เสร็จสิ้นบรรทัดคำสั่งด้วยเนื้อหาจากบรรทัดคำสั่งสุดท้ายของคุณเริ่มต้นจากตำแหน่งเคอร์เซอร์ปัจจุบันไปยังจุดสิ้นสุดของบรรทัด

F4 ลบอักขระจากบรรทัดคำสั่งปัจจุบันของคุณเริ่มต้นจากตำแหน่งเคอร์เซอร์ปัจจุบันจนถึงอักขระที่คุณพิมพ์

F5 สแกนย้อนหลังผ่านประวัติคำสั่งของคุณ

F7get-historyเพื่อที่คล้ายกัน แสดงหน้าต่างป๊อปอัพที่มีประวัติคำสั่งของคุณและช่วยให้คุณเลือกคำสั่ง ใช้ปุ่มลูกศรเพื่อเลื่อนดูรายการ กดEnterเพื่อเลือกคำสั่งเพื่อเรียกใช้หรือกดRight arrowเพื่อวางข้อความบนบรรทัดคำสั่ง

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

F9รันคำสั่งที่กำหนดหมายเลขเฉพาะจากประวัติคำสั่งของคุณ ตัวเลขคำสั่งมีการระบุไว้เมื่อคุณกดหรือF7get-history

Page Up/ Page Down: รับคำสั่งแรก /คำสั่งสุดท้ายในประวัติคำสั่ง

คลิกขวาหาก QuickEdit ถูกปิดใช้งานแสดงเมนูทางลัดการแก้ไขด้วยตัวเลือกทำเครื่องหมายคัดลอกวางเลือกทั้งหมดเลื่อนและค้นหา ในการคัดลอกบัฟเฟอร์หน้าจอไปยังคลิปบอร์ดคลิกขวาเลือกเลือกแล้วกด Enter

Tab/ Shift+ Tab: กดปุ่ม Tab หรือกด Shift + Tab เพื่อเข้าถึงฟังก์ชั่นการขยายแท็บซึ่งรวมถึงการเติมข้อความอัตโนมัติในโฟลเดอร์หรือชื่อไฟล์


มันรองรับการค้นหาประวัติบางส่วนหรือไม่?
ripper234

1
ใช่พิมพ์สตริงที่คุณต้องการค้นหาและกด F8
surfasb

นั่นเป็นภาพรวมที่ครอบคลุมมากของการควบคุมคีย์บอร์ด PowerShell
Paradroid

ฉันจะขูดรายการต้องมีโมดูล Powershell ในภายหลัง . .
surfasb

1
@surfasb: คุณควรรวม PowerTab เนื่องจากเกี่ยวข้องกับคำตอบนี้ การแท็บด้วยเหมือน IntelliSense
Paradroid

11

คุณไม่จำเป็นต้องเปลี่ยน Command Prompt! Windows มีคุณสมบัติเหล่านี้มากมายที่รวมอยู่ในพรอมต์คำสั่งเช่น:

  • ประวัติคำสั่ง: F7และF9

  • เพิ่มครั้งละ 1 ตัวอักษรจากคำสั่งก่อนหน้า: F1

  • ทำไดเรกทอรีและชื่อไฟล์ให้สมบูรณ์โดยอัตโนมัติ: Tab

มีลูกเล่นมากขึ้น แต่คุณจะต้องดูต่อไปใน Google เพราะฉันหาเว็บไซต์ที่มีรายชื่อไม่ครบ


11

เสียงกริ๊กขยายบรรทัดคำสั่งของ Windows และเพิ่มคุณสมบัติต่อไปนี้

  • การแก้ไขบรรทัด Bash-like อันทรงพลังจากไลบรารี Readline ของ GNU
  • การเสร็จสิ้นเส้นทางที่เหนือกว่า (TAB)
  • วางจากคลิปบอร์ด (Ctrl-V)
  • สนับสนุนความสมบูรณ์ของ executables / คำสั่งและตัวแปรสภาพแวดล้อม
  • เลิกทำ / ทำซ้ำ (Ctrl-_ หรือ Ctrl-X, Ctrl-U) ปรับปรุงประวัติบรรทัดคำสั่ง ยังคงมีอยู่ในช่วง
  • ค้นหาได้ (Ctrl-R และ Ctrl-S) การขยายประวัติ (เช่น !!,!, และ! $) การเขียนสคริปต์ให้เสร็จโดยใช้ Lua

สมบูรณ์ มันทำให้ cmd.exe มีประโยชน์มากขึ้น
เบต้า

5

Win-ทุบตี ?

ทุบตีแบบสแตนด์อโลนสำหรับ Windows

win-bash เป็นหน้าต่างพอร์ตของ GNU bash ที่มีชื่อเสียง (ดูหน้าแรกของ GNU Bash)

ต่างจากพอร์ต bash อื่น ๆ สำหรับ windows (เช่น cygwin bash) win-bash ไม่จำเป็นต้องมีสภาพแวดล้อมพิเศษหรือ DLLs มีเพียงหนึ่งไบนารีและนั่นคือมัน

ฉันไม่แน่ใจว่าการทำงานและความน่าเชื่อถือนี้เป็นอย่างไร


นอกจากนี้ยังมีคำสั่ง takeของ jpsoftware - แต่อุ๊ปส์ที่ถูกกล่าวถึงในคำถามอื่น ๆ ที่คุณพูดถึงดังนั้นจึงไม่น่าจะทำสิ่งที่คุณต้องการ


ที่จริงแล้ว Take Command จะทำสิ่งที่ xe ต้องการ มันมีประวัติคำสั่งทั่วโลกที่สามารถจำได้แม้ว่าจะไม่มีล่ามคำสั่งกำลังทำงานอยู่ มันมีการกรองรายการประวัติและการแก้ไข ฉันเดาว่า "คำตอบยอดนิยม" ไม่ยืด # 5 ☺
JdeBP

@JdeBP - ใช้คำสั่งเป็นเรื่องเกี่ยวกับ # 12 ในรายการ
ripper234

SuperUser กำลังแสดงว่าเป็นคำตอบที่ห้าเมื่อดูที่นี่
JdeBP

1
คุณสามารถจัดเรียงคำตอบตาม "ใช้งาน", "เก่าที่สุด" หรือ "ลงคะแนน" โดย "โหวต" เป็นค่าเริ่มต้นและ SuperUser ก็ดูเหมือนจะสุ่มคำตอบด้วยคะแนนโหวตเท่ากัน - ฉันพบว่าการรีเฟรชหน้าเปลี่ยนลำดับ ..
RedGrittyBrick

1
@ ripper234: คุณกำลังพูดถึงอะไร? Win-Bash อัปเดตเมื่อเดือนมีนาคมที่ผ่านมา
Paradroid

3

Take Commandได้รับการกล่าวถึงแล้ว แต่ TCC / LE (ชุดย่อย) เป็นการแทนที่ฟรี CMDพร้อมกับคุณสมบัติคำสั่งและความสามารถในการปรับแต่งได้มากมาย มันเป็นไปในทางที่ให้ประสบการณ์เหมือนทุบตีเท่าที่แป้นพิมพ์ลัด, นามแฝงและสีไป

มันสามารถทำบางสิ่งที่คุณพูดถึงรวมถึงการทำประวัติUp/Downลูกศรให้สมบูรณ์ CTRL-Bทำซ้ำเส้นทางจากคำสั่งก่อนหน้า ลองพิมพ์optionเพื่อดูตัวเลือกทั้งหมด

TCC/LEยังใช้งานได้อย่างมากภายในConsole2

นอกจากนี้คุณสามารถใช้ทุบตีบน Windows กับCygwinได้


1

เปิดแหล่งที่มาPyCmd Command Prompt ขยายไม่มากที่สุดของสิ่งที่คุณขอ

วัตถุประสงค์คือเพื่อเลียนแบบคุณลักษณะด้านพลังงานบางประการของ UNIX shells (การแท็บที่สมบูรณ์, ประวัติถาวร, ฯลฯ )

ภาพ

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