Tôi đã dùng Linux khoảng 25 năm và Unix vài năm trước đó. Trong thời gian đó, tôi đã phát triển sở thích cho một số công cụ tôi dùng hàng ngày. Một trong những công cụ quan trọng nhất tôi dùng là trình soạn thảo Vim.
Tôi bắt đầu dùng Vi khi học Solaris đầu những năm 90 vì tôi được bảo rằng nó luôn có sẵn trên bất kỳ hệ thống nào, điều đúng theo kinh nghiệm của tôi. Tôi đã thử các trình soạn thảo khác, và tất cả đều làm việc. Tuy nhiên, tôi thấy Vim hoạt động tốt nhất cho tôi, và tôi dùng nó nhiều đến nỗi cơ bắp Vim của tôi khiến tôi cố gắng dùng các phím tắt lệnh của nó ngay cả với các trình soạn thảo khác.
Thêm vào đó, tôi просто rất thích Vim.
Nhiều tệp cấu hình dùng Vi thay vì Vim, và bạn có thể chạy lệnh vi. Tuy nhiên, lệnh vi là một liên kết (symlink) đến vim.
Nhiều công cụ Linux dùng trình soạn thảo mô phỏng hoặc chỉ gọi Nano, Emacs, hoặc Vim. Một số công cụ khác cho phép người dùng – như những người có sở thích rõ ràng – liên kết đến trình soạn thảo yêu thích. Hai ví dụ ảnh hưởng nhiều nhất đến tôi là chỉnh sửa dòng lệnh Bash, mặc định dùng Emacs, và khách email chế độ văn bản Alpine, mặc định dùng trình soạn thảo Pico. Thực tế, trình soạn thảo Pico được viết rõ ràng để dùng trong khách email Pine, tiền thân của Alpine.
Không phải tất cả chương trình dùng trình soạn thảo bên ngoài đều có thể cấu hình. Một số chỉ dùng trình soạn thảo do nhà phát triển chỉ định. Đối với những ứng dụng có thể cấu hình, có các phương pháp khác nhau để chọn trình soạn thảo ưa thích.
Chỉnh Sửa Dòng Lệnh Linux
Ngoài việc thực sự chỉnh sửa tệp văn bản, công cụ khác tôi dùng yêu cầu nhiều chỉnh sửa nhất là shell Bash. Trình soạn thảo Bash mặc định là Emacs. Mặc dù tôi đã dùng Emacs, tôi chắc chắn ưa thích Vim. Vì vậy nhiều năm trước, tôi chuyển kiểu chỉnh sửa mặc định cho chỉnh sửa dòng lệnh Bash từ Emacs sang Vim, thoải mái hơn nhiều cho tôi.
Có một vài cách cấu hình Bash. Bạn có thể dùng tệp cấu hình cục bộ, như /home/yourhomedirectory/.bashrc, chỉ thay đổi mặc định cho tài khoản người dùng của bạn và không cho người dùng khác trên cùng hệ thống. Tôi ưa thích làm các thay đổi này toàn cục, về cơ bản nghĩa là tài khoản cá nhân của tôi và root. Trong trường hợp thứ hai, bạn có thể tạo tệp cấu hình riêng và đặt nó trong thư mục /etc/profile.d.
Tôi thêm tệp tên myBashConfig.sh vào /etc/profile.d. Có tệp cho tất cả shell đã cài trong thư mục /etc/profile.d. Khi khởi chạy phiên terminal, mỗi shell chỉ đọc các tệp dành cho nó dựa trên phần mở rộng tên tệp. Ví dụ, shell Bash chỉ đọc tệp có phần mở rộng .sh.
<SNIP> alias vim='vim -c "colorscheme desert" ' # Set vi cho chế độ chỉnh sửa bash set -o vi # Set vi làm trình soạn thảo mặc định cho tất cả app kiểm tra biến này EDITOR=vi <SNIP>
Dòng set -o vi trong đoạn tệp cấu hình Bash toàn cục này đặt Vi làm trình soạn thảo mặc định. Tùy chọn -o trên lệnh set này định nghĩa vi làm trình soạn thảo. Bạn cần đóng mọi phiên Bash đang chạy và mở phiên mới để có hiệu lực.
Lúc này, bạn có thể dùng tất cả lệnh chỉnh sửa Vim quen thuộc, bao gồm di chuyển con trỏ. Chỉ cần nhấn phím Escape để vào chế độ chỉnh sửa Vim. Tôi đặc biệt thích khả năng dùng b nhiều lần để di chuyển con trỏ lùi nhiều từ.
Đặt Vim Làm Mặc Định Cho Chương Trình Khác
Một số công cụ và chương trình dòng lệnh Linux kiểm tra biến môi trường $EDITOR để xác định trình soạn thảo nào dùng. Bạn có thể kiểm tra giá trị hiện tại của biến này cho mình bằng lệnh sau. Tôi làm điều này trên một máy ảo mới cài để kiểm tra mặc định thực tế là gì.
# echo $EDITOR /usr/bin/nano #
Mặc định, các chương trình Fedora kiểm tra biến môi trường $EDITOR sẽ dùng trình soạn thảo Nano. Thêm dòng EDITOR=vi như hiển thị trong đoạn trên vào myBashConfig.sh thay đổi mặc định thành trình soạn thảo Vi (Vim). Không phải tất cả chương trình dòng lệnh dùng trình soạn thảo bên ngoài kiểm tra biến môi trường này.
Chỉnh Sửa Email Trong Alpine
Vài tuần trước, tôi quyết định Pico không còn hoạt động tốt cho tôi làm trình soạn thảo email. Tôi có thể làm nó hoạt động và đã làm được một thời gian sau khi chuyển sang Alpine từ Thunderbird. Tôi thấy Pico cản trở tôi khi cố dùng các chuỗi phím Vim, ảnh hưởng đến năng suất.
Tôi đọc trong Trợ giúp Alpine rằng có thể thay đổi trình soạn thảo mặc định. Tôi quyết định đổi sang Vim. Điều này thực sự rất dễ làm.
Trên menu chính Alpine, nhấn phím S để vào thiết lập và sau đó C cho cấu hình. Trong phần Composer Preferences, chọn mục Enable Alternate Editor Command và Enable Alternate Editor Implicitly với X. Vài trang sau trong phần Advanced User Preferences, tìm dòng Editor. Nó nên trông như sau nếu chưa được thay đổi.
Editor = <No Value Set>
Chọn dòng Editor này với thanh con trỏ, và nhấn Enter để chỉnh sửa dòng. Thay <No Value Set> thành vim, nhấn Enter, sau đó nhấn phím E để thoát và Y để lưu thay đổi bạn đã làm.
Để chỉnh sửa tin nhắn email dùng Vim, chỉ cần nhập nội dung email, và Vim tự động bắt đầu, giống như Pico. Tất cả khả năng chỉnh sửa yêu thích của tôi đều có vì nó thực sự đang dùng Vim. ngay cả chuỗi Esc :wq để thoát Vim cũng giống hệt nhau.
Tóm Lại
Tôi ưa thích Vim hơn các trình soạn thảo khác, và các thay đổi này cho hệ thống của tôi làm cho nó có sẵn làm mặc định trong các chương trình dùng trình soạn thảo khác theo mặc định. Một số chương trình dùng biến môi trường $EDITOR, nên bạn chỉ cần làm thay đổi đó một lần. Các chương trình khác như Alpine có tùy chọn cấu hình người dùng bạn phải thiết lập riêng cho từng chương trình.
Khả năng chọn trình soạn thảo bên ngoài ưa thích này khá phù hợp với nguyên tắc Triết lý Unix, "Mỗi chương trình nên làm một việc và làm tốt nó." Viết trình soạn thảo khác làm gì khi đã có vài trình soạn thảo hoàn hảo? Và nó cũng đáp ứng nguyên tắc Triết lý Linux, "Dùng trình soạn thảo yêu thích của bạn."
Tất nhiên, bạn có thể đổi trình soạn thảo chế độ văn bản mặc định thành Nano, Pico, EMACS, hoặc bất kỳ cái nào bạn ưa thích.