Cài đặt chương trình mặc định trên linux

Sau một khoảng thời gian sử dụng Linux thì mình cũng đã làm quen và cực kỳ thích một số công cụ. Một trong những công cụ quan trọng nhất mà mình sử dụng là trình soạn thảo Vim.

Cài đặt chương trình mặc định trên linux

Nhiều tệp cấu hình sử 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 đến vim.

Nhiều công cụ Linux sử dụng các trình soạn thảo giả lập hoặc chỉ dùng Nano, Emacs hoặc Vim. Một số công cụ khác cho phép người dùng liên kết với trình chỉnh sửa yêu thích của họ. Hai ví dụ ảnh hưởng đến mình nhiều nhất là chỉnh sửa dòng lệnh Bash, mặc định cho Emacs và ứng dụng email khách chế độ văn bản Alpine, mặc định cho trình chỉnh sửa Pico. Trên thực tế, trình soạn thảo Pico đã được phát triển rõ ràng để sử dụng trong ứng dụng email khách Pine, là ứng dụng tiền thân của Alpine.

Không phải tất cả các chương trình sử dụng trình chỉnh sửa bên ngoài đều có thể cấu hình được. Một số chỉ sử dụng trình chỉnh sửa do nhà phát triển chỉ định. Đối với những ứng dụng có thể định cấu hình, thì mình có các phương pháp khác nhau để chọn trình soạn thảo ưa thích của bạn.

Chỉnh sửa dòng lệnh Linux

Bên cạnh việc chỉnh sửa các tệp văn bản, thì thứ mình chỉnh sửa nhiều nhất là Bash shell. Trình chỉnh sửa Bash mặc định là Emacs. Mặc dù mình đã sử dụng Emacs, nhưng mình thích Vim hơn. Vì vậy, mình đã chuyển trình chỉnh sửa dòng lệnh Bash mặc định từ Emacs sang Vim, điều này khiến mình thoải mái hơn nhiều.

Có một số cách để định cấu hình Bash. Bạn có thể sử dụng tệp cấu hình cục bộ, chẳng hạn như /home/yourhomedirectory/.bashrc, tệp này chỉ thay đổi mặc định cho tài khoản người dùng của bạn và không thay đổi cho người dùng khác trên cùng hệ thống. Mình thích thực hiện các loại thay đổi này trên toàn hệ thống, về cơ bản có nghĩa là tài khoản cá nhân và tài khoản root. Trong trường hợp thứ hai này, bạn có thể tạo tệp cấu hình của riêng mình và đặt nó trong thư mục /etc/profile.d.

Mình đã thêm một tệp có tên myBashConfig.sh vào /etc/profile.d. Có các tệp cho tất cả các shell đã cài đặt trong thư mục /etc/profile.d. Trong quá trình khởi chạy terminal, mỗi shell chỉ đọc các tệp dành cho nó dựa trên loại tệp. Ví dụ: Bash shell chỉ đọc các tệp có phần mở rộng .sh.


alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi

Dòng set -o vi dùng để đặt Vi làm trình chỉnh sửa mặc định. Tùy chọn -o trên lệnh set này xác định vi là trình soạn thảo. Bạn cần đóng bất kỳ phiên Bash nào đang chạy và mở phiên mới để thay đổi này có hiệu lực.

Bây giờ bạn có thể sử dụng tất cả các lệnh chỉnh sửa Vim quen thuộc của mình, bao gồm cả chuyển động của con trỏ. Chỉ cần nhấn phím Escape để vào chế độ chỉnh sửa Vim. Mình đặc biệt thích khả năng sử dụng b nhiều lần để di chuyển con trỏ trở lại nhiều từ.

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 sẽ sử dụng. Bạn có thể tự kiểm tra giá trị hiện tại của biến này bằng lệnh sau:

# echo $EDITOR
/usr/bin/nano
#

Theo mặc định, các chương trình Fedora kiểm tra biến môi trường $EDITOR và sử dụng trình soạn thảo Nano. Thêm dòng EDITOR = vi để myBashConfig.shthay đổi mặc định thành trình chỉnh sửa Vi (Vim). Không phải tất cả các chương trình dòng lệnh sử dụng trình soạn thảo bên ngoài đều kiểm tra biến môi trường này.

Kết luận

Mình thích Vim hơn các trình soạn thảo khác và những thay đổi này sẽ làm cho các chương trình khác sử dụng trình soạn thảo VIM theo mặc định. Một số chương trình sử dụng biến môi trường $EDITOR , vì vậy bạn chỉ cần thực hiện thay đổi đó một lần.

Khả năng chọn trình soạn thảo bên ngoài ưa thích của bạn khá phù hợp với nguyên lý của Unix Philosophy, “Mỗi chương trình nên làm một việc và làm tốt điều đó.” Tại sao phải viết một trình soạn thảo khác khi có một số trình soạn thảo hoàn toàn tốt ngoài kia? Và nó cũng đáp ứng đúng với triết lý của Linux, “Sử dụng trình soạn thảo yêu thích của bạn.”

Tất nhiên, bạn có thể thay đổi trình soạn thảo mặc định của mình thành Nano, Pico, EMACS hoặc bất kỳ trình nào khác mà bạn thích.