New FAMILUG

The PyMiers

Wednesday 13 November 2013

[WeeklyVim] Ctags, Taglist - lắp cánh cho vim

hay làm thế nào để vim có cánh ~^.^~ aye sir!

Khi bạn chỉ hay viết vài chương trình nhỏ, hay chương trình ấy do chính bạn viết, cái gì nằm ở đâu thì bạn sẽ là người nắm rõ. Nhưng khi nhảy vào một đống code đã có sẵn, với hàng trăm file, việc này bắt đầu khó khăn và bạn cần phải có 1 công cụ mới để làm việc này.

Vim nguyên bản không hỗ trợ việc này và đó là lý do chính để bạn cài plugin taglist và chương trình ctags.

Ctags là một chương trình để:


$ whatis ctags
ctags (1p)           - create a tags file (DEVELOPMENT, FORTRAN)
trên Ubuntu, nó được biết đến với tên package là exuberant-ctags


Bộ 3 này sẽ thực hiện:
  • ctags: tạo file chứa các tags từ source code
  • taglist: giúp mở 1 cửa sổ trong vim hiển thị các tags
  • vim: làm gì ai cũng biết.

Cài đặt:
(Thực hiện trên archhvn 3.10.9-1-ARCH)
TODO: cần thêm ví dụ trên ubuntu ở đây:

Cài ctags:
pacman -S ctags

Download taglist và cài đặt:
http://www.vim.org/scripts/script.php?script_id=273

cài đặt đơn giản chỉ là giải nén file zip vào thư mục ~/.vim của bạn.

Sau đó, vào thư mục chứ source code, chạy lệnh để tạo tag. Lệnh sau tạo tag từ các file python:

$ ctags --languages=Python -R

-R = recursive

sau khi chạy lệnh này, xuất hiện 1 file `tags` ở  cùng thư mục.
Giờ mở 1 file code python lên và gõ
:Tlist
các class/function đã hiện ra.
Cơ bản là thế, đọc help để biết thêm chi tiết.

và vim đã có cánh từ đây...

1 comment:

  1. note: nếu máy bạn có cài emacs, sẽ có vấn đề nhầm lẫn giữa ctags của emacs mà exuberant-ctags.

    ReplyDelete