Tôi đoán rằng mục tiêu cuối cùng của bạn là chạy Emacs từ ổ USB mà bạn có thể mang theo. Có hai cách để có Emacs bắt đầu với một tập tin init khác nhau:
(1) cách -q --load
này chỉ đơn giản là để chạy
emacs -q --load path-to-your-init.el
mà bắt đầu Emacs không bất kỳ khởi tạo nào, sau đó tải path-to-your-init.el
Gotchas theo cách này: trong trường hợp này, Emacs không thực sự coi tệp el là tệp init, trên thực tế, Emacs đã không đi thông qua khởi tạo, có nghĩa là các bước sau khởi sau bị bỏ qua:
gói cho phép, có nghĩa là, đánh giá (package-initialize)
chạy móc after-init-hook
, có nghĩa là, đánh giá (run-hooks after-init-hook)
Bạn có thể phải thêm công cụ sau khi khởi tạo trong tệp init thay thế của bạn.
Ngoài ra, Giao diện tùy chỉnh sẽ không cho phép bạn lưu cài đặt nếu Emac bắt đầu bằng tùy chọn -q
.
(2) cách CHỦ
Tạo my-emacs.bat với nội dung:
set HOME=%~dp0
C:\path-to-your\Emacs\bin\runemacs.exe --xrm "emacs.Background: light green"
Khi bạn bấm vào đó file bat, Emacs tạo thư mục có tên .emacs.d
không sử dụng thông thường của bạn thư mục, nhưng ở nơi tệp dơi là. Bạn có thể đặt init.el
của riêng mình trong thư mục .emacs.d
đó. Với Emacs này, việc đánh giá (find-file "~/.emacs.d/init.el") sẽ mở khóa di động của bạn init.el
và không phải là tệp init trong thư mục người dùng thông thường của bạn.Bạn có thể muốn xóa phần --xrm "emacs.Background: light green"
, tôi bao gồm điều đó vì tôi luôn quên Emacs nào.
Gotchas: Emacs này có thư mục gói riêng trong thư mục .emacs.d
riêng của mình. Điều đó có thể hoặc không thể là những gì bạn muốn. Nếu bạn muốn chia sẻ thư mục gói, bạn có thể thay đổi package-user-dir
hoặc tạo một liên kết tượng trưng đến thư mục gói được chia sẻ bằng cách sử dụng phần mở rộng liên kết vỏ.
Somethings để xem xét cho chạy Emacs trên một ổ đĩa USB:
Emacs outsources một số tính năng của nó với các công cụ bên ngoài. Tham lam và so sánh được thuê ngoài để grep và khác biệt, vì vậy bạn có thể đã cài đặt ít nhất GnuWin32 Grep và GnuWin32 DiffUtils trên hệ thống của bạn. Và một phần của kiểm tra chính tả được thuê ngoài để aspell, đó cũng là một cài đặt riêng biệt. Mã hóa được thuê ngoài để GPG, do đó, Gpg4Win cài đặt riêng biệt khác. Đối với các Emacs di động của bạn để có tất cả các tính năng đó, tất cả những công cụ bên ngoài đó cũng phải có trên ổ USB của bạn. May mắn thay, GnuWin32 và aspell là di động thân thiện. Tôi không biết nếu GPG là. Sự phụ thuộc vào grep bên ngoài có thể được loại bỏ nếu bạn quản lý để tạo ra các phiên bản của lgrep và rgrep chỉ phụ thuộc vào grep của riêng eshell, nhưng có vẻ như không ai làm điều đó, do đó, làm cho lgrep/rgrep đó là mạnh dạn đi nơi không có người đã đi trước .
'Tên người dùng không hợp lệ' sẽ đưa ra gợi ý! – devnull