Thay đổi trình chỉnh sửa crontab mặc định


139

Tôi đang cố gắng thay đổi trình chỉnh sửa mặc định từ nanosang vim.

Tôi đã chạy các lệnh sau:

sudo update-alternatives --config editor

update-alternatives --config editor

Cả hai đầu ra bây giờ:

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Tôi đã khởi động lại phiên ssh của mình và khởi động lại sshd nhưng crontab -e vẫn mở trong nano

Tôi cần làm gì khác?


1
Tôi không nghĩ bất kỳ câu trả lời nào trong số này thực sự giải quyết câu hỏi phải không?
địa lý

Đây là một câu trả lời sâu rộng hơn: Askubfox.com/questions/977538/ trên
SDsolar

Câu trả lời:


121

Hãy thử phiên ssh của bạn theo sau bởi

export EDITOR=vim

hoặc có thể

export EDITOR=/usr/bin/vim.basic

Định dạng cài đặt của biến EDITOR phụ thuộc vào lớp vỏ bạn đang sử dụng.

Trong Ubuntu, bạn có thể đặt biến môi trường EDITOR trên đăng nhập bằng cách thêm ở trên vào ~/.profile

Phiên SSH của bạn sẽ đọc một tệp tương tự (nếu có) trên máy chủ từ xa được gọi ~/.ssh/environment. Điều này phải được xác định cụ thể bởi cấu hình ssh daemon. Xem man sshd_configvà tìm kiếm PermitUserEnvironmentđể biết thêm chi tiết.


1
Điều này cũng hoạt động trong CentOS
machineaddict

Bất kỳ lý do nào bạn sẽ không muốn sử dụng .bashrc ở đây? dường như làm việc cho tôi, hoặc là .profile tốt hơn?
Nate

3
Câu trả lời chọn biên tập dưới đây là câu trả lời tốt hơn
mcarans

215

Chỉ cần chạy select-editor, điều này sẽ cho phép bạn chọn bất kỳ trình soạn thảo nào bạn muốn.


9
Câu trả lời tốt hơn tôi nghĩ hơn những gì đã được chọn. Đừng phải thay đổi hồ sơ bash của tôi để thiết lập trình chỉnh sửa. Xác minh bằng cách đăng xuất và đăng nhập lại.
Paul Carlton

4
Nên là câu trả lời được chấp nhận. Cảm ơn Mostafa!
DylanYoung

3
Chắc chắn nên là câu trả lời được chấp nhận! Điều này đã giúp rất nhiều! : D
Fadi

3
Đây là câu trả lời duy nhất có hiệu quả với tôi
cjohansson

3
Câu trả lời hay nhất. ...
Chúng tôi là Borg

26

Sở thích cá nhân của tôi ...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano

Tôi thích nó, làm việc đủ tốt cho tôi sau khi cập nhật thay thế không hoạt động.
Cole Busby

5
Tôi sẽ không biết có vấn đề gì với nano đối với các quản trị viên không thấy giá trị khi học các lệnh vi chỉ để điều chỉnh một số tệp cấu hình.
Tối đa

1
Tôi đoán làm bất cứ điều gì bạn thích trên máy cá nhân của riêng bạn. Nhưng trên một máy được chia sẻ với bất kỳ ai khác, đề xuất này về cơ bản vô hiệu hóa nano cho tất cả người dùng theo cách mà khi người dùng yêu cầu cụ thể nano, họ sẽ nhận được vim thay thế. Điểm của điều đó là gì? Nếu họ muốn vim, họ sẽ yêu cầu nó. Nếu vấn đề ở đây là hệ thống được cấu hình để tự động gọi nano trong một số trường hợp cá nhân bạn thích vim hơn, thì hãy thay đổi cấu hình.
gwideman

13

Từ "người đàn ông crontab":

   The -e option is used to edit the  current  crontab  using  the  editor
   specified  by  the  VISUAL  or EDITOR environment variables.  After you
   exit from the editor, the modified crontab will be installed  automati‐
   cally.  If  neither  of  the environment variables is defined, then the
   default editor /usr/bin/editor is used.

Có lẽ bạn có biến enivronment EDITOR được đặt thành nano?


13

Nếu bạn chỉ muốn chọn trình chỉnh sửa tạm thời, bạn có thể làm như sau

EDITOR=nano crontab -e

Điều này đặt EDITORbiến môi trường cho lệnh


11

Trên máy tính Ubuntu 12.04 của tôi, crontabsử dụng ~/.selected_editortệp chứa đường dẫn của trình chỉnh sửa đã chọn. Sửa nó:

nano ~/.selected_editor

Tôi đã chỉnh sửa nó trực tiếp hoặc sử dụng select-editor, đó là một kịch bản để làm điều tương tự. Chỉnh sửa dòng sau:

SELECTED_EDITOR="/usr/bin/vim.basic" 

Người IHMO không nên thay đổi bất cứ điều gì trong / etc hoặc / bin để làm điều này. Đây là một điều cấp độ người dùng, không phải là một nhiệm vụ toàn hệ thống.


cho gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose

2

Tôi đã gặp khó khăn với select-editorupdate-alternatives, giải pháp của tôi chỉ đơn giản là chỉnh sửa liên kết:

  1. sudo rm /etc/alternatives/editor
  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor bây giờ mở Vim


2

Tôi đã có cùng một vấn đề - crontab -e phụ thuộc vào trình soạn thảo chọn lọc, visudo dựa vào cấu hình của "các lựa chọn thay thế"

Giải pháp của tôi:

chạy cả hai lệnh với quyền root

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50

# select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/sensible-editor
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [1]: 3

Là gốc? Sử dụng tốt hơn sudo(ví dụ: lợi ích của sudo so với su
Marc Vanhoomissen
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.