2013-11-01 17 views
5

Tôi thích bắt đầu công việc của mình ở Emacs với hai cửa sổ đang mở. Cho rằng, tôi có một chức năng (split-window-theo chiều ngang) trong tập tin .emacs của tôi.Emacs: chỉ thực hiện chức năng sau khi khởi động lại, không phải sau khi đánh giá bộ đệm

Nó hoạt động không có vấn đề gì, chia cửa sổ thành hai cửa sổ cạnh nhau sau mỗi lần đánh giá bộ đệm .emac. Tất nhiên, nó cũng chia tách cửa sổ mỗi khi tôi đánh giá lại tập tin .emacs để kiểm tra một số thiết lập mới. Làm thế nào tôi có thể nói với emacs không chia cửa sổ sau mỗi lần đánh giá bộ đệm .emacs, nhưng thay vì chỉ sau khi khởi động lại các emacs?

Tôi đang tìm một cái gì đó như:

(eval-only-after-restart 
    (split-window-horizontally)) 

Có chức năng như vậy? Hoặc một cách khác làm thế nào để làm điều đó?

+0

Cậu nói _horizontally_? Tách ngang là như vậy, đi theo chiều dọc đầu tiên. –

Trả lời

5

Như thế này:

+0

Cảm ơn bạn! Giải pháp thanh lịch. – Katarina

+0

'boundp' và' setq' là gì? –

+0

Chúng là hình thức elisp. Tất cả chúng đều được ghi lại, do đó, với con trỏ của bạn trên bất kỳ loại nào trong số chúng, hãy nhập ' f' để tìm hiểu xem chúng làm gì. –

0

Đối với tôi, tôi có một macro trên M-F12 nhằm tối đa hóa cửa sổ emacs (M-x maximize) và chia nó theo chiều dọc. Kể từ khi tôi kích hoạt nó bằng tay, tôi quyết định khi nào làm điều đó và khi không. Những gì tôi đang cố gắng để nói là, tự động phân chia ngay từ đầu có thể là một ý tưởng hay, nhưng có lẽ không phải là tốt nhất.

1

Thay vì đánh giá lại toàn bộ bộ đệm khi bạn thêm nội dung mới, hãy xem xét chỉ đánh giá sexp mà bạn đã thêm, bằng cách chạy C-x C-e ở cuối sexp được cho biết.

3

Một cách khác:

(add-hook 'emacs-startup-hook #'split-window-horizontally) 
Các vấn đề liên quan