Đây là những gì tôi muốn làm: Khi Cc Cl được nhấn, một cửa sổ terminal mới được khởi chạy nếu không có cửa sổ đầu cuối, sau đó, trong terminal đó, gcc được gọi với một số cờ và tệp bộ đệm hiện tại. Tôi sẽ làm như thế nào?emacs keybinding để biên dịch tập tin C
Trả lời
Cố gắng xây dựng trong:
M-x compile gcc ...
compile
không bị ràng buộc với bất kỳ phím theo mặc định, nhưng bạn có thể làm điều gì đó như:
(add-hook 'c-mode-common-hook
(lambda() (define-key c-mode-base-map (kbd "C-c C-l") 'compile))))
Có một loạt các gói người đã viết xung quanh biên dịch trên Wiki Emacs. Hãy xem SmartCompile, CompileCommand và loại Programmer Utils.
Lợi ích của việc sử dụng M-x compile ...
trên chỉ chạy nó trong một "thiết bị đầu cuối" là bạn có được C-x ` (aka next-error
) mà sẽ nhảy bạn đến tập tin và đường gây ra lệnh lỗi. Và có lệnh biên dịch lại M-x thực hiện những gì bạn mong đợi. Và, tất nhiên, giống như tất cả các lệnh Emacs, lệnh compile
giữ lịch sử của các cuộc gọi biên dịch và bạn có thể đi qua lịch sử với M-p và M-n.
Tôi chính xác này để chạy thử nghiệm đơn vị perl của tôi trong một lân cận eshell
: http://github.com/jrockway/elisp/blob/master/_local/cperl-extras.el#L15
Hình dạng chung của mã này là:
(defun run-in-eshell (cmd use-hidden-eshell-p)
(with-current-buffer (eproject-eshell-cd-here use-hidden-eshell-p)
(eshell-preinput-scroll-to-bottom)
(goto-char (point-max))
(insert cmd)
(eshell-send-input nil t)
(goto-char (point-max))
(ignore-errors
(set-window-point (get-buffer-window) (point-max)))))
eproject-eshell-cd-here
là những gì thực sự tìm thấy bộ đệm eshell. Nếu bạn không muốn cài đặt eproject, thì bạn chỉ có thể lặp qua các bộ đệm và tự tìm chính mình.
- 1. Clisp + Emacs biên dịch và tải tập tin
- 2. biên dịch tập tin c sử dụng jni.h
- 3. Làm thế nào để biên dịch tập tin trong clojure
- 4. Biên dịch và chạy chương trình C trong Emacs
- 5. tập tin biên dịch PDB và Linker PDB nộp
- 6. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 7. Emacs C++, mở tương ứng với phần đầu tập tin
- 8. Biên dịch tập tin nguồn thành một thư mục khác?
- 9. Biên dịch tập tin mxml với kiến và flex sdk
- 10. Grunt: Xem nhiều tập tin, biên dịch chỉ thay đổi
- 11. Require.js không biên dịch tập tin js đơn đúng
- 12. Tập tin và thư mục biên dịch Grunt-contrib-sass
- 13. Làm thế nào để biên dịch CEDET 1.0pre7 biên dịch cho Emacs 23.1.50 trên Windows?
- 14. D8048: không thể biên dịch tập tin C 'openssl \ applink.c' bằng/ZW tùy chọn
- 15. D8045: không thể biên dịch tập tin C 'serialcommands.c' bằng tùy chọn/clr
- 16. Trình biên dịch biên dịch trong C#
- 17. C: Thông tin trình biên dịch tại thời gian chạy
- 18. Biên dịch C++ với Cygwin
- 19. Làm thế nào để thêm biên dịch flag -g vào một tập tin?
- 20. Làm thế nào để biên dịch tập tin mẫu ngọc bích để có được chuỗi?
- 21. Thay đổi Trình biên dịch Mặc định Trong Emacs?
- 22. Biên dịch tập lệnh ruby thành exe?
- 23. Tùy chọn biên tập và biên tập C#
- 24. Emacs biên dịch tự động đóng bộ đệm?
- 25. Matlab biên tập viên không sử dụng emacs tắt
- 26. Làm cách nào để biên dịch một tập tin đa tệp trong Rust?
- 27. Chỉ thị trình biên dịch để tạo ra một tập tin bản đồ chi tiết
- 28. làm thế nào để biên dịch tập tin aidl trong dự án android?
- 29. Biên dịch trong Eclipse với tập tin -pthread và -lrt của gcc
- 30. gmake biên dịch tất cả các tập tin trong một thư mục
Bạn nên lưu ý rằng sau khi chạy 'M-x compile' khi bạn có thể sử dụng' M-x recompile' để chạy lệnh giống như lần trước. – alternative