เล่นกับมาโคร:
ผูกปุ่มฟังก์ชั่นF8เพื่อทวีคูณสองคำสุดท้าย(ขึ้นช่องว่างก่อนหน้า) (รหัสคีย์ F8 ที่พบโดยใช้Ctrl-V F8
):
$ bind '"\e[19~": "\C-w\C-y\C-y"'
สามารถทำได้อย่างถาวรโดยส่งข้อความเดียวกันไปที่ ~/.inputrc
$ echo '"\e[19~": "\C-w\C-y\C-y"' >> ~/.inputrc
จากนั้นพิมพ์:
echo 0F8F8F8F8
เพื่อรับ 2 ^ 4 คูณศูนย์ (ยังกดแป้น 5 ครั้ง)
หรือพิมพ์:
echo bookF8F8F8
เพื่อรับ 2 ^ 3 คำในหนังสือ
ยังเร็วกว่า:
คูณด้วย 4:
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y"'
echo 0F8F8
3 ปุ่มกด
คูณด้วย 8 (หมายเลขเดียวกับปุ่มฟังก์ชัน)
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y"'
echo 00F8
ยังกด 3 ปุ่ม
โกง?
โกงโดยการคูณด้วย 16
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y"'
echo 0F8
กดปุ่มเพียง 2 ครั้ง (และยังเป็นฟังก์ชั่นง่าย ๆ ที่มีประโยชน์)
^^^^^^^^^^^^^^^ (ฐาน 36? Hah!) :-P
การโกงอย่างชัดเจน:
$ bind '"\e[19~": "0000000000000000"'
เสียงสะท้อน F8
กดแป้นเพียง 1 (ใช่: หนึ่ง )
การเปลี่ยนการโยงสำหรับctrl+U:
ส่งไปที่~/.inputrc
:
echo '"\C-u": universal-argument >> ~/.inputrc
อ่าน~/.inputrc
ไฟล์อีกครั้ง:
ctrl+Xctrl+R
ทำตามปกติใน emacs (ตามที่คุณต้องการ):
foo --bar = baz ctrl+U16 ctrl+U0
7 ปุ่ม (หลังจาก "การตั้งค่า")
สั้นลงเล็กน้อย:
ใช้ค่าเริ่มต้น "คูณด้วย 4" ของ "อาร์กิวเมนต์สากล" และลงท้ายด้วย
ctrl+V 0
foo --bar = baz ctrl+Uctrl+Uctrl+V0
เพียง 5 ปุ่มเท่านั้น
ใช้การalt+nเข้าถึง (หาเรื่อง: n)
foo --bar = baz Alt+16Ctrl+V0
นั่นคือ 6 ปุ่มเพื่อรับ 16 ศูนย์
ไม่เปลี่ยนแป้นพิมพ์ลัด:
bash C-u kills the currently-being-typed line
ถ้าในการทุบตีของคุณคุณมี
นั่นเป็นเพราะเป็นไปผูก"\C-u":
unix-line-discard
แต่นั่นอาจช่วยได้เช่นกัน:
เมื่อใดสิ่งที่ก่อนที่เคอร์เซอร์จะถูกลบมันจะถูกวางใน "kill-ring" ด้วย
ดังนั้นctrl+u
ลบและctrl+y
ดึงสิ่งที่ถูกลบออกไป
บนเส้นสะอาด: ประเภทลบมันและดึงเอามันกลับมาเป็นครั้งที่สองที่จะทำให้มัน00
ทำซ้ำเพื่อรับ(8 ศูนย์) สุดท้ายพิมพ์คำสั่งแล้วดึงกลับมาสองครั้ง0000
00000000
ชุดแรก (กดปุ่ม 7 ครั้งctrl):
00 ctrl+Uctrl+Yctrl+Y ctrl+U
ชุดที่สอง (5 ปุ่ม)
ctrl+Uctrl+Yctrl+Y ctrl+U
นั่นจะได้แปดศูนย์ในวงแหวนลบแล้วพิมพ์สิ่งที่คุณต้องการ:
foo --bar = baz ctrl-Y ctrl-Y
ที่จะได้รับ:
foo --bar=baz 0000000000000000
หลังจากที่คุณได้รับแนวคิดคุณอาจพิมพ์สิ่งที่คุณต้องการไปที่จุดเริ่มต้นของบรรทัด ( ctrl-Y) ทำตามด้านบน (สูงสุดแปดศูนย์) ไปที่จุดสิ้นสุด ( ctrl-E) และงัดสองครั้ง
foo --bar = baz ctrl-A00ctrl-Uctrl-Yctrl-Y ctrl-Uctrl-Yctrl-Y ctrl-U ctrl-Ectrl-Yctrl-Y
นั่นคือ 15 ปุ่ม (ข้างคำสั่งของมันเอง)
ไม่สั้นฉันรู้ แต่นั่นใช้ได้เฉพาะกับสิ่งที่มีอยู่
สั้นกว่านี้เล็กน้อย:
0000 ctrl-U ctrl-Y ctrl-Y ctrl-Y ctrl-Yctrl-A foo --bar = baz
นั่นคือ 11 ปุ่ม
know what you want to do
เสียงเหมือนคุณต้องการทุบตีเพียงอย่างใด ในคำสั่งที่ซ้อนกันที่ซับซ้อนวิธีทุบตีจะรู้ว่าส่วนใดที่คุณต้องการที่จะเห็นผลของการดำเนินการในประวัติศาสตร์เมื่อเทียบกับคำสั่งตัวเอง? แล้วตัวแปรล่ะ ในทุบตีสั้นมักจะมีcode
ในประวัติศาสตร์ไม่ได้ผลของการรันรหัส