Crontab için varsayılan metin düzenleyiciyi vim olarak değiştir


100

Ubuntu 9.10 kullanıyorum ve varsayılan metin editörü nefret ettiğim nano'dur. (herkes değil mi?)

Normalde bu bir sorun değil, çünkü sadece her şeyi mahvediyorum ya da her şeyi ele geçiriyorum ama crontab -enano ile açılıyor. sudo update-alternatives --config editorSeçenek 3'ü ("/usr/bin/vim.basic") kullanarak ve seçerek onu değiştirmeye çalıştım . Bu hem sudo hem de sudo olmayanlar için değişti. Ama crontab -eyine de nano açar. Herhangi bir fikir? maksimum

Yanıtlar:


124

crontab -eKomut ortam değişkenleri kontrol edecek $EDITORve $VISUALböylece, varsayılan metin editörü geçersiz kılma için ...

export VISUAL=vim

veya

export EDITOR=vim

hile yapmalı.


6
Başka bir kullanıcının crontab'ını düzenliyorsanız , env değişkenlerinizi kullanacağınız sudo -E crontab -eyeri sudo -Ekullanın.
MarkHu,

89

Ubuntu'da, çalışmayı deneyin:, select-editoretkileşimli olarak yaratır ~/.selected_editor:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

Bu (sudo ve benim altında) denedim ve ne olursa olsun değiştirdim, yine çağırdığımda hala nano oldu. Yine de EDITOR env var ile düzeltildi, ancak yine de daha iyi anlatabileceğimi düşündüm. Şerefe
Max Williams

4
Cevapların üstünde işe yaramadı ... bu işe yarıyor.
mlissner

2
Evet, bu / usr / bin / sensible-editor tarafından kullanılan ~ / .sensible_editor öğesini değiştirir. Düzenleyiciyi belirten ortam değişkenlerinin yokluğunda, crontab, eski kullanıcı başına konfigürasyona izin verdiği gibi editör değil mantıklı editör çalışıyor.
eel ghEEz

2
@MaxWilliams, select-editörünü çalıştırarak daha önce ~ / .sensible_editor içinde saklanan seçimi göstermeyecektir.
eel ghEEz

5
@eelghEEz - Bunu mu demek istiyorsun ~/.selected_editor? Sistemimde olan ve başka bir yerde gördüğüm şey bu.
Wilson F

12

Çok nefret nanoediyorsanız, kaldırabilirsiniz:

sudo apt-get remove nano

crontabdaha sonra sadece bir sonraki varsayılan olmalıdır EDITOR(benim için öyleydi vim.basic).


Cron işlerini süper kullanıcı hesabıyla yapıyoruz ancak bir dev hesabına giriş yapıyoruz. Yani dev hesaptan yapmam gerekiyor sudo crontab -e. Ben set export EDITOR=vimiki süper-kullanıcı ve dev hesabın .bashrc içinde, ama sudo crontab -eyine de nano açılıyordu. Nano'yu kaldırdıktan sonra vim açılır. Teşekkürler!
arun

1
Bu benim için çalışan tek çözüm. Bundan önce 4-5 şey denedim :)
Charlie Wynn

OP'in ima ettiği gibi, asla nanoya ihtiyaç duymazsanız, bu en iyi çözümdür. Neden daha önce başıma gelmediğinden emin değilim - muhtemelen crontab'ın bir sonraki kullanılabilir editöre varsayılan olacağını fark etmemişimdir! Müthiş
Luke,

11

Kimden man crontab:

-E seçeneği, geçerli crontab'ı editörü kullanarak düzenlemek için kullanılır.
VISUAL veya EDITOR ortam değişkenleri tarafından belirtilir. Senden sonra
editörden çıkınca, değiştirilen crontab otomatik olarak kurulur.
cally. Ortam değişkenlerinden hiçbiri tanımlanmamışsa,
varsayılan editör / usr / bin / editor kullanılır.

Şuna ekle ~/.bashrc:

export EDITOR=vim

4

En iyi seçenek editörün alternatifini belirlemektir (sadece bir kullanıcı değil):

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100

3
Değişikliği istemeyen diğer kullanıcıların ayarını değiştirmek neden daha iyi?
37'de ceving

3
export EDITOR=vi && crontab -e 

debian sıkıştırması üzerinde çalışıyor


2
Küçük bir açıklama uzun bir yol giderdi.
ChrisF

3
Bu, EDITOR ortam değişkenini ayarlar ve ardından crontab dosyasını düzenler, EDITOR=vim crontab -eaynı zamanda çalışacaktır, ancak yalnızca bir kez.
0x4a6f4672 21:12

3

Maalesef yorum yapamam veya oy kullanamam.

Ubuntu’da yapılandırma dosyası ~/.selected_editor

Aşağıdaki komutla varsayılan düzenleyiciyi tekrar seçebilirsiniz :

$ select-editor

Dosyayı ana dizininizden silmek de çalışır.

$ rm ~/.selected_editor

Yalnızca değişkenleri ayarlamak $VISUALveya $EDITORçalışır, ancak yalnızca ortamınızda yürütülen bir komut dosyasına yazarsanız kalıcı olur.

Rc dosyanıza ekleyin

$ echo "export VISUAL=/usr/bin/vi" >> ~/.bashrc

Ancak son çözümü kullanmanızı tavsiye etmem.


Tavsiye etmiyorsan neden sağladın?
Ramhound

Sadece tamamlanmak için ve diğer insanlar bu şekilde tercih edebilir.
André

0

Dosyayı en iyi şekilde kaldırmanız gerekir, ~/.sensible_editorardından çalışan crontab -esizden tercih edilen editörü seçmenizi ister.
O andan itibaren tercihiniz ~/.sensible_editordosyada hatırlanacaktır .


neden bu kadar oy verildi emin değilim tam olarak ihtiyacım olan ve mükemmel çalıştı.
rob,

Ubuntu biliyor gibi görünmüyor emacsclient.
ceving

-1

Debian için şunları kullanın:

sudo update-alternatives --config editor command

ve

 ----------------------------------------------------------
06  * 0          /bin/nano            40       
07  1            /bin/nano            40       
08  2            /usr/bin/vim.basic   30        
09  3            /usr/bin/vim.tiny    10        

'2' seçeneğini seçin ve enter tuşuna basın. Anladım!


Süper Kullanıcıya Hoşgeldiniz! Lütfen soruyu tekrar dikkatlice okuyunuz. Yanıtınız yok değil orijinal soruya cevap. OP bunu zaten denedi (soruda var) ve sorununu çözmedi.
DavidPostill

-1

En kolayı, bütünüyle istemediğiniz üründen kurtulmak olacaktır. Diğer tüm yapılandırma değişiklikleri otomatik olacaktır.

apt-get install vim -y && apt-get remove nano -y


-1

Bazı Debian'lar gibi daha eski makinelerde bu da işe yarar ve en taşınabilir çözümdür.

mv /usr/bin/editor /usr/bin/.editor
ln -s $(which vim) /usr/bin/editor

Hayır, hiçbir şeyi /usr/binel ile karıştırmayın; bu yerler dpkgdoğrudan idare edilir ve manipüle edilmemelidir.
üçlü
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.