หน้าจอ gnu: เปลี่ยนชื่อโดยไม่ลบชื่อก่อนหน้า?


0

ในเวิร์กโฟลว์ของฉันฉันจะมีหน้าจอที่กำหนดชื่อเองมากมาย

ฉันใช้ แก้ไขหน้าจอแล้วเช่น Ctrl-A , เปลี่ยน - : เพื่อไปที่โหมดการเปลี่ยนชื่อ มันจะเริ่มต้นด้วยชื่อก่อนหน้านี้และเคอร์เซอร์ในตอนท้าย ฉันต้องกด Backspace เพื่อลบทั้งหมดแล้วพิมพ์ชื่อ

ส่วนใหญ่เวลาที่ฉันอยู่ในโหมดที่งี่เง่าอัตโนมัติและลืมที่จะลบชื่อเก่าและลงท้ายด้วยบางสิ่งเช่น "bashNewname"

ฉันสามารถแก้ไข screenrc ของฉันเพื่อตั้งชื่อเริ่มต้นเป็น "" แทน แต่ฉันใช้ระบบจำนวนมากที่ไม่มี screenrc ของฉัน ดังนั้นหากมีคำสั่งที่ฉันไม่รู้จักแทน เปลี่ยน - และมีให้ในการติดตั้งหน้าจอ gnu มาตรฐานทั้งหมดมันยอดเยี่ยมมาก

คำตอบ:


1

คุณสามารถตั้งชื่อของหน้าต่างหน้าจอด้วยลำดับการยกเว้น (จาก คู่มือหน้าจอ ):

หากต้องการเปลี่ยนชื่อหลังจากสร้างหน้าต่างแล้วคุณสามารถใช้ ลำดับของสตริงชื่อเรื่อง ( <ESC> k name <ESC> \ ) และคำสั่ง title (C-a A)

สำหรับการปิดครั้งเดียวอย่างรวดเร็วและสกปรกทำได้อย่างง่ายดาย echo -e หัวเรื่องที่คุณกำหนดไว้ในเชลล์ของหน้าต่างนั้น ( \033 เทียบเท่ากับ <ESC>และ -e ตีความลำดับ escape):

$ echo -e '\033k NewTitle\033\'

... แม้ว่า printf อาจเร็วกว่าการพิมพ์และพกพาได้มากขึ้น:

$ printf '\033k NewTitle\033\'

คำสั่งเหล่านี้ควรเป็นผลลัพธ์ NewTitle ปรากฏเป็นชื่อของหน้าต่างปัจจุบันของคุณ

มันจะไม่ยากที่จะทำให้เป็นอัตโนมัติด้วย alias หรือฟังก์ชั่นของเชลล์แม้ว่าคีย์บอร์ดมาโครบางชนิดอาจมีประโยชน์มากกว่าถ้าคุณใช้สิ่งนี้กับระบบรีโมต (เช่นผ่าน ssh) ซึ่งจะไม่แชร์ไฟล์ rc shell .


ขอบคุณ ฉันมีบางกรณี แต่ทุกวันนี้ฉันส่วนใหญ่ตั้งชื่อด้วยมือ (เช่นรหัสทดสอบเรียกใช้)
gcb

@gcb กำลังคิดถึงสิ่งที่ต้องการ sxhkd สำหรับมาโคร: ตั้งค่าดังนี้ ctrl+shift+f1 เพื่อส่ง printf '\033k[space]และ ctrl+shift+f2 เพื่อส่ง \033\'. ตั้งค่า X ในเครื่องของคุณ ctrl+shift+f1, NewTitle, ctrl+shift+f2, [enter] รับชื่อหน้าต่างใหม่ของคุณในหน้าจอไม่จำเป็นต้องกำหนดค่าระยะไกล
quixotic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.