Làm thế nào tôi có thể sử dụng emacs với git trong thiết bị đầu cuối?


9

Tôi đã từng git config --global core.editor emacsđặt trình soạn thảo git của mình là emacs nhưng khi tôi làm điều đó và cam kết điều gì đó, trình soạn thảo sẽ mở ra một cửa sổ mới thay vì mở emacs trong terminal. Tôi muốn sử dụng emacs như thể -nw đã được trao cho nó nhưng viết cái này -> git config --global core.editor emacs -nwkhông phải là giải pháp.

Tôi cần phải sử dụng git cơ bản cho bây giờ.


2
Bạn có biết về pháp sư? Nó làm cho hoạt động git cơ bản trở nên dễ dàng từ bên trong Emacs. magit.vc
Tyler

2
Vâng. Không thể sử dụng nó bây giờ. Sau khi lớp học kết thúc, tôi sẽ lên cấp.
Lib101

Bạn nên mô tả những gì xảy ra khi bạn thêm "-nw" thay vì chỉ nói rằng đó "không phải là giải pháp". Nó hoạt động với tôi, khi lệnh được thoát đúng.
asjo

Câu trả lời:


19

Khi bạn chạy git config --global core.editor emacs -nw, shell của bạn chia dòng lệnh thành các từ trước khi gọi git. Do đó, Git coi "emacs -nw" là hai đối số riêng biệt. Nó chỉ cần một để đưa vào tập tin cấu hình, vì vậy cái khác bị bỏ qua. (Trên thực tế, đó là một lời nói dối nhưng bạn có thể kiểm tra chi tiết trang người đàn ông.) Bạn có thể đặt dấu ngoặc kép xung quanh một loạt các từ để nói với vỏ của bạn không phá vỡ chúng: git config --global core.editor "emacs -nw"sẽ đưa ra "emacs -nw" để git như một đối số duy nhất sẽ làm những gì bạn muốn.


2

Bạn không chỉ định những gì sai khi mở cửa sổ GUI emacs mới. Nếu vấn đề là thời gian khởi động dài, bạn có thể cân nhắc sử dụng emacsclient làm trình chỉnh sửa của mình. Tóm lại, bạn chạy (server-start)trong tệp init emacs của bạn và giữ cho các emacs GUI thông thường của bạn mở, sau đó báo cho git sử dụng một trình soạn thảo có tên là emacsclient. Điều gì xảy ra là tệp đã chỉnh sửa bật lên trong một bộ đệm mới trong các emacs đang chạy của bạn. Sau khi hoàn thành, bạn nhấn C-x #để kết thúc phiên emacsclient và sau đó git (hoặc quá trình shell khác đã khởi động trình chỉnh sửa) biết rằng trình soạn thảo "emacsclient" được thực hiện với tệp và tiếp tục với điều đó. ("emacsclient" cũng là một từ, vì vậy nó cũng giải quyết vấn đề tức thời của bạn)

Ngay cả khi chỉnh sửa của bạn phải được thực hiện trong cửa sổ terminal, bạn vẫn có thể chạy emacsclient -nwvà loại bỏ thời gian khởi động dài. Có nhiều khả năng hơn, man emacsclientlà một đọc tốt.


1
(sẽ tốt hơn khi nhận xét về câu trả lời trên, nhưng không được phép đăng bình luận)
Ury Marshak

Tôi đã tìm kiếm ở khắp mọi nơi cho điều này, hoàn toàn hạnh phúc đó là một câu trả lời :)
AER
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.