วิธีหลีกเลี่ยงการพิมพ์“ space” หลังจาก“ ^” เพื่อเลื่อนขึ้นในไดเรกทอรีใน dired?


9

^เป็นกุญแจสำคัญในการย้ายไปยังไดเรกทอรีหลักในdired("ไดเรกทอรีขึ้น")

อย่างไรก็ตามGnu Emacsเมื่อต่อไปWindows 7 Professional 64-bitกับรูปแบบแป้นพิมพ์ภาษาเยอรมันของฉันมันไม่เพียงพอที่จะพิมพ์ "^" แต่ฉันต้องพิมพ์เว้นวรรคหลังจากนั้นเพื่อให้การเชื่อมโยงคีย์ทำงานได้

ฉันจะกำหนดค่าการเชื่อมโยงคีย์ใหม่เพื่อหลีกเลี่ยงการกดเว้นวรรคและเลื่อนขึ้นด้วย "^" ได้อย่างไร


C-h k ^<space> ผลตอบแทน

^ รันคำสั่ง dired-up-directory ซึ่งเป็นฟังก์ชัน Lisp ที่คอมไพล์แบบอินเตอร์แอคทีฟใน `dired + .el '

มันถูกผูกไว้กับ ^,.

(ไดเรกทอรี dired-up-& ตัวเลือก OTHER-WINDOW)

รัน Dired บนไดเร็กทอรีพาเรนต์ของไดเร็กทอรีปัจจุบัน ค้นหาไดเรกทอรีหลักทั้งในบัฟเฟอร์นี้หรือบัฟเฟอร์อื่น สร้างบัฟเฟอร์หากจำเป็น


4
นี่เป็นปัญหาของระบบปฏิบัติการเนื่องจากลักษณะการทำงานนี้ดูเหมือนกับปุ่มปักหมุดและมีอยู่ในแป้นพิมพ์ลัดบางตัวเช่นus-intlบน Linux
wasamasa

เสียงเหมือนวาซามาซานั้นถูกต้องซึ่งในกรณีนี้คุณควรถามวิธีผูกคำสั่งกับคีย์อื่น
Andrew Swann

@AndrewSwann: อาจจะไม่ มันเป็นเรื่องดีที่จะตรวจสอบใช่ แต่พฤติกรรมของลีนุกซ์ไม่ควรเกี่ยวข้องที่นี่สมมติว่าmicrosoft-windowsแท็กนั้นเหมาะสม
Drew

วิธีที่ง่ายที่สุดในการตรวจสอบนี้จะถูกมองว่าพฤติกรรมเช่นเดียวกับโปรแกรมอื่น ๆ เช่นโดยการพิมพ์ลงใน^ notepad.exe
wasamasa

3
ฉันคิดว่าคุณมีเพียงไม่กี่ตัวเลือก: (1) ใช้รูปแบบแป้นพิมพ์ที่แตกต่างกันซึ่ง ^ ไม่ได้เป็นกุญแจสำคัญ - นี้จะทำในระดับระบบปฏิบัติการไม่ได้อยู่ใน emacs หรือ (2) ผูกกุญแจอื่น ๆ เพื่อdired-up-directoryใช้ แทนหรือ (3) อยู่กับปัญหาและพิมพ์ช่องว่างหลัง ^ ฉันกำลังจะไปกับ (3) ตัวเอง แต่ฉันไม่คิดว่ามันเกิดการระคายเคือง
Harald Hanche-Olsen

คำตอบ:


11

ด้วยการตั้งค่าแป้นพิมพ์ของคุณคีย์ ^ น่าจะเป็น "คีย์ตาย" มันเป็นกุญแจสำคัญที่จะใช้ร่วมกับอีกคนหนึ่งเพื่อผลิตตัวละครอื่น ในกรณีนี้มันหมายถึงการสร้างอักขระที่เน้นเสียง: ^ e จะสร้างê, ^ a จะสร้างและอื่น ๆ

มันไม่ควรเจาะจงเฉพาะกับ emacs: ฉันเดาว่าทุกแอปพลิเคชันของคุณต้องการให้คุณกด ^ และสร้าง ^ จริงขึ้นมาบนหน้าจอ

เพื่อแก้ปัญหานี้คุณต้องใช้รูปแบบแป้นพิมพ์อื่น ในกรณีที่มีเค้าโครงภาษาเยอรมันของคุณในสภาพแวดล้อมแบบ windows ฉันจะอ้างถึง/superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- ด้วยรูปแบบแป้นพิมพ์เยอรมันหวังว่านี่คือสิ่งที่ถูกต้อง


0

ฉันเดาว่าคุณยืนยันการผูกพัน^ใน Dired ว่าเป็นdired-up-directoryดังนั้นคำสั่งที่เรียกใช้ไม่ใช่ปัญหาเว้นแต่คุณหรือบางสิ่งที่คุณโหลดได้แนะนำไว้คำสั่งนั้น (ใช้C-h k ^และแจ้งให้เราทราบหากได้รับคำแนะนำ)

microsoft-windowsคุณแท็กนี้กับ อาจพูดถึงรุ่น MS Windows ที่คุณใช้ ฉันไม่เห็นสิ่งนี้กับ Windows 7 64 บิต

คุณเห็นลักษณะการทำงานเดียวกันหรือไม่ถ้าคุณเริ่มใช้งาน Emacs โดยใช้runemacs -Qเช่นไม่มีไฟล์ init runemacs -Qถ้าเป็นเช่นนั้นโปรดให้สูตรที่นี่เริ่มต้นจาก ในกรณีนี้นี่อาจเป็นข้อผิดพลาดของ Emacs

หากคุณไม่เห็นปัญหาemacs -Qจากนั้นให้แบ่งไฟล์เริ่มต้นซ้ำ ๆ จนกว่าคุณจะ จำกัด ให้แคบลงเพื่อค้นหาผู้ร้าย คุณสามารถใช้คำสั่งcomment-regionเพื่อแสดงความคิดเห็นในภูมิภาคของรหัส (ใช้C-uกับมันเพื่อไม่ใส่เครื่องหมายข้อคิดเห็นภูมิภาค)

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

สำหรับการกำหนดคีย์ใหม่: นั่นไม่ใช่ปัญหา - เพียงแค่ใช้(define-key dired-mode-map SOME-KEY 'dired-up-directory)ซึ่งSOME-KEYเป็นคำอธิบายที่สำคัญ ตัวอย่างเช่นในการผูกคำสั่งC-oคุณสามารถใช้สิ่งนี้:

(define-key dired-mode-map (kbd "C-o") 'dired-up-directory)

อัปเดตหลังจากความคิดเห็นของคุณและคนอื่น ๆ -

เมื่อคุณเห็นสิ่งเดียวกันemacs -Qปัญหาคือสิ่งที่อยู่ในการตั้งค่า MS Windows ของคุณ (เช่น Emacs นอก) หรือข้อบกพร่องใน Emacs เอง

แต่ความคิดเห็นอื่น ๆ ชัดเจนว่าปัญหาดูเหมือนว่าจะเป็นกุญแจเหนียวใน MS Windows ลองเปลี่ยนคีย์เหนียวปิด


3
นี่เกือบจะเป็นจุดข้างแน่นอน แม้ว่าความคิดเห็นโดย @wasamasa นั้นมีความเกี่ยวข้องโดยสิ้นเชิง เพื่ออธิบายรายละเอียดเล็กน้อยจุดคือตั้งแต่ ^ เหนียว emacs จะไม่เห็นเหตุการณ์ปุ่มกดจนกว่าผู้ใช้จะพิมพ์ช่องว่าง
Harald Hanche-Olsen

ขอบคุณสำหรับคำตอบโดยละเอียดของคุณ! ใช่ด้วยrunemacs.exe -Qเหมือนกัน การพิมพ์ ^ ในบัฟเฟอร์จะป้อนเฉพาะอักขระเท่านั้นหากฉันพิมพ์ <space> หรือคีย์อื่นหลังจากนั้น ในdiredโหมดเดียวกันก็ต้อง^1 <space>เลื่อนขึ้น สำหรับdefine-key: แต่ฉันต้องการใช้ปุ่ม ^ สำหรับการเชื่อมโยงนี้มีวิธีหลีกเลี่ยงการรอ <space> หรือไม่
อันตราย

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