Bagaimana cara saya menonaktifkan sepenuhnya semua indentasi otomatis di Emacs? Saya perlu menonaktifkannya setidaknya untuk mode Fundamental, tapi saya baik-baik saja dengan itu dinonaktifkan secara global untuk sesi saat ini.
Harap baca sisa pertanyaan ini sebelum menyatakannya sebagai duplikat. Semua jawaban lain yang saya temukan adalah untuk menonaktifkan indentasi yang lebih bertarget. Saya benar-benar ingin sepenuhnya menonaktifkan semua lekukan-otomatis untuk seluruh sesi.
Pengaturan electric-layout-mode
untuk nil
tidak berfungsi.
Detail
Kadang-kadang saya suka menulis pesan komit besar Git dengan editor teks Windows ASCII saya. Pesan-pesan ini sering memiliki daftar peluru, blok kode, atau hal-hal lain di mana pemformatan yang tepat dalam dokumen sumber saya bermakna. Basis kode saya ada di Linux, dan saya terhubung ke kotak menggunakan klien SSH hanya teks. Ketika Git memasuki Emacs untuk mengedit pesan komit, saya ingin dapat menyalin pesan komit sumber ke clipboard Windows kemudian menempelkannya menggunakan perintah tempel Windows. Dari perspektif Emacs, saya mengetik apa yang ditemukan dalam file teks Windows. Sayangnya, ketika Emacs melihat garis lekukan, ia menambahkan lekukan otomatisnya sendiri, jadi saya mendapatkan segitiga ruang kosong yang besar ini di sepanjang tepi kiri buffer.
Saya menggunakan GNU Emacs 24.3.1.
Penanganan masalah
Solusi saya saat ini adalah mentransfer file teks Windows saya ke sistem file yang di-mount oleh host Linux saya, memuat file ke Emacs, kemudian gunakan kill dan yank untuk mentransfer konten. Ini agak kikuk.
Contoh
Ini contoh blok teks:
a
- b
c
d
Berikut ini tampilannya ketika saya menempelkannya ke Emacs-under-ssh via MSWin paste:
a
- b
c
d
Jika saya menekan C-h l
setelah melakukan tempel, inilah yang saya lihat. Perhatikan bahwa baris baru adalah input menggunakan C-j
, bukan RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
? Yang pada dasarnya mengatakan "jangan menyentuh teks yang ditempel dengan cara apa pun". Yang juga termasuk indentasi otomatis.
hack-local-variables-hook
- untuk pada dasarnya membatalkan apa yang ditetapkan mode-mode utama lainnya sebagai bagian dari variabel mereka. inisialisasi standar.fundamental-mode
hanya sedikit fungsi di dalamsimple.el
- yaitu(kill-all-local-variables) (run-mode-hooks)
,.M-x find-function RET fundamental-mode RET
- Anda dapat memodifikasi / membuat sendiri sesuai kebutuhan; namun, jika Anda mengubah nama, itu tidak akan digunakan oleh beberapa fungsi - jadi pertimbangkan untuk menyimpan nama yang sama.