Đặt emacs -nw làm trình chỉnh sửa mặc định


13

Khi chỉnh sửa tập tin như sudoers, tôi muốn sử dụng emacs thay vì nano. Vì vậy, tôi đã chạy lệnh này

sudo update-alternatives --config editor

Và tôi đã chọn emacs. Vấn đề duy nhất là tôi thích emacs ở chế độ không có cửa sổ (cờ -nw) và tôi đã đặt bí danh emacs='emacs -nw'để tôi không thể sử dụng chế độ cửa sổ trong sử dụng bình thường, nhưng tôi không biết làm thế nào để có trình soạn thảo mặc định của mình không có chế độ cửa sổ.

Nói cách khác, tôi cần nhận lệnh sudo visudovà các lệnh tương tự mở trình soạn thảo để mở tệp emacs -nw. Tôi có thể làm cái này như thế nào? Tôi đang dùng Ubuntu 12.04.


Điều này không liên quan, nhưng nếu bạn có ý định sử dụng 'emacs -nw' làm trình soạn thảo thiết bị đầu cuối mặc định của mình, bạn có thể muốn xem xét emacsclient và chạy emacs như một trình nền. Nếu không, tôi sẽ nghĩ rằng nó sẽ quá chậm để khởi động. Với một máy chủ emacs, nó thực sự khởi động ngay lập tức và không khó để thiết lập.
Dodgie 4/11/2016

Câu trả lời:


8

Tạo một tập lệnh bắt đầu emacs với cờ -nw, ví dụ / usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Cài đặt nó với cập nhật thay thế - cài đặt.

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/emacs-nw 2

Cấu hình trình chỉnh sửa là tập lệnh mới của bạn.

sudo update-alternatives --set editor /usr/local/bin/emacs-nw

2
Đối với những người không sử dụng update-alternatives đặc trưng hệ thống, chmod +x /usr/local/bin/emacs-nwexport EDITOR='emacs-nw'trong .bashrclàm các trick.
smonff

1
Chỉ đơn giản là cập nhật biến shell EDITOR để gọi emacs -nwlà truyền thống hơn và không liên quan đến việc tạo tệp lạ này cho một tác vụ đơn giản như vậy. Tại sao điều này tốt hơn?
vaer-k

6

Thêm phần sau vào ~/.bashrctệp của bạn (hoặc tệp cấu hình cho trình bao của bạn nếu không phải là Bash).

export EDITOR="emacs -nw"

Điều này sẽ đặt (và xuất) một biến env thiết lập trình soạn thảo mặc định của bạn là Emacs ở chế độ phi đồ họa.


Sau khi cài đặt, EDITORbạn sẽ mở Emacs ở chế độ đồ họa như thế nào?
Manolete

2
@Manolete bạn có thể sử dụng command emacs, điều này sẽ chạy Emacs mà không có bí danh và như vậy. Tất nhiên bạn cũng có thể unalias emacscho một phiên.
Kyrremann

@Manolete Trên thực tế, khởi chạy các emacs bằng emacsdòng lệnh hoặc nhấp vào biểu tượng của nó vẫn sẽ khởi chạy biểu mẫu đồ họa. Lệnh trên trong bài viết của tôi chỉ đặt biến môi trường EDITOR thành "emacs -nw" nó thực sự không tạo ra bí danh. Nó chỉ nói với trình bao rằng trình soạn thảo ưa thích của bạn là emacs -nw. emacsvẫn sẽ khởi chạy các hình thức đồ họa.
haziz

1

Tôi có thiết lập sau trong ~/.bashrc

export EDITOR="emacsclient -t -a=\"\""

Điều này trước tiên sẽ cố gắng kết nối máy chủ ememon daemon nếu nó đã được khởi động, nếu không thì khởi động máy chủ daemon trước sau đó kết nối lại.

Tương tự, tôi có cài đặt sau trong ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
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.