Set emacs -nw sebagai editor default

13

Saat mengedit file suka sudoers, saya ingin menggunakan emacs bukan nano. Jadi saya menjalankan perintah ini

sudo update-alternatives --config editor

Dan saya memilih emacs. Satu-satunya masalah adalah saya suka emacs dalam mode tidak ada jendela (bendera -nw) dan saya telah emacs alias emacs='emacs -nw'sehingga saya tidak dapat menggunakan mode jendela dalam penggunaan normal, tapi saya tidak tahu bagaimana untuk mendapatkan editor default saya menjadi dalam mode tanpa jendela.

Dengan kata lain, saya perlu mendapatkan perintah sudo visudodan perintah serupa yang membuka editor untuk membuka file emacs -nw. Bagaimana saya bisa melakukan ini? Saya di Ubuntu 12,04.

gsingh2011
sumber
Ini tidak berhubungan, tetapi jika Anda bermaksud menggunakan `emacs -nw 'sebagai editor terminal default Anda, Anda mungkin ingin melihat emacsclient dan menjalankan emacs sebagai daemon. Kalau tidak, saya akan berpikir bahwa itu akan terlalu lambat untuk memulai. Dengan server emacs, ini bisa dibilang startup instan, dan tidak sulit untuk diatur.
Dodgie

Jawaban:

8

Buat skrip yang memulai emacs dengan flag -nw, misalnya / usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Instal dengan pembaruan-alternatif - instal.

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

Konfigurasikan editor untuk menjadi skrip baru Anda.

sudo update-alternatives --set editor /usr/local/bin/emacs-nw
McNisse
sumber
2
Bagi mereka yang tidak menggunakan update-alternatives fitur sistem, chmod +x /usr/local/bin/emacs-nwdan export EDITOR='emacs-nw'dalam .bashrcmelakukan trik.
smonff
1
Cukup memperbarui variabel shell EDITOR untuk menelepon emacs -nwlebih tradisional dan tidak melibatkan semua pembuatan file aneh ini untuk tugas yang begitu sederhana. Kenapa ini lebih baik?
vaer-k
6

Tambahkan berikut ini ke ~/.bashrcfile Anda (atau file konfigurasi untuk shell Anda jika bukan Bash).

export EDITOR="emacs -nw"

Ini harus mengatur (dan mengekspor) pengaturan variabel env editor default Anda sebagai Emacs dalam mode non-grafis.

Haziz
sumber
Setelah mengatur EDITORbagaimana Anda akan membuka Emacs dalam mode grafis?
Manolete
2
@ Manolete dapat Anda gunakan command emacs, ini akan menjalankan Emacs tanpa alias dan semacamnya. Tentu saja Anda bisa juga unalias emacsuntuk sesi.
Kyrremann
@Manolete Sebenarnya meluncurkan emacs dengan emacsdi baris perintah atau mengklik ikon itu masih akan meluncurkan bentuk grafis. Perintah di atas dalam posting saya hanya mengatur variabel lingkungan EDITOR ke "emacs -nw" itu sebenarnya tidak membuat alias. Itu hanya memberitahu shell bahwa editor pilihan Anda adalah emacs -nw. emacsmasih akan meluncurkan formulir grafis.
haziz
1

Saya memiliki pengaturan berikut di blog saya ~/.bashrc

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

Ini pertama-tama akan mencoba menghubungkan server daemon emacs jika sudah dimulai, jika tidak, jalankan server daemon terlebih dahulu kemudian hubungkan lagi.

Demikian pula, saya memiliki pengaturan berikut di blog saya ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
Jiacai Liu
sumber