วิธีสลับระหว่างหน้าต่างอย่างรวดเร็ว?


90

ฉันจะสลับระหว่างหน้าต่างอย่างรวดเร็วได้อย่างไร

ฉันมักจะเปิดหน้าต่างหลายบานและจำเป็นต้องสลับระหว่างกัน ตอนนี้ฉันใช้C-x oเพื่อไปยังที่ที่ฉันต้องการ มีเวิร์กโฟลว์ที่มีประสิทธิภาพมากกว่านี้หรือไม่


คำตอบ:


62

เห็นได้ชัดว่าฉันชอบหน้าต่างเอซสำหรับสิ่งนี้ คุณสามารถสลับระหว่างหน้าต่างและเฟรมที่มองเห็นได้ อยู่ใน MELPA คุณสามารถติดตั้งได้อย่างรวดเร็ว สิ่งเดียวที่เหลืออยู่ที่ต้องทำคือผูกมัน:

(global-set-key (kbd "C-x o") 'ace-window)

หรืออาจจะใช้คอร์ดคีย์ที่สั้นกว่าเนื่องจากการสลับหน้าต่างเป็นงานทั่วไป:

(global-set-key (kbd "M-p") 'ace-window)

บทสรุปของ ace-window

other-windowมันทดแทนหล่นในสำหรับ ไม่เหมือนกับหลังคุณไม่ต้องโทรace-windowสองครั้งขึ้นไปเพื่อเลือกหน้าต่าง: คุณเลือกหน้าต่างที่คุณต้องการในการโทรครั้งเดียว (อาจข้ามหลายเฟรม)

นอกจากนี้การเปลี่ยนหน้าต่างace-windowสามารถทำขึ้น (ลบหรือหน้าต่างแลกเปลี่ยน ฯลฯ ) ดูREADME


2
สิ่งนี้น่าสนใจ ฉันใช้ace-windowแล้วเห็นswitch-windowซึ่งดูเหมือนว่าจะทำสิ่งเดียวกันประมาณยกเว้นว่าตัวอักษรมีความเด่นชัดมากขึ้น ดูเหมือนจะตลกเรามีทั้งแพ็คเกจ
milkypostman

คุณถูก. มีความแตกต่างเพียงเล็กน้อยระหว่างพวกเขา นี่เป็นปัญหาที่เราต้องเผชิญเมื่อเรามีพื้นที่เก็บข้อมูลที่มี 2,000 แพ็คเกจ ฉันไม่รู้switch-windowจนกระทั่งฉันส่งace-windowให้ MELPA
abo-abo

1
ขอบคุณสำหรับace-windowมันมีการปรับแต่งมากกว่าแพ็คเกจอื่น ๆ ที่ฉันเดา สิ่งหนึ่งที่อาจเป็นประโยชน์ในอนาคตก็คือกุญแจที่ผูกไว้กับฟังก์ชั่นที่คล้ายกับการกระทำของ swap อย่างชาญฉลาด แต่กินหน้าต่างนั้นทำให้มีหน้าต่างที่ใหญ่กว่าและมีขนาดเล็กกว่าหน้าต่างที่เลือก หน้าต่าง) อัตราส่วนควรจะถูกกำหนดในกรณีนี้เป็นครึ่งหนึ่งหนึ่งในสี่หรือหนึ่งในสามอาจ
ปริญญาเอก

4
โปรดพิจารณาเพิ่มคำอธิบาย คุณเพียงแค่บอกว่าคุณชอบมันและคุณเชื่อมโยงกับมัน นั่นทำให้คำตอบนี้เป็นลิงก์อย่างเดียว
ดึง

4
ประโยชน์ของหน้าต่างเอซคืออะไร? เหตุใดฉันจึงควรใช้มากกว่า 14 โซลูชันอื่น ๆ ที่เสนอในหน้านี้
Gilles

103

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

มันสร้างขึ้นใน Emacs ดังนั้นไม่จำเป็นต้องติดตั้งอะไรเลย เพียงเปิดใช้งานด้วยการตั้งค่าขั้นต่ำต่อไปนี้ในไฟล์ init ของคุณ:

(windmove-default-keybindings)

จากนั้นคุณสามารถสลับไปยังหน้าต่างที่อยู่ใกล้เคียงโดยใช้คีย์ต่อไปนี้ S-<left>(ที่ลูกศรใช้สังหรณ์ใจกำหนดทิศทางที่คุณย้าย): S-<right>, S-<up>, S-<down>,


หากคุณต้องการใช้ปรับแต่งอื่นแทนของคุณสามารถให้มันเป็นอาร์กิวเมนต์ไปยังshift windmove-default-keybindingsตัวอย่างเช่น:

(windmove-default-keybindings 'meta)

หรือ

(windmove-default-keybindings 'control)

ข้อมูลเพิ่มเติมได้ที่Emacs วิกิพีเดีย


16
นี่ควรเป็นคำตอบที่ยอมรับได้!
rowman

OMG ทำไมไม่มีการสอนถึงปุ่ม Shift + ลูกศรเพื่อเลื่อนไปรอบ ๆ หน้าต่าง! มันดีขึ้นมากแล้ว ctrl + o
Didier A.

ฉันจะบอกว่าคำตอบอื่น ๆ ที่นี่มีการกำหนดค่า windmove ซ้ำซ้อน บางทีมันก็คุ้มค่าที่จะอัปเดตคำตอบเพื่อพูดถึงว่าฟังก์ชั่นรับคีย์ตัวปรับแต่งเป็นอาร์กิวเมนต์เช่น(windmove-default-keybindings 'meta)ตามที่แนะนำบน EmacsWiki
metaturso

สิ่งนี้สร้างความขัดแย้งได้มากกับการโยงคีย์อื่น ๆ (หรือกับตัวจัดการหน้าต่าง) ฉันชอบเอซหน้าต่าง
azzamsa

ฉันกำลังใช้บางสิ่งบางอย่างเหมือนกัน(ฉันกำลังเคลื่อนที่ไปด้วยShift-arrow)แต่เมื่อคุณมีจอภาพขนาดใหญ่ที่มีรอยแยกจำนวนมาก มันน่าสนใจมากขึ้นที่จะระบุหน้าต่าง / แยกอย่างใด ชอบace-windowแต่มีน้อยกว่าการกดปุ่มและอัลกอริทึมที่เห็นได้ชัดที่จะคิดทันทีที่ออกหมายเลขที่คุณต้องการ
Hi-Angel

21

คุณสามารถผูกother-windowกับลำดับของคีย์ที่ง่ายกว่า

ตัวอย่างเช่นฉันได้C-.ผูกไว้other-windowและC-,ผูกไว้เพื่อไปที่หน้าต่างก่อนหน้า

(global-set-key (kbd "C-.") #'other-window)
(global-set-key (kbd "C-,") #'prev-window)

(defun prev-window ()
  (interactive)
  (other-window -1))

สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการย้ายหลายหน้าต่าง เมื่อคุณกด Control ค้างไว้คุณเพียงกดปุ่มเดียวเพื่อย้ายไปยังหน้าต่างถัดไป ง่ายกว่ากดปุ่มสามครั้งต่อการเคลื่อนไหว


2
+1 C-x oสำหรับother-windowเป็นหนึ่งในคู่แข่งที่แข็งแกร่งสำหรับชื่อเรื่อง "ทางลัด emacs เริ่มต้นที่เลวร้ายที่สุด" วิธีแก้ปัญหาของฉัน (คล้ายกับ zck) คือการother windowเรียงลำดับคีย์ใหม่ (ทาง) ได้ง่ายขึ้นฉันได้ผูกไว้กับC-;(และCaps-LockสลับกับCtrlดังนั้นสิ่งที่ต้องทำคือการแตะนิ้วก้อยอย่างรวดเร็ว) Btw ฉันทั้งหมดขึ้นอยู่กับคุณสมบัติบางอย่างของhelmและicicles(เช่นฉันไม่ได้ "ต่อต้านแพคเกจ" หรืออะไร); ฉันแค่คิดว่าวิธีแก้ปัญหาอย่างง่ายดีที่สุดที่นี่
iceman

2
+1 นี่ควรเป็นคำตอบที่ได้รับการยอมรับและเป็นคำตอบที่ง่ายที่สุด (อนิจจายังไม่มีสิ่งใดใน StEx) ทำงานออกจากกล่องชั่งอย่างสมบูรณ์แบบง่ายต่อการจดจำ หลังฉันพบสิ่งสำคัญเป็นพิเศษในป่า Emacs หลังจากรอดชีวิตจากที่นั่นมา 20 ปีบางครั้งฉันก็พบว่าตัวเองแอบซุ่มอยู่ที่ทะเลทราย vi ...
Andreas Spindler

ง่ายใช้งานง่ายและใช้งานง่าย ต้องใช้คะแนนเสียงมากขึ้น
stewSquared

1
นี่คือสิ่งที่ฉันทำ ผมใช้สำหรับM-o other-windowบางโหมดมีอยู่แล้วM-oมีผลผูกพันสะดุดตาdiff-mode, และggtag-mode ibuffer-modeคุณต้องผูกมันเองในแต่ละโหมดแผนที่ unbind-keyจัดหาโดยbind-key.elมีประโยชน์มาก
Yasushi Shoji

ฉันใช้M-oเช่นกันและM-Oผูกพันกับace-windowเมื่อฉันต้องการพลังเพิ่มเติม
ลูกัส

13

window-numbering.el!

ฉันกำหนดปุ่มลัด ", 1", ", 2", ", 3" เพื่อสลับหน้าต่างเฉพาะ (โปรดทราบว่าฉันใช้โหมดชั่วร้าย)

นอกจากนี้ฉันแสดงหมายเลขหน้าต่างที่บรรทัดโหมดในสีสีชมพูขีดเส้นใต้

มันเป็นคำใบ้ที่คุณไม่สามารถเพิกเฉยได้

นั่นเป็นวิธีที่เร็วที่สุดในการสลับหน้าต่าง

ตรวจสอบhttps://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.elและhttps://github.com/redguardtoo/emacs.d/blob/master/lisp/init-modeline .elสำหรับการตั้งค่าของฉัน

Sylvain Benner นำมาใช้ความคิดของฉันใน spacemacs แต่keybindings จะแตกต่างกัน ดังนั้นหากคุณใช้ Spacemacs คุณจะได้ทางออกที่รวดเร็วที่สุดจากกล่อง


2
ได้. แนวคิดนี้ยอดเยี่ยม ฉันใช้แพ็คเกจwindow-numberพร้อมM-<num>เพื่อสลับหน้าต่าง b / w อย่างรวดเร็ว แนวคิดที่คล้ายกันกับอันนี้
unperson325680

1
โปรดทราบว่าหน้าต่าง numbering.el จะเลิกในความโปรดปรานของ winumซึ่งเป็นที่นี่ FWIW หน้าต่างตัวเลขสำหรับฉันไม่ได้ทำงาน
Hi-Angel

ฉันอาจเปลี่ยนเป็น winum เร็ว ๆ นี้ แต่การกำหนดหมายเลขหน้าต่างยังทำงานได้ดีบน emacs24 / 25/26
เฉินถัง

10

โดยไม่ต้องใช้โปรแกรมเสริมเพิ่มเติมใด ๆ คุณสามารถใช้งานC-x oกับส่วนเสริมที่เป็นตัวเลือกเพื่อข้ามผ่านหน้าต่างจำนวนมากนั้น เช่น: C-u 1 C-x oจะไปที่หน้าต่างถัดไปตามลำดับ (เช่นสิ่งที่คุณจะได้รับด้วยธรรมดาC-x o), C-u 2 C-x oไปที่หน้าต่างสองบาน, C-u 3 C-x oหน้าต่างสามบานและอื่น ๆ

ข้อความที่ตัดตอนมาจากother-windowdocstring (ฟังก์ชั่นที่เรียกโดยC-x o:

COUNT ระบุจำนวนหน้าต่างที่จะข้ามโดยเริ่มจากหน้าต่างที่เลือกก่อนทำการเลือก ถ้า COUNT เป็นค่าบวกให้ข้าม COUNT windows ไปข้างหน้า หาก COUNT เป็นค่าลบให้ข้าม -COUNT windows ย้อนหลัง COUNT ศูนย์หมายความว่าอย่าข้ามหน้าต่างใด ๆ ดังนั้นเลือกหน้าต่างที่เลือก ในการโทรแบบโต้ตอบ COUNT เป็นอาร์กิวเมนต์หมายเลขนำหน้า กลับศูนย์


เมื่อคุณมีหลาย ๆ หน้าต่างพวกเขาจะสั่งอะไรตามมา
stsquad

คำสั่งเป็นสั่งซื้อหน้าต่างวงกลม
แดน

2
อืม "การจัดลำดับถูกกำหนดโดยการสำรวจเส้นทางที่ลึกที่สุดของแผนผังหน้าต่างของเฟรมเรียกหน้าต่างสดซึ่งเป็นโหนดใบของต้นไม้" ไม่ใช่คำอธิบายที่มีประโยชน์ที่สุดสำหรับสมองมนุษย์ที่พยายามเดาว่าหน้าต่างถัดไปหรือ ต้องข้ามกี่ครั้ง ฉันคิดว่านี่เป็นเหตุผลที่ฉันใช้เอซหน้าต่าง
stsquad

2
@stsquad: โอ้ฉันเห็นด้วยกับคุณ - มันทำให้หัวของฉันหมุนด้วย ฉันวางคำตอบนี้ไว้ที่นี่เพื่อความสมบูรณ์
แดน

8

บางคนอาจจำบทสรุปโดยย่อ (ผลิตโดย บริษัท ชื่อ Underware)

มันมีวิธีที่ประณีตในการสลับระหว่างหน้าต่างที่มองเห็นได้ M-arrow จะย้ายเคอร์เซอร์ไปที่หน้าต่างโดยตรงตามทิศทางของปุ่มลูกศร

ดังนั้นฉันแมปwinmove-left, winmove-right, winmove-upและwinmove-downฟังก์ชั่นM-left, M-right, M-upและM-downปุ่มดังต่อไปนี้ในแฟ้ม .emacs ของฉัน -

(global-set-key [M-left] 'windmove-left)          ; move to left window
(global-set-key [M-right] 'windmove-right)        ; move to right window
(global-set-key [M-up] 'windmove-up)              ; move to upper window
(global-set-key [M-down] 'windmove-down)          ; move to lower window

ตอนนี้ฉันสามารถเคลื่อนย้ายได้อย่างง่ายดายระหว่าง windows โดยไม่คำนึงถึงความยุ่งเหยิงที่ฉันมีการกำหนดค่า ... และมันจะค่อนข้างยุ่งเหยิงกับขนาดของจอแสดงผลในปัจจุบัน ...


นี่เป็นคำตอบของ @ Francesco มากหรือน้อยใช่ไหม
แดน

ฉันเห็นด้วย. ฉันไม่ได้สังเกตเห็นก่อนที่จะโพสต์ของฉัน
user2542

2
วิธีที่สั้นกว่ามากในการได้รับการโยงคีย์เหล่านั้นคือ(windmove-default-keybindings 'meta)!
โอมาร์

8

ถ้าคุณใช้Iciclesแล้วC-x oช่วยให้คุณเลือกหน้าต่างโดยชื่อ (หรือโดยการขี่จักรยาน)

  • ไม่มีหาเรื่องคำนำหน้าC-x oเป็นเช่นเดียวกับปกติเว้นแต่เฟรมมีเพียงหนึ่งหน้าต่างซึ่งในกรณีนี้ก็คือother-windowother-frame

  • ด้วยคำนำหน้า arg C-x oเป็นคำสั่งหลายคำสั่งที่ให้คุณนำทางระหว่างหน้าต่างหรือเฟรมตามชื่อ (หรือโดยการหมุนเวียน) การนำหมู่ windows จะใช้หลายคำสั่ง icicle-select-window; icicle-select-frameการนำในหมู่การใช้เฟรม

การนำทางใดที่ใช้ขึ้นอยู่กับส่วนนำหน้า arg:

  • ARG นำหน้าZero (เช่นC-0): หากเฟรมที่เลือกมีหลายวินโดว์นี่คือ icicle-select-windowโดยมี windows ในเฟรมเดียวกันกับตัวเลือก มิฉะนั้น (กรอบหน้าต่างเดียว) icicle-select-frameนี้เป็น

  • C-u: ถ้าเฟรมที่เลือกมีหลาย ๆ หน้าต่างนี่คือ icicle-select-windowด้วยหน้าต่างจากเฟรมที่มองเห็นได้ทั้งหมดในฐานะผู้สมัคร icicle-select-frameมิฉะนั้นนี้เป็น

  • C-u C-u: icicle-select-windowมีหน้าต่างจากเฟรมทั้งหมดเป็นตัวเลือก (รวมถึงเฟรมที่เป็นไอคอนหรือซ่อน)

เช่นเดียวกับในIciclesคุณสามารถรวม (a) เสร็จสิ้นแล้วพิมพ์ข้อความเพื่อ จำกัด ชุดของผู้สมัครที่ตรงกัน (ชื่อหน้าต่างหรือกรอบในกรณีนี้) ด้วย (b) การขี่จักรยาน (ในบรรดาผู้สมัครที่ตรงกัน)


4

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

ตัวเลือกของฉันของแพคเกจที่จะใช้เป็นซึ่งจะช่วยให้คุณสามารถนำทางหลายหน้าต่างง่ายกว่าเพียงace-windowother-window

(require 'key-chord)
(key-chord-define-global "xo" 'ace-window)
(key-chord-mode +1)

เห็นได้ชัดว่าการใช้สิ่งนี้ที่คุณต้องการkey-chordและace-windowทั้งสองมีอยู่ใน Melpa


2
นี่ไม่ใช่คำตอบของ @ abo-abo มากหรือน้อยใช่ไหม
แดน

1
@Dan ของเขาไม่ได้ใช้คีย์คอร์ดให้สังเกตว่าการขาดเมตาดาต้าหรือซุปเปอร์คีย์ในคอร์ด ไม่ว่าคุณจะใช้ ace-window / อย่างอื่นนั้นไม่เกี่ยวข้องกันสักหน่อยประเด็นก็คือให้คำตอบที่ไม่ได้ใช้ปุ่มตัวดัดแปลงสำหรับการใช้งานทั่วไป
ช่วยให้รอด

1
ฉันเห็นสิ่งนั้น แต่ฉันตั้งคำถามเพราะace-windowกำลังทำงานตามคำตอบของ @ abo-abo มันทำให้ฉันรู้สึกว่าในบริบทนี้การเชื่อมโยงคีย์เฉพาะเพื่อใช้จะเหมาะสมกว่าการแสดงความคิดเห็นมากกว่าคำตอบ แค่สองเซ็นต์ของฉัน
แดน

@ ด่านโดยรวมแล้วคำถามเกี่ยวกับการเปลี่ยนหน้าต่างอย่างรวดเร็วและฉันไม่คิดว่าวิธีการแก้ปัญหานี้ได้ถูกนำขึ้นมา ชี้แจงคำตอบเล็กน้อยเกี่ยวกับเรื่องนั้น
ช่วยให้รอด

@ ผู้ช่วยให้รอดยกประเด็นสำคัญ คำถามเกี่ยวกับการสลับหน้าต่างอย่างรวดเร็วซึ่งรูปแบบของการเชื่อมมีความสำคัญมาก ไม่ว่าคุณต้องการkey-chordไลบรารี่แบบใดก็ตามอนุญาตให้เชื่อมโยงคีย์ต่างๆเข้าด้วยกันอย่างมาก ตัวอย่างการเชื่อมโยง xoนั้นเร็วกว่าC-x o(ความลึกของหนึ่งต่อสอง) คำตอบนี้อาจจะ reworded จะเน้นว่าคำตอบคือฉากกับคำตอบอื่น ๆ เกี่ยวกับการเลือกฟังก์ชั่น (และace-windowเป็นเพียงหนึ่งในหลายทางเลือกที่อาจจะผูกพันในแฟชั่นอธิบาย) เก็บคำตอบนี้ไว้ชัดเจน!
ebpa

3

บางคำตอบที่ดีที่นี่ฉันยังเป็นแฟนของ WinMove แต่ฉันผูกไว้กับ C- เพราะโหมดองค์กรใช้ M- สำหรับจัดการหัวเรื่อง

(define-key global-map (kbd "C-<up>") 'windmove-up)
(define-key global-map (kbd "C-<down>") 'windmove-down)
(define-key global-map (kbd "C-<left>") 'windmove-left)
(define-key global-map (kbd "C-<right>") 'windmove-right)

ไหนจะได้รับสิ่งที่ดีจริงๆคือถ้าคุณรวมกับไฮดรา ต่อไปนี้เป็นตัวอย่างในวิกิของพวกเขาฉันสร้างมอนสเตอร์ของตัวเอง:

(defhydra hydra-windows ()
  "C-arrow = switch, S-arrow = size, M-arrow = move"
  ("C-<left>" windmove-left nil)
  ("C-<right>" windmove-right nil)
  ("C-<up>" windmove-up nil)
  ("C-<down>" windmove-down nil)
  ("S-<left>" hydra-move-splitter-left nil)
  ("S-<right>" hydra-move-splitter-right  nil)
  ("S-<up>" hydra-move-splitter-up nil)
  ("S-<down>" hydra-move-splitter-down nil)
  ("M-<left>" buf-move-left nil)
  ("M-<right>" buf-move-right nil)
  ("M-<up>" buf-move-up nil)
  ("M-<down>" buf-move-down nil)
  ("p" previous-buffer "prev-buf")
  ("n" next-buffer "next-buf")
  ("1" delete-other-windows "1")
  ("d" delete-window "del")
  ("k" kill-buffer "kill")
  ("s" save-buffer "save")
  ("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo")
  ("r" winner-redo "redo")
  ("b" helm-mini "helm-mini" :exit t)
  ("f" helm-find-files "helm-find" :exit t)
  ("|" (lambda () (interactive) (split-window-right) (windmove-right)))
  ("_" (lambda () (interactive) (split-window-below) (windmove-down)))
  ("q" nil "cancel")
  )

(global-set-key (kbd "M-#") 'hydra-windows/body)

สิ่งนี้ช่วยให้ฉันเปลี่ยนหน้าต่างปรับขนาดย้ายบัฟเฟอร์จากหน้าต่างหนึ่งไปอีกหน้าต่างวงจรบัฟเฟอร์ฆ่าบัฟเฟอร์และแม้กระทั่งยกเลิกการกำหนดค่าหน้าต่างผ่านโหมดผู้ชนะและมันยังรวมระบบหางเสือ ในการออกจากไฮดราเพียงกดลูกศรหรือปุ่มอื่นที่ไม่อยู่ในไฮดรา คุณสามารถค้นหาฟังก์ชั่น "hydra-move" บนตัวอย่างไฮดราสิ่งที่ดีเกี่ยวกับไฮดราคือฉันไม่จำเป็นต้องจำ keybindings เหล่านั้นทั้งหมดและ "โหมด" ดังนั้นเมื่อคุณอยู่ในไฮดราทุกอย่างก็เป็นปุ่มเดียว กด.


1
วิธีที่สั้นกว่าที่จะได้รับ keybindings (windmove-default-keybindings 'control)ที่คุณพูดถึงที่จุดเริ่มต้นคือ
โอมาร์

1

หากคุณใช้evil-modeคุณสามารถใช้คำนำหน้าตัวเลขด้วยC-w C-w( evil-window-next) เพื่อเลือกหน้าต่างที่คุณต้องการ ดังนั้น: 1 C-w C-wเลือกหน้าต่างแรกตามลำดับวงรอบ3 C-w C-wเลือกหน้าต่างที่สามตามลำดับรอบและตามลำดับ


ดูเหมือนว่ามันควรจะรวมกับคำตอบอื่น ๆ ของคุณ : มันเป็นสิ่งเดียวกัน, เพียงแค่มีการผูกเฉพาะความชั่วร้าย
npostavs

1

Ace Jumpช่วยให้คุณนำทางตัวชี้ของคุณไปยังทุกคำบนหน้าจอโดยไม่คำนึงถึงหน้าต่างหรือกรอบใดที่อยู่ภายในดังนั้นจึงไม่แตกต่างจากการใช้ Ace Window หรือ Switch Window

ข้อดีอาจเป็นได้ในขณะที่กระโดดหน้าต่างคุณสามารถวางตัวชี้ของคุณด้วยความแม่นยำ

ฉันยังพบว่ามันยุ่งยากหรือเบี่ยงเบนความสนใจเล็กน้อยและพบว่าฉันใช้windmoveมากขึ้นเพราะมันง่ายมาก แต่ก็ยังใช้ Ace Jump เมื่อฉันอ่านในหน้าต่างหรือเฟรมอื่นและต้องการย้ายไปที่จุดนั้น


1

ตามปกติมีวิธีแตกต่างกันหลายร้อยวิธีในการทำสิ่งนี้ให้สำเร็จ วิธีที่ต้องการของฉันคือการใช้NumberedWindows ฉันตั้งค่าปุ่มลัดต่อไปนี้โดยใช้ Super และปุ่ม 1-9

(global-set-key (kbd "s-1") (lambda() (interactive) (window-number-select 1)))

ฉันไปเป็นรายละเอียดเล็ก ๆ น้อย ๆ เกี่ยวกับเรื่องนี้แน่นอนพร้อมกับโพสต์ล่าสุดของฉันซึ่งคุณสามารถอ่านในตอนบ่าย Coder


สิ่งนี้แตกต่างจากคำตอบของเฉินถังอย่างไร
Gilles

มีตัวอย่างของการกำหนดค่า
เทรวิส

-1

คุณยังสามารถตัดสินใจที่จะใช้สวิทช์หน้าต่างแทนการมองเห็นC-x o


1
ประโยชน์ของสวิตช์หน้าต่างคืออะไร เหตุใดฉันจึงควรใช้มากกว่า 14 โซลูชันอื่น ๆ ที่เสนอในหน้านี้
Gilles

คุณควรบอกว่าอย่างไร Emacs เป็นทางเลือกการปรับแต่งและอิสระในการตัดสินใจ
csantosb

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