Jawaban:
Salin dan tempel dari FAQ Emacs, http://www.gnu.org/software/emacs/windows/ :
Pada Windows, .emacs
file mungkin dipanggil _emacs
untuk kompatibilitas dengan sistem file DOS dan FAT di mana nama file tidak dapat dimulai dengan titik. Beberapa pengguna lebih memilih untuk terus menggunakan nama seperti itu, karena Windows Explorer tidak dapat membuat file dengan nama yang dimulai dengan titik, meskipun sistem file dan sebagian besar program lain dapat menanganinya. Di Emacs 22 dan yang lebih baru, file init juga dapat dipanggil .emacs.d/init.el
. Banyak file lain yang dibuat oleh paket Lisp sekarang disimpan di .emacs.d
direktori juga, jadi ini menyimpan semua file terkait Emacs Anda di satu tempat.
Semua file yang disebutkan di atas harus masuk ke direktori HOME Anda. Direktori HOME ditentukan dengan mengikuti langkah-langkah di bawah ini:
C:\.emacs
ada, maka gunakan C:/
. Ini untuk kompatibilitas mundur, karena versi sebelumnya C:/
ditetapkan secara default jika HOME tidak disetel.Dalam Emacs, ~
di awal sebuah nama file diperluas ke direktori HOME Anda, sehingga Anda selalu dapat menemukan file .emacs Anda dengan C-x C-f ~/.emacs
.
Ada informasi lebih lanjut di HOME dan Direktori Startup di MS-Windows .
Ini harus disimpan dalam variabel user-init-file. Gunakan C-H v user-init-file RET
untuk memeriksa. Anda juga dapat membukanya secara langsung dengan menggunakanM-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression
?
Buka file seperti ini di Emacs untuk Windows:
C-x C-f ~/.emacs
Informasi lebih lanjut ada di Emacs Wiki
Di kotak Vista saya ada dalam C:\Users\<USER>\AppData\Roaming\
Perhatikan bahwa mungkin TIDAK cukup hanya dengan mengetik Ctrl-x Ctrl-f ~/.emacs
dan membuat file.
Mungkin aplikasi Emacs Anda menggunakan tempat berbeda untuk menyimpan file init Anda, dan jika demikian, membuat file ~ / .emacs hanya membuat file tidak berguna yang diabaikan oleh aplikasi Emacs Anda .
Selain itu, Anda mungkin ingin melakukan lebih dari sekadar mengakses file .emacs init, tetapi Anda mungkin ingin tahu di mana tempatnya, yaitu nama jalurnya.
Untuk mendapatkan ini ada dua metode:
Cara mudah: ketik Ctrl+ H Vuser-init-fileReturn
Cara yang sedikit lebih rumit: Anda dapat mengetahui di mana sistem Anda menyimpan file .emacs sendiri dengan:
c:/Users/user1/AppData/Roaming/.emacs.el
. Situs emacswiki.org/emacs/DotEmacsDotD ini membantu saya menyadari bahwa saya perlu memberi nama file ~/.emacs.d/init.el
yang berarti file dalam sistem file berada di c:\Users\user1\AppData\Roaming\.emacs.d\init.el
(sama sekali tidak seperti yang saya harapkan). Saya lebih suka mengatur variabel lingkungan HOME dan menempatkan file di %USERPROFILE%
direktori saya yang merupakan direktori HOME yang logis di windows (setidaknya sejauh yang saya ketahui).
Di Windows 7, masukkan init.el
file Anda C:\Users\user-name\AppData\Roaming\.emacs.d\
, di mana nama pengguna adalah folder pengguna / login Anda.
Berhati-hatilah agar init.el
file Anda tidak diberi nama init.el.txt
. Ini adalah sesuatu yang dilakukan Windows jika Anda membuat file Anda dengan beberapa editor seperti Notepad.
Anda harus membuat file inisialisasi emacs. Satu tidak dibuat secara otomatis. Saya memiliki masalah serupa dan jawaban ini melacak apa yang saya lakukan.
Masalah saya ~/.emacs.el
adalah file saya tidak dimuat. Aneh karena ini selalu berhasil untuk saya.
Pertanyaan / jawaban ini membantu saya tetapi saya harus memasukkan file init saya %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
karena ini tampaknya merupakan perilaku default pada Windows.
Untuk memecahkan masalah ini, saya menjalankan perintah berikut di buffer emacs * scratch * .
user-emacs-directory
"~/.emacs.d/"
Ketika saya melihat user-emacs-directory
was ~/.emacs.d
, saya hanya memindahkan file .emacs.el saya ke %USERPROFILE%\.emacs.d\init.el
. Tapi ini tetap tidak berhasil. Saya melanjutkan expand-file-name
seperti yang ditunjukkan di bawah ini:
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Harus menyukai cara kerja Windows. (tidak) Jadi saya memindahkan emacs.el
file saya ke %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
dan ini berhasil. File tersebut sekarang sedang dibaca. Tetapi saya mendapat kesalahan lain karena file inisialisasi saya memuat file (emacs pribadi) lain (dalam format ~/myenv/emacs/*.el
.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
Hum ... Sepertinya semua file saya ~/myenv/emacs/*.el
perlu dipindahkan agar ini berfungsi tetapi saya tidak ingin melakukan itu. Kemudian saya menyadari bahwa karena variabel lingkungan HOME tidak disetel, emacs melakukan perilaku defaultnya .
LARUTAN
Setelah saya menetapkan HOME
variabel lingkungan windows saya untuk %USERPROFILE%
semuanya mulai berfungsi seperti itu selama 25 tahun terakhir. :-)
Untuk menyetel variabel lingkungan HOME, saya mengetik WindowsKey + "edit variabel lingkungan untuk akun Anda" untuk membuka Variabel Lingkungan kotak dialog , dan memasukkanHOME=%USERPROFILE%
.
Sekarang file inisialisasi emacs saya .emacs.el telah kembali ke tempat yang semestinya $HOME/.emacs.el
dan tidak dalam%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Agar adil, jika Windows hanya memiliki satu tempat untuk meletakkan file untuk paket yang diinstal pengguna, solusi pembuatan HOME = %USERPROFILE\AppData\Roaming
mungkin dapat diterima, tetapi karena beberapa aplikasi menggunakan %USERPROFILE%
, beberapa menggunakan%USERPROFILE\AppData\Roaming
dan yang lain menggunakannya %USERPROFILE\AppData\Local
hanya membuat sulit untuk mengetahui di mana menemukan konfigurasi Anda file.
Saya lebih suka memiliki semuanya di direktori% USERPROFILE% atau $ HOME saya.
Pertanyaan serupa lainnya ada di sini:
Seperti yang dijawab kanja, jalur ke file ini disimpan di file user-init-file
variabel (atau jika tidak ada file init, variabel tersebut berisi nilai default untuk membuatnya).
Jadi, terlepas dari kemungkinan nama file init yang Anda gunakan, dan di direktori mana, Anda harus dapat mengunjungi file init Anda dengan:
M-: (find-file user-init-file)
RET
Atau tampilkan jalur lengkapnya di area gema dengan:
M-: (expand-file-name user-init-file)
RET
Di Emacs 23 dan Windows 7, ini hanya berfungsi jika Anda menyetel:
HKCU\SOFTWARE\GNU\Emacs\HOME
Saya menemukan bahwa Emacs 22 kadang-kadang akan membuka "C: \ Documents and Settings \ username \ Application Data \ .emacs", atau hanya "C: \ Documents and Settings \ username \ .emacs" di mesin XP saya. Saya belum menemukan penjelasan mengapa kadang-kadang berubah pikiran.
~ akan selalu menunjuk ke instance saat ini dari emacs yang dianggap HOME, tetapi tip kanja (Ch v user-init-file) akan selalu memberi tahu Anda apa yang sebenarnya dipetakan oleh ~ / .emacs.
HOME
variabel lingkungan secara berbeda, tergantung pada bagaimana saya memulai runemacs.exe
. Jika saya memulainya dari dalam Explorer, HOME
diatur ke C:\Documents and Settings\username
, tetapi jika saya memulainya dari Start Menu, HOME
adalah C:\Documents and Settings\username\Application Data
. Aneh.
Di Windows XP ini:
C:\Documents and Settings\yourusernamehere\Application Data\
Ada daftar direktori berdasarkan versi Windows Anda dan informasi tambahan: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
Pada Windows 8.1, jika Emacs dimulai dari Windows Explorer , pintasan atau dari konsol cmd menggunakan file init C: \ Users \ <USER> \ AppData \ Roaming.emacs . Saat saya memulai Emacs dari PowerShell, Emacs mencari file initnya di folder C: \ Users \ <USER> . Perbaikan untuk masalah ini adalah mengatur variabel lingkungan pengguna HOME (Panel Kontrol \ Sistem dan Keamanan \ Sistem-> Pengaturan sistem lanjutan-> Tingkat Lanjut-> Variabel lingkungan) ke C: \ Users \ <USER> . Setelah perubahan ini, tidak peduli bagaimana saya memulai Emacs, itu menggunakan file init yang sama (lihat jawaban yang diterima dari pertanyaan ini )
Untuk WIndows7 & Emacs26.3 :
jika HOME
lingkungan disetel, maka.emacs
file tersebut harus ada di folder itu.
jika tidak, harus masuk c:\
.
Dalam kedua kasus, jika .emacs
tidak ada,_emacs
harus digunakan.
Ini karena kami tidak dapat membuat .emacs
file sesuai dengan aturan penamaan file windows. (Tetapi kami dapat mengunduh atau menyalinnya dari tempat lain).