Lời nói đầu:
Bài viết này được viết vào thời điểm tác giả rảnh không có gì làm và cũng không biết làm gì, vậy nên nó được coi là thành quả của một quá trình đốt thời gian không mấy hiệu quả.
Đừng để ý tên tiêu đề, nó chả có ý nghĩa gì cả đâu, mình cũng chả có hứng với việc thay đổi thế giới, bản thân ngày mai ăn gì còn chưa biết thì quan tâm xã hội làm gì cho mệt, hehe.
Phân tích tiêu đề:
Vim hay Vi ?? : D ??
Vâng, 2 thằng nó thực chất là 1, vậy nên tiêu đề này cũng không có gì để bàn ở đây cả.
Vim là gì?
Vim là một thứ không ăn được, không ngửi được, còn bị chê.
Vậy mục đích bài này là gì?
Kết thúc phần chém gió, vào nội dung chính
Vim là một editor, vâng, editor, không hơn không kém, nó chỉ là phần mềm chạy trên nền termial/console, vậy mà không khác gì các GUI app cả. Chìa khoá để VIM có thể hoạt động như vậy là nhờ thư viện NCURSES, tham khảo cách làm việc tại blog của bác DevNT.
Vâng, lí do tôi chọn vim là vì:
- Miễn phí
- Dễ tuỳ biến
- CỰC kì nhẹ
- Không bị thông báo yêu cầu update như Notepad++
- Không lằng nhằng như Sublime Text (gì gì đó)
- Không thừa thãi chức năng vứt đi như Emacs (gì gì đó)
- Không ngốn ram như các IDE: VS, Eclipse (gì gì đó),…
- Chỉ cần dùng bàn phím là đủ (điều tôi hằng mong ước vào mỗi mùa hè, tay sờ vào chuột xong lại đưa xuống gõ phím, một sự lãng phí thời gian khủng khiếp của giai đoạn này)
- Dùng được trên Linux(Ubuntu)
- … (sẽ liệt kê thêm khi nghĩ ra các lí do anti khác)
Để sử dụng được vim, mặc định các distro của Linux đều được trang bị sẵn, chỉ việc gõ vi hoặc vim là bạn có thể xài ngon lành, trên windows cũng có sẵn phiên bản cài trên PC
Màn hình khởi động:
Vâng, ảnh trên chia làm 2 màn hình là hậu quả của việc tác giả lười sử dụng tool cắt ảnh sau khi Print Screen, cứ thế upload lên.
Màn hình bên trái là vim mặc định không có bất kì plugin nào, vậy còn màn hình bên phải? Vâng, nó là vim, sau khi trang bị đầy đủ các plugin cần thiết, nó không còn là vim của ngày nào nữa, nó đã trở thành công cụ để giúp bạn đi thay đổi thế giới. hehe.
Theo thống kê trên StackOverflow thì đến hơn 1 triệu người dùng vim không biết tắt kiểu gì, các bạn bật vim xong không biết tắt kiểu gì mình cũng hướng dẫn luôn, các bạn gõ
:q
<Enter>
Nếu thoát ra được thì bạn rất có duyên với vim rồi đấy.
Thôi, bài này mục tiêu của mình không phải hướng dẫn các bạn các bước cơ bản dùng vim, những bài này nếu bạn có hứng dùng vim thì hãy google, và tự học, mình không có rảnh đến thế, hehe.
Bài này mục đích mình viết là để giới thiệu các plugin giúp các bạn lập trình trên vim thoải mái, và focus vào các dev C/C++
Nội dung chính
Đầu tiên là công cụ quản lí package của vim.
Trong vim có khá nhiều công cụ này, nó thực chất cũng là 1 plugin, được viết ra với sứ mệnh giúp cài các plugin khác, nói chung nó khá vô dụng, như cái IE vậy, sinh ra là để cài Chrome, FireFox,…
Ở nội dung bài này mình khuyên dùng Pathogen
Tiếp đến là các plugin:
Vì lười viết nên các bạn vào trực tiếp link dưới đây, xem các plugin rồi clone vào ~/.vim/bundle/ nhé
https://github.com/HadesD/dotfiles/tree/master/.vim/bundle
Một phần quan trọng cần chú ý
Dùng vim, đừng nên nhét tất cả vào .vimrc, nó sẽ khiến bạn đau não mỗi khi muốn sửa một nội dung mà mình đã thêm vào, rất là đau não.
Vim có chế độ auto load các file trong thư mục .vim/plugin/
, vậy nên, khi cài thêm plugin, muốn customize một thứ gì đó, hãy tạo 1 file như .vim/plugin/settings/<pluginname>.vim
sau đó viết nội dung cần edit, giả sử đến khi nào bạn không dùng plugin đó, chỉ cần xoá file đó đi là xong, không ảnh hưởng tới toàn cục.
Dưới đây là phần mình tự làm(theo tư duy của mình)
Các file bắt đầu bằng _
là cài đặt chung, nó sẽ được load trước các file không có dấu này.
Mình chia phần cài đặt UIs, keymaps,… riêng ra các file khác nhau, đến lúc muốn thêm/xoá cũng dễ dàng hơn.
Sau khi đọc đến đây thì bạn còn chờ gì mà không mở repo kia của mình rồi click give star đi nhỉ
Đại khái là như vậy.
Thân ái.
Kết thúc