ฉันชอบยืดเทอร์มินัลของฉันบนยูนิกซ์ ประวัติหรือเหตุผลเบื้องหลังบรรทัดคำสั่ง windows ง่อยคืออะไร?
ฉันชอบยืดเทอร์มินัลของฉันบนยูนิกซ์ ประวัติหรือเหตุผลเบื้องหลังบรรทัดคำสั่ง windows ง่อยคืออะไร?
คำตอบ:
มันไม่ใช่ คุณสามารถคลิกขวาที่แถบชื่อเรื่องเลือกคุณสมบัติและในแท็บ "เค้าโครง" เปลี่ยนขนาดบัฟเฟอร์ของหน้าจอ (ความกว้างของเส้นและการเลื่อนกลับ) และขนาดหน้าต่าง (ขนาดวิวพอร์ต) หากคุณเริ่ม cmd จากทางลัดคุณสามารถบันทึกการตั้งค่าเหล่านี้สำหรับเซสชันในอนาคตได้
หากคุณเป็นโรคเมาส์คุณสามารถพิมพ์สิ่งนี้ในหน้าต่าง cmd:
mode <cols>,<lines>
mode 80,25
mode 120,50
etc.
มันไม่ จำกัด
คุณอาจต้องการที่จะตรวจสอบคอนโซล เป็นแอปโอเพนซอร์สที่ให้คุณเรียกใช้เชลล์หลายตัวในสภาพแวดล้อมแบบแท็บ คุณยังสามารถตั้งค่าความโปร่งใสอัลฟาของเชลล์
RE: เนื่องจาก MS ให้ความสำคัญกับ "ความเข้ากันได้แบบย้อนกลับ" ในหลาย ๆ สิ่งและในกรณีนี้ฉันสงสัยว่ามันเป็นความเชื่อที่ผิดที่จะทำให้คนไม่สบายใจถ้าพวกเขาไม่มีหน้าต่างกว้าง 80 มาตรฐาน
แม้ว่าความเข้ากันได้แบบย้อนกลับจะทำงานได้ค่อนข้างแย่ ฉันไม่คิดว่า Microsoft จะละเอียดถี่ถ้วนเกี่ยวกับการใช้งานมันและฉันเชื่อว่า Microsoft เป็นโปสเตอร์เด็กเพราะแน่ใจว่าเวอร์ชันที่ใหม่กว่าจะไม่สามารถใช้งานได้กับเวอร์ชันเก่า จำนวนมากทำงานไม่ถูกต้องภายใต้ COMMAND.COM ซึ่งเป็นการทำลายประโยชน์ที่มีอยู่อย่างมากไม่ต้องพูดถึงว่าคุณต้องเข้า DOSONLY เพื่อให้บางโปรแกรมทำงานได้อย่างถูกต้องรวมทั้ง Microsoft ได้ลบคำสั่งที่มีประโยชน์ออกไป จริงๆแล้วฉันนึกไม่ถึงว่า Microsoft จะถือ "ความเข้ากันได้แบบย้อนกลับ" ในเรื่องที่สูงมาก
นอกจากนี้ฉันคิดว่าสาเหตุที่แท้จริงที่ความยาวบรรทัดอยู่ที่มาตรฐาน 80 คอลัมน์เป็นเพราะโปรแกรมบรรทัดคำสั่งส่วนใหญ่ ฯลฯ ทำงานภายใต้สมมติฐานที่ว่าผู้ใช้ถูกต่อยอดที่พร้อมต์ 80 คอลัมน์ซึ่งหมายความว่าการเพิ่มความกว้างอาจทำให้เกิด การจัดรูปแบบผิดพลาดหรือแย่กว่านั้นคืออาจทำให้โปรแกรมเสียหายทั้งหมด
ดังที่ได้กล่าวไว้ jmucchiello MODE จะทำงานได้ดีในการปรับขนาดหน้าต่างหากคุณรู้สึกต้องการ
กำหนดค่าอุปกรณ์ระบบ พอร์ตอนุกรม: MODE COMm [:] [BAUD = b] [PARITY = p] [DATA = d] [STOP = s] [to = on | off] [xon = on | off] [odsr = on | off] [octs = on | off] [dtr = on | off | hs] [rts = on | off | hs | tg] [idsr = on | off] สถานะอุปกรณ์: MODE [อุปกรณ์] [/ STATUS] การพิมพ์เปลี่ยนเส้นทาง: MODE LPTn [:] = COMm [:] เลือกโค้ดเพจ: MODE CON [:] CP SELECT = yyy สถานะหน้ารหัส: MODE CON [:] CP [/ STATUS] โหมดการแสดงผล: MODE CON [:] [COLS = c] [LINES = n] อัตราโดยทั่วไป: MODE CON [:] [RATE = r DELAY = d]
หากคุณเปิดใช้งาน DOSONLY บน CONFIG.NT ของคุณอย่างไรก็ตามเมื่อคุณเปิด COMMAND.COM มันจะสืบทอดความละเอียดบรรทัดสไตล์ DOS ที่เหมาะสมจาก cmd.exe แต่คุณไม่สามารถเรียกใช้ MODE จากภายใน COMMAND.COM หากคุณต้องการปรับขนาดภายใน COMMAND.COM คุณจะต้องใช้คำแนะนำในการประกอบ 16 บิตดังนี้:
ความละเอียดเส้น 80x50 (ไม่มีเฟรมบัฟเฟอร์, ไม่มี SVGA, รองรับแทบจะในระดับสากล)
แก้ปัญหา A100 MOV AX, 1112 INT 10 INT 20 ช ถาม
ความละเอียดบรรทัด 132x60 (ไม่มีเฟรมบัฟเฟอร์ต้องใช้ SVGA ไม่ทำงานบนการ์ด ATI gfx โดยปกติจะทำงานบนการ์ด nVidia gfx afaict ทำงานบนการ์ด gfx ในตัวของ Intel เสมอ)
แก้ปัญหา A100 MOV AX, 4F02 MOV BX, 010C INT 10 INT 20ช ถาม
หากคุณป้อนสิ่งนี้ใน COMMAND.COM ของคุณมันจะให้ความละเอียดที่ระบุ (คำเตือน: หากจอภาพของคุณเก่าพอที่จะไม่รองรับโหมดนี้คุณอาจจะต้องทำลายมันทิ้งหมายเหตุด้านข้าง: หากคุณสามารถเรียกใช้ Windows จอภาพของคุณก็น่าจะใช้ได้ข้อจำกัดความรับผิดชอบ: ควรเน้นย้ำและคุณได้รับคำเตือน ดังนั้นจึงไม่ใช่ปัญหาของฉันหากจอภาพของคุณทอด ;-) อย่างไรก็ตามหากคุณใช้สิ่งนี้โดยไม่ได้เปิดใช้งาน DOSONLY COMMAND.COM จะปรับขนาดกลับเป็นขนาดก่อนหน้าทันทีที่แอปพลิเคชัน (ในกรณีนี้เว้นแต่คุณจะเขียนลงใน ไฟล์และดำเนินการนั้น DEBUG) ออก
หรือคุณสามารถใช้ MODE.COM ของ FreeDOS ซึ่งจะทำงานอย่างถูกต้องภายใต้ COMMAND.COM ที่ตั้งค่าเป็น DOSONLY คุณสามารถดึงภาพจากดิสก์อิมเมจได้ที่เว็บไซต์อย่างเป็นทางการ (freedos.org) หรือรับได้ที่http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/
ใหม่ FreeDOS MODE โดย Eric Auer 2003-2005 ใบอนุญาต: GPL. (รุ่น 12may2005) MODE [อุปกรณ์] [/ STA [TUS]] (แสดงสถานะของอุปกรณ์หนึ่งเครื่องหรือทั้งหมด) MODE LPTn [:] cols [, [lines] [, retry]] (cols หรือ cpi, 6/8 lpi, ลอง p หรือ n อีกครั้ง) MODE LPTn [:] [COLS = ... ] [LINES = ... ] [RETRY = ... ] (ลองใหม่: p infinite / n none) MODE LPTn [:] = [COMn [:] | NUL] (เปลี่ยนเส้นทางข้อมูลเครื่องพิมพ์ไปยังพอร์ตอนุกรมหรือ NUL) MODE COMn [:] baud, parity, data, stop, ลองใหม่ (อนุญาตค่าว่าง) โหมด COMn [:] [BAUD [HARD] = ... ] [PARITY = ... ] [DATA = ... ] [STOP = ... ] [RETRY = ... ] Baud สามารถย่อให้เป็นคำนำหน้าที่ไม่ซ้ำกันได้ความเท่าเทียมกันสามารถเป็น o / e / n / s / m, หลัง 2 ช่องว่าง / เครื่องหมายเฉลี่ยข้อมูลได้ 5..8 หยุด 1..2 การลองใหม่ถูกเพิกเฉย! วางแผนแล้ว: ลองอีกครั้ง b / e / r -> busy / error / ready if busy, p / n infinite / no retry. MODE CON [:] [CP | CODEPAGE] [/ STA [TUS]] (ต้องโหลด FreeDOS DISPLAY) MODE CON [:] [CP | CODEPAGE] REF [RESH] (ต้องการ DISPLAY) MODE CON [:] [CP | CODEPAGE] SEL [ECT] = number (ต้องการ DISPLAY) MODE CON [:] [CP | CODEPAGE] PREP [ARE] = ((codepage) filename) (ต้องการ DISPLAY) ใช้ PREP = ((, cp2, cp3,, cp5) ... ) เพื่อเตรียมโค้ดเพจในบัฟเฟอร์อื่น ๆ MODE [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, แถว] (แถวสามารถเป็น 25, 28, 43 หรือ 50) ใช้ 8, 14 หรือ 16 เป็นค่า 'แถว' หากคุณต้องการเปลี่ยนฟอนต์เท่านั้น MODE [CO40 | CO80 | ... ], [R | L] [, T] (เลื่อน CGA ไปทางซ้าย / ขวา, T คือโหมดโต้ตอบ) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = ค่า ค่าสามารถเป็น: + หรือ - สำหรับล็อคหรืออักขระสำหรับ switchar MODE CON [:] [COLS = ... ] [LINES = ... ] (ค่าที่เป็นไปได้ขึ้นอยู่กับฮาร์ดแวร์ของคุณ) MODE CON [:] [RATE = ... ] [DELAY = ... ] (อัตราเริ่มต้น 20 ความล่าช้าเริ่มต้น 1) อัตราได้ 1..32 สำหรับ 2..30 ถ่าน / วินาทีหน่วงเวลาได้ 1..4 เป็นเวลา 1 / 4..4 / 4 วินาที
ด้วยเหตุผลเดียวกันกับรหัส ASM ที่ฉันให้ไว้เว้นแต่คุณจะดำเนินการใน COMMAND.COM โดยเพิ่ม DOSONLY ลงในไฟล์ CONFIG.NT ของคุณหน้าต่างจะเด้งกลับไปเป็นขนาดก่อนหน้าทันทีเมื่อ MODE.COM ออก
สุดท้ายตามที่คนอื่น ๆ ระบุไว้คุณสามารถปรับเปลี่ยนการตั้งค่าเหล่านี้ได้ง่ายๆเพียงคลิกขวาที่แถบหัวเรื่องของพรอมต์คำสั่งและแก้ไขคุณสมบัติ -> เลย์เอาต์ ในทำนองเดียวกันคุณสามารถตั้งค่าความละเอียดสำหรับทางลัดไปยัง CMD.EXE และไฟล์แบทช์ (คลิกขวาที่ทางลัด -> คุณสมบัติ -> เค้าโครง) สิ่งนี้ใช้ได้กับ CMD.EXE เท่านั้นไม่ใช่ COMMAND.COM
คำสั่งง่ายๆในการแก้ไขขนาดหน้าต่างที่ฉันใช้ตลอดเวลา:
wmic
มันจะเปิดบรรทัดคำสั่ง Windows Management Instrumentation และลบขีด จำกัด ขนาด แล้วก็ใกล้กับ+CtrlC
ฉันไม่รู้ประวัติเบื้องหลัง แต่รายการสิ่งที่อยากได้จากผู้เขียน PuTTy เป็นโพสต์ที่น่าสนใจที่อธิบายถึงอุปสรรคทางเทคนิคที่เกี่ยวข้องกับการเปลี่ยน cmd.exe ทุกประเภทที่ไม่ง่อย:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
คุณไม่ได้พูดถึงว่าคุณกำลังมองหาสิ่งทดแทน แต่ถ้าเป็นเช่นนั้นคุณอาจตรวจสอบการแทนที่ cmd.exe บางอย่างเช่นConsole 2หรือ JP Software's Take Command เป็นต้นฉันยังมีประสบการณ์ที่ดีกับ PuTTy- Cyg ซึ่งให้คุณใช้ PuTTy เป็นเปลือก cygwin
ในขณะที่ความกว้างไม่ จำกัด เป็นคำตอบอื่น ๆ แสดงให้ฉันได้พบเสมอว่ามันแปลกที่หนึ่งสามารถลากและปรับขนาดความสูงด้วยเมาส์ แต่ไม่กว้าง
ฉันคิดว่าความกว้าง 80 อักขระเริ่มต้นเกี่ยวข้องกับความเข้ากันได้กับโปรแกรมเก่าที่ถือว่าเทอร์มินัลไม่กว้างเกิน 80 อักขระ ฉันไม่คิดว่านี่เป็นเหตุผลที่เป็นจริงสำหรับทศวรรษที่ผ่านมา
ดังที่คนอื่น ๆ ได้ชี้ให้เห็นว่ามันไม่ได้ จำกัด ไว้ที่ 80 ตัวอักษร แต่ฉันเดาว่าทำไมค่าเริ่มต้นถึง 80 ตัวอักษรน่าจะเป็นเพราะมันเหลือจากวัน DOS ที่การแสดง CRT กว้าง 80 อักขระ
คุณยังสามารถใช้แอปพลิเคชันเทอร์มินัลอื่นเช่นConsole2ซึ่งช่วยให้คุณปรับขนาดหน้าต่างได้ตามที่คุณต้องการ (นอกเหนือจากสิ่งอื่น ๆ เช่นความโปร่งใสและความสามารถในการใช้แบบอักษรที่คุณต้องการ) มันเป็นแอปพลิเคชั่นที่ยอดเยี่ยมฉันเปลี่ยนมาใช้และตอนนี้ฉันใช้cmd.exe
เมื่อฉันต้องทำเท่านั้น
เนื่องจากมันจะเลื่อนจากซ้ายไปขวารวมทั้งขึ้นและลงสิ่งแรกที่ฉันทำในระบบคือกำหนดความกว้างของฉันเป็น 180 แล้วบันทึก โดยทั่วไปเพียงพอแล้วเพื่อให้สแต็กเทรซไม่ต้องห่อเป็นส่วนใหญ่ แต่ก็ไม่มากจนคุณต้องรอพื้นที่มากมาย
ในขณะที่คุณอยู่ให้ตั้งค่าขนาดแนวตั้ง (บัฟเฟอร์ย้อนกลับ) เป็น 9 ทั้งหมด คุณจะดีใจที่ได้ทำในบางวัน
เนื่องจาก MS ให้ความสำคัญกับ "ความเข้ากันได้แบบย้อนกลับ" ในหลาย ๆ สิ่งและในกรณีนี้ฉันสงสัยว่ามันเป็นความเชื่อที่ผิดที่จะทำให้ผู้คนไม่สบายใจหากพวกเขาไม่มีหน้าต่างกว้าง 80 มาตรฐาน
แน่นอนว่ามันถูกตั้งโปรแกรมไว้สำหรับความกว้าง 80 ตัวอักษรคงที่เมื่อมันค่อนข้างเป็นสากลและการตั้งค่าคุณสมบัติเพิ่มเติมนั้นค่อนข้างจะเป็นการแฮ็ค
มีจำนวน จำกัด ลองดูสิ (ฉันหมายถึงขนาดหน้าต่างไม่ใช่บัฟเฟอร์)
คุณจะพบว่าความกว้างสูงสุดที่คุณสามารถตั้งได้นั้นมี จำกัด แต่จะแตกต่างกันไปตามความละเอียดหน้าจอของคุณ หากความละเอียดของคุณตั้งไว้ที่ 1024 x 768 คุณจะพบว่าคุณสามารถรับได้สูงสุด 128 ในความกว้างของพรอมต์คำสั่ง 128/1024 = .125
คุณจะพบว่าอัตราส่วนนั้นสอดคล้องกันทั้งกระดาน ฉันมีเซสชัน RDP ที่ทำงานที่ 2000x768 (ในสองจอภาพสามจอของฉัน) และได้รับความกว้างสูงสุด 250
ตอนนี้มันกลายเป็นว่าใหญ่กว่าขนาดมอนิเตอร์ Actaul ของคุณเล็กน้อย แต่ฉันมีสามจอทั้งหมดที่ใช้เดสก์ท็อปแต่ละตัว (โดยพื้นฐานแล้ว 3 1024x768 ความละเอียด) และถ้าฉันต้องการทำบางสิ่งบางอย่างที่เรียบง่ายโดยยืดพรอมต์คำสั่งบนจอภาพ 2 จอขึ้นไปฉันไม่สามารถทำได้ (ฉันต้องการเมื่อทำสิ่งต่าง ๆ ด้วยเส้นทางที่ยาวมาก (diruse.exe / ฯลฯ ) ...
-ค
นี่ไม่ได้ปิด ดังนั้นควรสังเกตว่า Windows Terminal กำลังเปลี่ยนแปลงสิ่งนี้ทั้งหมด:
https://github.com/microsoft/terminal https://www.theverge.com/2020/1/9/21059316/microsoft-windows-terminal-crt-effects-retro-search-tabs-features https: // devblogs.microsoft.com/commandline/windows-command-line-backgrounder/ https://github.com/microsoft/terminal/blob/master/doc/terminal-v1-roadmap.md https://www.microsoft.com / en-us / p / windows-terminal-preview / 9n0dx20hk701? activetab = pivot: Overviewtab
เนื่องจากการปรับปรุงความสามารถในการใช้งานและการทำงานของทุกสิ่งที่การพัฒนาแบบ Unix / GNU ต้องการจะทำลาย Windows ในฐานะแพลตฟอร์มเชิงพาณิชย์สำหรับคู่ค้าของ Microsoft การป้องกันสิ่งนี้หมายถึงผลิตภัณฑ์ของ บริษัท ขนาดใหญ่อื่น ๆ สำหรับนักพัฒนาเช่นเทอร์มินัลที่ได้รับการปรับปรุงและผลิตภัณฑ์ของบุคคลที่สามทั่วไปอื่น ๆ เช่นโปรแกรมประมวลผลคำเครื่องเล่นวิดีโอเป็นต้นไม่ได้แข่งขันกับซอฟต์แวร์ Unix / GNU ที่มีอยู่ หากไม่มีสิ่งนี้ Windows ก็จะไม่ใช่แพลตฟอร์มที่ทำกำไรได้และ Microsoft จะสูญเสียการผูกขาดเดสก์ท็อป
นี่คือสาเหตุที่เทอร์มินัลห่วยไม่มี POSIX API ไม่มีการรองรับ C99 ใน MSVC และรายการต่อไป เพื่อความชัดเจนเทคโนโลยี Unix / GNU ทั่วไปและการพัฒนาไม่ได้รับการสนับสนุนโดยเจตนาเพื่อให้บ้านซอฟต์แวร์เชิงพาณิชย์ขนาดใหญ่ไม่ต้องแข่งขันกับพวกเขา