Ustaw emacs -nw jako domyślny edytor

13

Podczas edycji plików takich jak sudoerschcę używać emacsa zamiast nano. Uruchomiłem więc to polecenie

sudo update-alternatives --config editor

I wybrałem emacsa. Jedynym problemem jest to, że lubię emacsa w trybie bez okien (flaga -nw) i aliasy emacs emacs='emacs -nw'tak, że nie mogę używać trybu okien w normalnym użyciu, ale nie wiem, jak uzyskać domyślny edytor w trybie bez okien.

Innymi słowy, muszę uzyskać polecenie sudo visudoi podobne polecenia, które otwierają edytory do otwarcia pliku emacs -nw. W jaki sposób mogę to zrobić? Jestem na Ubuntu 12.04.

gsingh2011
źródło
Nie ma to żadnego związku, ale jeśli zamierzasz używać `emacs -nw 'jako domyślnego edytora terminali, możesz przyjrzeć się emacsclient i uruchomić emacsa jako demona. W przeciwnym razie pomyślałem, że uruchomienie byłoby o wiele za wolne. Z serwerem emacs jest praktycznie natychmiastowy i nie jest trudny do skonfigurowania.
Dodgie,

Odpowiedzi:

8

Utwórz skrypt uruchamiający emacsa z flagą -nw, np. / Usr / local / bin / emacs-nw.

#!/bin/sh

emacs -nw "$@"

Zainstaluj go z aktualizacjami-alternatywami - zainstaluj.

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

Skonfiguruj edytor, aby był nowym skryptem.

sudo update-alternatives --set editor /usr/local/bin/emacs-nw
McNisse
źródło
2
Dla tych, którzy nie korzystają z alternatywnych systemów update-funkcjonalny, chmod +x /usr/local/bin/emacs-nwa export EDITOR='emacs-nw'w .bashrcrade.
smonff
1
Po prostu aktualizacja zmiennej powłoki EDITOR w celu wywołania emacs -nwjest bardziej tradycyjna i nie wymaga tworzenia tego dziwnego pliku dla tak prostego zadania. Dlaczego to jest lepsze?
vaer-k
6

Dodaj następujące elementy do swojego ~/.bashrcpliku (lub pliku konfiguracyjnego powłoki, jeśli nie jest to Bash).

export EDITOR="emacs -nw"

Powinno to ustawić (i wyeksportować) zmienną env ustawiającą domyślny edytor jako Emacs w trybie innym niż graficzny.

haziz
źródło
Po ustawieniu, EDITORjak otworzyć Emacsa w trybie graficznym?
Manolete
2
@Manolete, którego możesz użyć command emacs, uruchomi to Emacsa bez aliasów i tym podobnych. Oczywiście możesz także unalias emacsna sesję.
Kyrremann
@Manolete Właściwie uruchomienie emacsa za emacspomocą wiersza poleceń lub kliknięcie jego ikony nadal spowoduje uruchomienie formy graficznej. Powyższe polecenie w moim poście po prostu ustawia zmienną środowiskową EDITOR na „emacs -nw”, tak naprawdę nie tworzy aliasu. Po prostu informuje powłokę, że preferowanym edytorem jest emacs -nw. emacsnadal uruchomi formę graficzną.
haziz
1

Mam następujące ustawienie w moim ~/.bashrc

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

Najpierw spróbuje połączyć się z serwerem demona emacs, jeśli jest już uruchomiony, w przeciwnym razie najpierw uruchom serwer demona, a następnie połącz ponownie.

Podobnie mam następujące ustawienie w moim ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
Jiacai Liu
źródło