Câu trả lời:
Rất có thể VISUALbiến môi trường của bạn được đặt thành thứ khác. Thử:
export VISUAL=vi
VISUALkhông được đặt, EDITORbiến sẽ được sử dụng. Nhưng VISUALđã được ưu tiên hơn EDITOR.
Để trích dẫn người đàn ông:
Tùy chọn -e được sử dụng để chỉnh sửa crontab hiện tại bằng trình chỉnh sửa được chỉ định bởi các biến môi trường VISUAL hoặc EDITOR
Thông thường nhất nếu bạn chạy crontab -etừ X, bạn đã VISUALđặt; đó là những gì được sử dụng. Thử cái này:
VISUAL=vi crontab -e
Nó chỉ làm việc cho tôi :)
sudo VISUAL=vi crontab -e
Nếu các phương pháp trên không hoạt động (vì chúng không hoạt động trên bản cài đặt Ubuntu 13.04 của tôi), hãy thử:
Có một số cách thay thế:
1) Chạy trình biên tập chọn
select-editor
2) Chỉnh sửa tệp theo cách thủ công: ~/.selected_editorchỉ định trình chỉnh sửa ưa thích của bạn. Với tùy chọn này, bạn có thể chỉ định các thông số của trình soạn thảo.
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"
3) Bạn có thể chỉ định nhanh trên dòng lệnh với:
env VISUAL="emacs -nw" crontab -e
nanokhi mở crontab lần đầu tiên. Sau đó, tôi phải sử dụng sudo select-editorđể làm cho nó hoạt động. Một mẹo nếu chỉ select-editorkhông hoạt động
Tôi nghĩ bạn có thể cần sử dụng đường dẫn đầy đủ:
export EDITOR=/usr/bin/vim
VISUALđược kiểm tra trước. Vì vậy, một lời khuyên âm thanh hoàn hảo như của bạn hoạt động tốt cho một phiên SSH và không thành công một cách bí ẩn trên hộp máy tính để bàn.
Bạn có thể sử dụng lệnh dưới đây để mở nó trong trình soạn thảo VIM.
export VISUAL=vim; crontab -e
Lưu ý: Hãy đảm bảo rằng trình soạn thảo VIM đã được cài đặt trên máy chủ của bạn.
Nó không hiệu quả với tôi. Tôi chạy crontab với sudo, vì vậy tôi đã chuyển sang root, đã thực hiện các đề xuất ở trên và crontab sẽ mở trong vim, nhưng nó vẫn không mở từ tài khoản người dùng của tôi. Cuối cùng tôi đã chạy sudo select-editortừ tài khoản người dùng và điều đó đã thực hiện thủ thuật.
find ~/ -mount ! -user $(whoami). Bạn có thể khắc phục sự cố bằng cách chạy: sudo chown -R $(whoami):$(whoami) ~/.
export VISUAL=vim(setenv VISUAL "vim"cho tcsh shell) nó hoạt động TUYỆT VỜI !!