Các plugin biên tập Vim hữu ích cho các nhà phát triển phần mềm - phần 1

theanh

Administrator
Nhân viên
Là phiên bản cải tiến của Vi, Vimchắc chắn là một trong những trình soạn thảo văn bản dựa trên dòng lệnh phổ biến nhất trong Linux. Bên cạnh việc là trình soạn thảo văn bản giàu tính năng, Vim còn được các nhà phát triển phần mềm trên toàn thế giới sử dụng như một IDE (Môi trường phát triển tích hợp).

Điều khiến Vim thực sự mạnh mẽ là chức năng của nó có thể được mở rộng thông qua các plugin. Và không cần phải nói, có một số plugin Vim nhằm mục đích nâng cao trải nghiệm lập trình của người dùng.

Đặc biệt đối với các nhà phát triển phần mềm mới làm quen với Vim và đang sử dụng trình soạn thảo cho mục đích phát triển, chúng tôi sẽ thảo luận về một số plugin Vim hữu ích - cùng với các ví dụ - trong hướng dẫn này.

Xin lưu ý rằng tất cả các ví dụ, lệnh và hướng dẫn được đề cập trong hướng dẫn này đã được thử nghiệm trên Ubuntu 16.04 và phiên bản Vim mà chúng tôi sử dụng là 7.4.


Cài đặt plugin thiết lập​

Vì hướng dẫn này hướng đến người dùng mới nên có thể cho rằng họ không biết cách cài đặt plugin Vim. Trước tiên, đây là các bước cần thiết để hoàn tất thiết lập cài đặt:
  • Tạo một thư mục có tên là .vim trong thư mục gốc của bạn, sau đó tạo hai thư mục con có tên là autoloadbundle.
  • Sau đó, bên trong thư mục autoload, bạn cần đặt một tệp có tên là pathogen.vim, bạn có thể tải xuống từ tại đây.
  • Cuối cùng, tạo một tệp có tên là .vimrc trong thư mục gốc của bạn và thêm hai dòng sau vào đó:
Mã:
call pathogen#infect()
Mã:
gọi pathogen#helptags()


Vậy là xong. Bây giờ bạn đã sẵn sàng cài đặt plugin Vim.

Lưu ý: Ở đây chúng tôi đã thảo luận về quản lý plugin Vim bằng Pathogen. Ngoài ra còn có các trình quản lý plugin khác - để bắt đầu, hãy truy cập chủ đề này.

Bây giờ chúng ta đã sẵn sàng, hãy thảo luận về một số plugin Vim hữu ích.


Plugin Vim Tagbar​

Đầu tiên là plugin Tagbar. Plugin này cung cấp cho bạn tổng quan về cấu trúc của tệp nguồn bằng cách cho phép bạn duyệt các thẻ mà tệp đó chứa. "Nó thực hiện điều này bằng cách tạo một thanh bên hiển thị các thẻ do ctags tạo ra của tệp hiện tại, được sắp xếp theo phạm vi của chúng", trang web chính thức của plug-in cho biết. "Điều này có nghĩa là ví dụ, các phương thức trong C++ được hiển thị bên dưới lớp mà chúng được định nghĩa".

Nghe có vẻ hay, phải không? Bây giờ, hãy xem cách bạn có thể cài đặt nó.

Việc cài đặt Tagbar khá dễ dàng - tất cả những gì bạn phải làm là chạy hai lệnh sau:
Mã:
cd ~/.vim/bundle/
Mã:
git clone git://github.com/majutsushi/tagbar
Sau khi plugin được cài đặt, nó đã sẵn sàng để sử dụng. Bạn có thể kiểm tra bằng cách mở tệp .cpp trong Vim, nhập chế độ lệnh và chạy lệnh :TagbarOpen. Sau đây là ảnh chụp màn hình ví dụ hiển thị thanh bên (hướng về bên phải) xuất hiện khi lệnh :TagbarOpen của Vim được thực thi:



Để đóng thanh bên, hãy sử dụng lệnh :TagbarClose. Điều đáng nói ở đây là bạn có thể sử dụng lệnh :TagbarOpen fj để mở thanh bên cũng như chuyển quyền điều khiển sang thanh bên đó. Theo cách này, bạn có thể dễ dàng duyệt các thẻ mà nó chứa - nhấn phím Enter trên thẻ sẽ hiển thị (và chuyển điều khiển sang) chức năng tương ứng trong cửa sổ mã nguồn ở bên trái.



Trong trường hợp bạn muốn mở và đóng thanh bên nhiều lần, bạn có thể sử dụng lệnh :TagbarToggle thay vì sử dụng :TagbarOpen:TagbarClose.

Nếu việc nhập các lệnh này có vẻ tốn thời gian đối với bạn, thì bạn có thể tạo một phím tắt cho lệnh :TagbarToggle. Ví dụ: nếu bạn đặt dòng sau vào tệp .vimrc của mình:
Mã:
nmap  :TagbarToggle
thì bạn có thể sử dụng phím F8 để chuyển đổi cửa sổ plugin Tagbar.

Tiếp tục, đôi khi bạn sẽ thấy một số thẻ được thêm tiền tố bằng ký hiệu +, - hoặc #. Ví dụ, ảnh chụp màn hình sau (lấy từ trang web chính thức của plugin) hiển thị một số thẻ được thêm tiền tố bằng ký hiệu +.



Những ký hiệu này về cơ bản mô tả thông tin hiển thị cho một thẻ cụ thể. Cụ thể, + biểu thị rằng thành viên là công khai, trong khi - biểu thị thành viên riêng tư. Mặt khác, biểu tượng # biểu thị rằng thành viên được bảo vệ.

Sau đây là một số điểm quan trọng liên quan đến Tagbar:
  • Trang web của plugin nêu rõ rằng "Tagbar không phải là công cụ đa năng để quản lý các tệp thẻ. Nó chỉ tạo các thẻ cần thiết ngay trong bộ nhớ mà không tạo bất kỳ tệp nào. Quản lý tệp thẻ được cung cấp bởi các plugin khác."
  • Các phiên bản Vim < 7.0.167 có vấn đề về khả năng tương thích với Tagbar. "Nếu bạn bị ảnh hưởng bởi vấn đề này, hãy sử dụng bản tải xuống Tagbar thay thế này: zip", trang web cho biết. "Phiên bản này tương đương với phiên bản 2.2 nhưng có thể sẽ không được cập nhật sau đó do có quá nhiều thay đổi cần thiết."
  • Nếu bạn gặp lỗi Tagbar: Exuberant ctags not found!khi khởi chạy plugin, bạn có thể sửa lỗi bằng cách tải xuống và cài đặt ctags từ tại đây.
  • Để biết thêm thông tin về Tagbar, hãy truy cập tại đây.

Plugin Vim delimitMate​

Plugin tiếp theo mà chúng ta sẽ thảo luận ở đây là delimitMate. Về cơ bản, plugin cung cấp tự động hoàn thành chế độ chèn cho dấu ngoặc kép, dấu ngoặc đơn, dấu ngoặc vuông, v.v.

Nó cũng cung cấp "một số tính năng liên quan khác giúp bạn dễ dàng hơn một chút khi ở chế độ chèn, chẳng hạn như nhận biết cú pháp (sẽ không chèn dấu phân cách đóng trong chú thích và các vùng có thể định cấu hình khác) và mở rộng (tắt theo mặc định) cùng một số tính năng khác", trang github chính thức của plugin cho biết.

Việc cài đặt plugin này tương tự như cách chúng tôi cài đặt plugin trước đó:
Mã:
cd ~/.vim/bundle/
Mã:
git clone git://github.com/Raimondi/delimitMate.git
Sau khi plugin được cài đặt thành công (có nghĩa là các lệnh trên đã thành công), bạn không cần phải làm gì khác - plugin sẽ tải tự động khi trình soạn thảo Vim được khởi chạy.

Bây giờ, bất cứ khi nào - trong khi ở Vim - bạn nhập dấu ngoặc kép, dấu ngoặc đơn, dấu ngoặc nhọn, dấu arentheses hoặc dấu ngoặc vuông, chúng sẽ tự động được hoàn thành.

Plugin delimitMate có thể định cấu hình được. Ví dụ: bạn có thể mở rộng danh sách các ký hiệu được hỗ trợ, ngăn plugin tự động tải, tắt plugin đối với một số loại tệp nhất định, v.v. Để tìm hiểu cách cấu hình delimitMate để thực hiện tất cả những điều này (và nhiều hơn nữa), hãy xem qua tài liệu chi tiết của plugin, bạn có thể truy cập bằng cách chạy lệnh :help delimitMate.

Lệnh đã đề cập ở trên sẽ chia cửa sổ Vim của bạn theo chiều ngang thành hai, với phần trên chứa tài liệu đã nói ở trên.




Kết luận​

Trong số hai plugin được đề cập trong bài viết này, Tagbar - bạn có thể đồng ý - cần nhiều thời gian hơn để làm quen. Nhưng sau khi thiết lập đúng cách (có nghĩa là bạn có những thứ như phím tắt khởi chạy), thì việc sử dụng nó rất dễ dàng. Ngược lại, delimitMate không yêu cầu bạn phải nhớ bất cứ điều gì.

Hướng dẫn sẽ cho bạn biết plugin Vim hữu ích như thế nào. Ngoài những plugin được thảo luận ở đây, còn có nhiều plugin khác dành cho các nhà phát triển phần mềm. Chúng ta sẽ thảo luận về một nhóm được chọn trong phần tiếp theo. Trong khi đó, hãy để lại bình luận nếu bạn sử dụng plugin Vim liên quan đến phát triển thú vị và muốn người khác biết về nó.

Trong phần 2 của loạt bài hướng dẫn này, tôi sẽ đề cập đến plugin Syntastic tô sáng cú pháp.
 
Back
Bên trên