Saya menggunakan emacs Saya menemukan bahwa kadang-kadang saya memiliki 2 file yang dipisahkan menjadi 2 jendela.
Misalnya: Saya membuka 1 file menggunakan C-x C-f file1.c RET
dan saya membagi bingkai menjadi dua jendela: C-x 3
Saya kemudian membuka file lain C-x C-f file2.c RET
Jadi saya punya 2 file:
jendela 1 (kiri) file1.c
jendela 2 (kanan) file2.c
Saya bertanya-tanya apakah ada kombinasi tombol untuk menukar file? Biasanya saya suka bekerja di jendela kiri ketika saya memiliki 2 jendela. Saya tahu saya dapat dengan mudah melakukannya C-x ountuk memindahkan kursor ke jendela kanan.
Namun, saya hanya ingin tahu apakah saya dapat menukar file sehingga file2.c
ada di jendela kiri dan file1.c
di jendela kanan?
Jawaban:
Saya menggunakan buffer-move untuk ini. Sekarang jika Anda bekerja pada buffer di sisi kiri, memanggil 'buf-move-right' akan menukarnya dengan buffer di sebelah kanan. Saya kira ini yang Anda inginkan.
sumber
(defun win-swap () "Swap windows using buffer-move.el" (interactive) (if (null (windmove-find-other-window 'right)) (buf-move-left) (buf-move-right)))
win-swap
itu berfungsi dengan baik, terima kasih!C-S-up
kebuf-move-up
dll.The transpose-frame perpustakaan menyediakan satu set cukup komprehensif fungsi untuk membalik atau memutar pengaturan window di frame.
M-x
flop-frame
RET melakukan apa yang dibutuhkan pertanyaan khusus ini.Diagram berikut berasal dari komentar di perpustakaan (dan halaman EmacsWiki-nya):
sumber
flop-frame
hanya berfungsi jika pemisahan antara jendela vertikal, untuk pemisahan horizontal yang Anda butuhkanflip-frame
. Namun,rotate-frame
bekerja dengan tidak hormat; satu perintah untuk menukar buffer antara dua jendela, tidak peduli apa orientasi perpecahannya :)Di file Emacs 26.1 NEWS ada entri berikut:
Manakah yang tampaknya menawarkan fungsionalitas serupa
crux-transpose-windows
tetapi juga dapat melakukan transisi tinggi / lebar?sumber
M-x window-swap-states
menukar buffer di antara dua jendela.Jika Anda menggunakan Prelude, Anda bisa menggunakan
C-c s
(prelude-swap-windows
). Dari dokumentasi Prelude:sumber
curl | sh
= wtf?), tetapi inti jelas terlihat bagus dan melakukan banyak hal yang saya gulung sendiri di tempat pertama.curl | sh
itu, yang saya katakan adalah: itu jahat.Saya tidak mengetahui ada fungsi bawaan yang melakukan ini.
Namun, tampaknya tidak terlalu sulit untuk menyiapkan beberapa elisp untuk melakukannya. Iblis ada dalam detailnya.
Khususnya, ini mungkin tidak melakukan apa yang Anda inginkan sehubungan dengan tujuan akhir tanda sisipan. Namun, Anda harus terlebih dahulu mengatakan apa yang Anda inginkan: p
sumber
Jika Anda memiliki pendahuluan, Anda dapat menggunakan ace-window dengan
S-w
. Dari sana Anda dapat melakukan banyak hal yang tercantum di dokumen mereka .Jadi itu akan terjadi
S-w m
sumber
ace-swap-window
terikat denganSPC w M
. Fungsi ini tersedia secara default.Potongan kode berikut dapat melakukan switch buffer.
sumber
Saya akan berusaha untuk membuka file # 2 di lokasi yang diinginkan, yaitu setelah Anda menekan cx 3, gerakkan kursor dengan cx o sebelum menavigasi ke file kedua.
sumber