Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Cách tôi định cấu hình Vim làm trình chỉnh sửa mặc định trên Linux

Tôi đã sử dụng Linux trong khoảng 25 năm và Unix trong vài năm trước đó. Trong thời gian đó, tôi đã phát triển các sở thích cho một số công cụ mà tôi sử dụng hàng ngày. Một trong những công cụ quan trọng nhất mà tôi sử dụng là trình chỉnh sửa Vim.

Tôi bắt đầu sử dụng Vi khi tôi học Solaris vào đầu những năm 90 vì tôi được biết rằng nó sẽ luôn có sẵn trên bất kỳ hệ thống nào, điều này đúng theo kinh nghiệm của tôi. Tôi đã thử các biên tập viên khác, và tất cả họ đều làm được việc. Tuy nhiên, tôi thấy rằng Vim phù hợp nhất với tôi và tôi sử dụng nó nhiều đến mức bộ nhớ cơ Vim của tôi khiến tôi cố gắng sử dụng các tổ hợp phím 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 thực sự thích Vim.

Nhiều tệp cấu hình sử dụng Vi thay vì Vim và bạn có thể chạy vi yêu cầu. Tuy nhiên, vi lệnh 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ỉ 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ó tùy chọn rõ rà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 tôi 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 viết 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, có các phương pháp khác nhau để chọn trình chỉnh sửa ưa thích của bạn.

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

Bên cạnh việc thực sự chỉnh sửa các tệp văn bản, công cụ khác mà tôi sử dụng cần 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ù tôi đã sử dụng Emacs, tôi chắc chắn thích Vim hơn. Cách đây nhiều năm, tôi đã chuyển kiểu chỉnh sửa mặc định để chỉnh sửa dòng lệnh Bash từ Emacs sang Vim, điều này khiến tôi 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 , điều 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 những người dùng khác trên cùng hệ thống. Tôi muốn thực hiện các loại thay đổi này trên toàn cầu, về cơ bản có nghĩa là tài khoản cá nhân và tài khoản gốc của tôi. 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ó vào /etc/profile.d thư mục.

Tôi đã thêm một tệp có tên myBashConfig.sh tới /etc/profile.d . Có các tệp cho tất cả các shell đã cài đặt trong /etc/profile.d danh mục. Trong quá trình khởi chạy phiên đầu cuối, mỗi trình bao 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ụ:Bash shell chỉ đọc các tệp có .sh phần mở rộng.

<SNIP>
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
<SNIP>

Dòng set -o vi trong phân đoạn tệp cấu hình Bash toàn cầu này đặt Vi làm trình chỉnh sửa mặc định. -o tùy chọn trên bộ này lệnh 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 để phiên này có hiệu lực.

Tại thời điểm này, 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 nút Escape phím để vào chế độ chỉnh sửa Vim. Tôi đặ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ừ.

Đặt Vim làm mặc định cho các 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 $ EDITOR biến môi trường để 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. Tôi đã thực hiện việc này trên một trong những máy ảo mới được cài đặt của mình để xác minh mặc định thực sự là gì.

# echo $EDITOR
/usr/bin/nano
#

Theo mặc định, các chương trình Fedora kiểm tra $ EDITOR biến môi trường sẽ sử dụng trình soạn thảo Nano. Thêm dòng EDITOR =vi như được hiển thị trong đoạn mã ở trên tới myBashConfig.sh thay đổi mặc định thành trình soạn thảo 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.

Chỉnh sửa email trong Alpine

Một vài tuần trước, tôi quyết định rằng Pico không hoạt động tốt với tôi với tư cách là người biên tập email của tôi. Tôi có thể làm cho nó hoạt động và đã làm được một thời gian sau khi chuyển sang Alpine từ Thunderbird. Tôi nhận thấy rằng Pico đang cản đường tôi khi tôi cố gắng sử dụng chuỗi khóa Vim, ảnh hưởng đến năng suất của tôi.

Tôi đọc trong Trợ giúp Alpine rằng có thể thay đổi trình chỉnh sửa mặc định. Tôi quyết định đổi nó thành Vim. Điều này thực sự rất dễ thực hiện.

Trên menu chính của Alpine, nhấn nút S phím để nhập thiết lập và sau đó nhấn C để cấu hình. Trong Tùy chọn của nhà soạn nhạc , chọn mục Bật lệnh trình chỉnh sửa thay thế Bật Trình chỉnh sửa thay thế hoàn toàn các mục có X . Một số trang trong Tùy chọn người dùng nâng cao , tìm Trình chỉnh sửa hàng. Nó sẽ trông giống như thế này nếu nó chưa được thay đổi.

Editor    = <No Value Set>

Đánh dấu Trình chỉnh sửa này dòng với thanh con trỏ và nhấn Enter để chỉnh sửa dòng. Thay đổi sang vim , nhấn Enter , rồi nhấn E phím để thoát và Y để lưu những thay đổi bạn đã thực hiện.

Để chỉnh sửa email bằng Vim, chỉ cần nhập nội dung email và Vim sẽ tự động khởi động, giống như Pico. Tất cả các khả năng chỉnh sửa yêu thích của tôi đều ở đó vì nó thực sự đang sử dụng Vim. Ngay cả Esc:wq trình tự thoát Vim giống nhau.

Suy nghĩ cuối cùng

Tôi thích Vim hơn các trình soạn thảo khác và những thay đổi này đối với 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 sử dụng trình soạn thảo khác theo mặc định. Một số chương trình sử dụng $ EDITOR biến môi trường, vì vậy bạn chỉ cần thực hiện thay đổi đó một lần. Các chương trình khác như Alpine có các tùy chọn cấu hình người dùng mà bạn phải đặt 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 của bạn này hoàn toàn 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 nguyên lý Triết lý 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 chỉnh sửa chế độ văn bản mặc định của mình thành Nano, Pico, EMACS hoặc bất kỳ trình chỉnh sửa nào khác mà bạn thích.