Mặc định trên nhiều bản phân phối Linux (đặc biệt là Ubuntu), trình soạn thảo được mở ra là nano – một trình soạn thảo dòng lệnh đơn giản. Tuy nhiên, nhiều anh em sysadmin hay dev lại quen dùng vi hoặc vim hơn vì tính năng mạnh mẽ và gọn nhẹ.

Ví dụ của mình là khi bạn gõ crontab -e
nó sẽ tự động dùng trình soạn thảo mặc định là nano.
crontab -e
Trong bài viết này, mình sẽ hướng dẫn bạn cách thay đổi trình soạn thảo mặc định khi dùng crontab -e
từ nano sang vi hoặc vim, áp dụng được vĩnh viễn, không mất sau khi khởi động lại máy.
❓ Tại sao crontab -e
lại dùng nano?
Câu trả lời là: nó phụ thuộc vào biến môi trường EDITOR
hoặc VISUAL
. Nếu biến EDITOR
chưa được thiết lập, hệ thống sẽ mặc định chọn nano
.
✅ Cách thay đổi trình soạn thảo mặc định
🔹 Bước 1: Kiểm tra shell bạn đang sử dụng
Chạy lệnh sau để kiểm tra bạn đang dùng shell nào:
echo $SHELL
Ví dụ kết quả:
/bin/bash
→ bạn dùng bash/bin/zsh
→ bạn dùng zsh
🔹 Bước 2: Thêm biến EDITOR=vi
vào file config
Tùy vào shell mà bạn sẽ chỉnh file tương ứng:
🟢 Nếu bạn dùng Bash:
echo 'export EDITOR=vi' >> ~/.bashrc
🟣 Nếu bạn dùng Zsh:
echo 'export EDITOR=vi' >> ~/.zshrc
🔄 Sau đó, nạp lại cấu hình:
source ~/.bashrc # hoặc ~/.zshrc nếu dùng Zsh
🔎 Bước 3: Kiểm tra lại biến EDITOR
echo $EDITOR
Kết quả phải là:
vi
🧪 Bước 4: Thử lại crontab -e
Gõ:
crontab -e
Bây giờ bạn sẽ thấy interface quen thuộc của vi, không còn là nano nữa.
📌 Lưu ý quan trọng
- Việc thiết lập trong
~/.bashrc
,~/.zshrc
, hoặc~/.profile
là vĩnh viễn cho người dùng hiện tại, không bị mất sau khi khởi động lại máy. - Nếu bạn muốn áp dụng cho tất cả người dùng, bạn có thể thêm
export EDITOR=vi
vào/etc/profile
hoặc/etc/environment
(cần quyềnsudo
).
🧠 Minh họa hoạt động
🔁 Sơ đồ hoạt động khi chạy crontab -e
+------------------+
| Người dùng gõ: |
| crontab -e |
+--------+---------+
|
v
+-----------------------+
| Hệ thống kiểm tra |
| biến môi trường: |
| $EDITOR hoặc $VISUAL |
+--------+--------------+
|
Có giá trị? (Yes)
|
v
+------------------------+
| Sử dụng trình soạn |
| thảo được chỉ định |
+------------------------+
Nếu không có:
|
v
+------------------------+
| Mặc định dùng nano |
+------------------------+
✍️ Ví dụ cụ thể
Giả sử bạn thêm dòng sau vào ~/.bashrc
:
export EDITOR=vi
Sau đó mở terminal mới và chạy:
crontab -e
Thay vì vào nano như thế này:
GNU nano 6.2 /tmp/crontab.Pv1kfh/crontab
Bạn sẽ vào interface vi như sau:
~
~
~ <-- interface quen thuộc của vi
"crontab" 10L, 234C
🧰 Mẹo thêm
Nếu bạn thích dùng vim thay vì vi
, bạn chỉ cần đổi lại:
export EDITOR=vim
✅ Tổng kết
Việc cần làm | Câu lệnh |
---|---|
Gán trình soạn thảo mặc định | export EDITOR=vi |
Lưu vào file config | echo 'export EDITOR=vi' >> ~/.bashrc |
Nạp lại cấu hình | source ~/.bashrc |
Kiểm tra giá trị EDITOR | echo $EDITOR |
Sử dụng crontab -e với vi | crontab -e |
Hi vọng bài viết giúp bạn hiểu rõ cách thay đổi trình soạn thảo khi làm việc với crontab
. Nếu bạn có thắc mắc hoặc gặp lỗi gì, hãy để lại bình luận dưới bài blog nhé!