Paket apa yang tersedia untuk pengeditan modal di Emacs? Apa yang Anda gunakan dan mengapa?
Mari kita coba memposting satu paket per jawaban. Saya mengusulkan menyebutkan kelebihan dan kekurangan setiap paket.
Inilah definisi saya tentang pengeditan modal (saya tidak dapat menemukan artikel khusus Wikipeadia):
Pengeditan modal - gaya pengeditan teks ketika pengguna secara berkala beralih antara “mode normal” ketika tombol tidak menyebabkan penyisipan karakter mereka tetapi melakukan berbagai operasi pada teks dan “mode penyisipan” ketika kunci memasukkan karakter yang sesuai. Mungkin ada lebih banyak mode, tentu saja. Kebanyakan editor modern bukanlah modal. Contoh editor teks modal adalah Vi (Vim).
key-bindings
prefix-keys
Mark Karpov
sumber
sumber
Jawaban:
evil
, E xtensible VI L ayer untuk EmacsDi samping nama yang dipertanyakan,
evil
adalah kondisi terkini dalam halvim
persaingan di Emacs (dan mungkin di tempat lain, dalam hal ini). Ini mendukung banyak fitur yang dihindari oleh paket emulasi Vim lainnya, termasuk:vim
objek teksvim
registervim
makro keyboardex
perintahKeuntungan
vim
berarti Anda tidak kehilangan memori otot saat beralih ke sistem tanpa Emacs.vim
portingevil
.vim
tata bahasa gaya adalah modular dan cocok untuk ekstensi penggunaevil
itu sendiri sangat dapat dikembangkan: buat objek teks, operator, dan gerakan Anda sendiri!Kekurangan
evil
membuat case-use yang paling umum menjadi sangat mudah.evil
adalah sistem yang sangat kompleks. Peretasan pada inti jahat bisa menjadi sangat terlibat.vim
keybindings belum tentu optimal secara ergonomis. Terkadang, mereka bisa merasa sedikit sewenang-wenang ketika dipindahkan ke sistem yang berbeda.sumber
Ada
god-mode
( https://github.com/chrisdone/god-mode ), yang menggunakan binding kunci Emacs standar tetapi menghilangkan kebutuhan untuk menahan pengubah. Ketika mode-dewa diaktifkan,C-...
binding tidak memerlukan pengubah danM-...
binding menggunakan awalan alih-alih pengubah.Sebagai contoh dari halaman github:
sumber
Menambahkan sendiri, terima kasih @ Mark atas dorongan.
Tombol Terbang Xah
Dirancang dari bawah ke atas untuk emacs, dengan tujuan menjadi sistem yang PALING efisien, dari pengalaman bertahun-tahun dengan mode-ergoemacs. Pilihan utama didasarkan pada sains sebanyak mungkin, berdasarkan statistik frekuensi kunci dan skor kunci yang mudah ditekan. Perintah yang paling sering digunakan dipetakan ke tombol yang paling mudah ditekan. Masalah lain, seperti pengelompokan, dan bigram mengikat kunci, juga dipertimbangkan dari 3 tahun percobaan mingguan.
Poin Menarik:
Kekurangan:
Saya pengarangnya, jadi berhati-hatilah agar saya bias secara tidak sadar. Jangan ragu untuk berkomentar atau mengoreksi.
sumber
Modalka harus menjadi anak terbaru di blok pengeditan modal. Proyek github tampaknya berumur 10 hari. Saya tidak punya cukup waktu penggunaan untuk berkomentar atau mengevaluasi, tetapi begini caranya dijelaskan:
Dokumentasi juga membandingkan dan kontras Modalka dengan solusi modal umum lainnya, seperti
evil
,god-mode
,boon
, dllsumber
Anugerah
Boon adalah salah satu paket yang kurang dikenal untuk mengedit modal. Itu tidak meniru Vi (atau Vim) tetapi memberikan tata letak asli dioptimalkan untuk tata letak keyboard Colemak.
Keuntungan dan Prinsip Desain
Alokasi spasial pertama, mnemonik kedua: alokasi kunci untuk perintah didasarkan pada prioritas lokasi tombol pada keyboard. Apa pun yang dicetak pada tutup tombol adalah masalah sekunder.
Gulungan jari mudah: kombinasi umum harus berupa pergantian tangan kiri / kanan atau gulungan satu tangan yang mudah.
Gunakan baris home dan jari yang kuat untuk perintah yang paling sering digunakan
Navigasi yang mudah: banyak perintah terikat pada navigasi. Ini memfasilitasi bergerak. Karena gerakan berfungsi ganda sebagai definisi wilayah, itu membuat perintah manipulasi (operator) lebih kuat.
Kekurangan
sumber
Ergoemacs juga mendukung pengeditan modal. Itu tidak meniru vi, tetapi menggunakan tombol Alt untuk perintah yang paling sering digunakan. Misalnya, kursor bergerak adalah Alt dan tangan kanan terbalik T. (Pada QWERTY itu Alt+ juntuk left, Alt+ luntuk kanan, Alt+ iuntuk updan Alt+ kuntuk down). Menghapus karakter atau kata adalah Altdengan tombol baris home kiri. Pilihan kunci didasarkan pada frekuensi perintah dan posisi tombol untuk kemudahan pers.
Selain paradigma modal tradisional, ada paradigma modal semu yang memungkinkan setiap kombinasi
C-x
atauC-c
kunci dapat dicapai tanpa menggunakan pengubah (seperti mode dewa).C-c
dengan tombol kontrol ditekan ke bawah dan QWERTY apps duntukC-x
.Selain mengubah tombol perintah, mode-ergoemacs memungkinkan Anda mengubah hal-hal tentang urutan tombol saat mengetiknya:
mode-ergoemacs juga berupaya untuk menghargai apa pun yang dilakukan mode terhadap tombol-tombol dasar. Misalnya, jika mode-org mendefinisikan kunci khusus untuk
next-line
, ergoemacs menggunakan perintah ini untuk Alt+ kketika dalam mode-org.Keuntungan:
C-o
), Tutup (C-w
), Pilih semua (C-a
), Salin (C-c
), Potong (C-x
), Tempel (C-v
), dll.Kekurangan:
Lihat https://github.com/ergoemacs/ergoemacs-mode
sumber
Opsi semi-modal lainnya adalah Hydra:
https://github.com/abo-abo/hydra
Menurut situs web
Bayangkan bahwa Anda telah mengikat Cc j dan Cc k di konfigurasi Anda. Anda ingin memanggil Cc j dan Cc k dalam beberapa urutan (arbitrer). Hydra memungkinkan Anda untuk:
Ikat fungsi Anda dengan cara menekan Cc jjkk3j5k sama dengan menekan Cc j Cc j Cc k Cc k M-3 Cc j M-5 Cc k. Kunci apa pun selain j atau k keluar dari keadaan ini.
Tetapkan petunjuk khusus untuk grup fungsi ini, sehingga Anda segera tahu setelah menekan Cc yang dapat Anda tindak lanjuti dengan j atau k.
Saya belum menggunakannya tetapi sepertinya menarik.
sumber