Cách thêm tính năng cho Vim editor

Có thể bạn đã biết về Vim. Vim là trình soạn thảo mà bạn có thể mở để chỉnh sửa một file cấu hình không thể thoát được. Mặt khác, nếu thường xuyên sử dụng Vim, bạn sẽ biết các tính năng chỉnh sửa của nó mạnh đến mức nào. Nếu chạy Linux hoặc bất kỳ bản phân phối Unix nào khác, rất đáng để tìm hiểu về Vim.

Theo mặc định, Vim thiếu nhiều tính năng mà người dùng thường thấy trong các trình soạn thảo văn bản hiện đại. Hãy cài đặt một vài gói và biến Vim trở thành một công cụ mạnh mẽ như Visual Studio Code, Sublime Text, v.v...

Quản lý plugin: Vim-Plug

Vim-Plug

Một tính năng chính trong trình soạn thảo văn bản hiện đại là khả năng mở rộng bằng các plugin. Mặc dù Vim đã thêm tính năng quản lý gói gốc trong phiên bản 8.0, nhiều người thấy nó khá “cồng kềnh” so với các trình quản lý gói của bên thứ ba. Một trong những trình quản lý gói phổ biến nhất là Vim-Plug.

Trước khi có thể bắt đầu sử dụng Vim-Plug, bạn cần phải cài đặt nó. Trên hệ thống Unix như Linux hoặc macOS, hãy chạy lệnh sau trong terminal để tải xuống và cài đặt Vim-plug.

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Nếu sử dụng Vim trong Windows, bạn có thể cài đặt Vim-Plug bằng cách dán lệnh sau vào PowerShell.

md ~\vimfiles\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
$uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
"~\vimfiles\autoload\plug.vim"
)
)

Bây giờ, bạn sẽ có thể cài đặt plugin bằng cách thêm chúng vào file ~/.vimrc. Bạn cần phải thêm 2 dòng mới vào file:

call plug#begin('~/.vim/plugged')
call plug#end()

Để cài đặt một plugin, hãy thêm Plug, cộng với một phần của URL GitHub theo sau http://www.github.com trong dấu ngoặc đơn. Ví dụ, để cài đặt bảng màu Solarized, file cấu hình sẽ chứa lệnh sau:

call plug#begin('~/.vim/plugged')
Plug 'altercation/vim-colors-solarized'
call plug#end()

Để biết thêm thông tin về cách cài đặt trình quản lý gói, hãy xem trang Vim-Plug GitHub (link tham khảo: https://github.com/junegunn/vim-plug)

Kiểm tra lỗi: Syntastic

Syntastic

Một tính năng khác mà nhiều người cần dựa vào là thông báo khi bạn viết code không hợp lệ. Tính năng này thường được biết đến với tên gọi là “linting”. Nó không giúp bạn không viết ra những đoạn code không thể chạy, nhưng sẽ chỉ ra những lỗi cú pháp cơ bản mà bạn có thể không nhận thấy.

Như tên gọi của nó cho thấy, Syntastic là một plugin kiểm tra cú pháp cho Vim. Syntastic không hỗ trợ tất cả ngôn ngữ lập trình. Thay vào đó, bạn sẽ cần phải cài đặt trình kiểm tra cú pháp cho (những) ngôn ngữ đã chọn. Syntastic sau đó sẽ tích hợp trình kiểm tra vào Vim, kiểm tra code mỗi khi bạn lưu file.

Syntastic hỗ trợ khá nhiều ngôn ngữ phổ biến, nên rất có thể ngôn ngữ mà bạn sử dụng cũng được hỗ trợ. Để biết hướng dẫn về cách định cấu hình plugin này, hãy xem trang GitHub Syntastic (link tham khảo: https://github.com/vim-syntastic/syntastic).

Hoàn thành code: YouCompleteMe

YouCompleteMe

Kiểm tra cú pháp là một tính năng rất hữu ích, nhưng nếu bạn đã sử dụng Visual Studio Code hoặc một trình soạn thảo có tính năng tương tự, bạn có thể thấy thiếu một cái gì đó. Đó chính là tính năng hoàn thành code, còn được gọi là Intellisense trong Visual Studio. Nếu bạn sử dụng Vim với nhiều mục đích hơn là chỉnh sửa file cấu hình, tính năng hoàn thành code sẽ giúp cuộc sống của bạn dễ dàng hơn rất nhiều.

Tính năng hoàn thành code giúp việc viết code dễ dàng hơn, bằng cách đưa ra các đề xuất khi bạn nhập. Điều này thật tuyệt nếu bạn sử dụng một phương thức gồm rất nhiều hàm lồng vào nhau. Khi đó, bạn không cần phải nhớ toàn bộ chuỗi nữa.

YouCompleteMe là một công cụ hoàn thành code cho Vim và là một trong những plugin mạnh mẽ bạn có thể cài đặt. YouCompleteMe cũng có phần khó cài đặt hơn các plugin khác. Bạn có thể cài đặt những thứ cơ bản với trình quản lý gói như Vim-Plug, nhưng bạn sẽ cần phải biên dịch nó.

Cách dễ nhất để biên dịch plugin là sử dụng tập lệnh install.txt đi kèm. Để thực hiện việc này trên macOS hoặc Linux, hãy nhập như sau:

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

Lưu ý rằng trên Linux, bạn sẽ phải cài đặt các công cụ phát triển, CMake và những header cần thiết trước khi có thể biên dịch YouCompleteMe.

Để biết hướng dẫn về cách cài đặt và biên dịch YouCompleteMe trên các hệ thống khác, hãy xem trang YouCompleteMe GitHub (link tham khảo: https://github.com/Valloric/YouCompleteMe).

Tìm kiếm file: CtrlP

CtrlP

Nếu bạn làm việc trong một dự án với nhiều file khác nhau, phương pháp mở file của Vim có thể làm bạn thất vọng. Lệnh :e có tính năng tự động hoàn thành cơ bản, nhưng bạn vẫn cần biết file của mình nằm ở đâu. Bạn có thể dùng dòng lệnh để tìm file, nhưng sẽ tốt hơn nếu bạn có thể làm điều này ngay trong Vim.

May mắn thay, plugin CtrlP có thể giúp tìm kiếm các file và nhiều hơn thế. Trang CtrlP GitHub mô tả CtrlP là một công cụ tìm file buffer, mru, tag, v.v... cho Vim. Plug-in này tương tự như lệnh “Goto Anything” của Sublime Text, có phím tắt là Ctrl + P hoặc Cmd + P.

Tính năng này hoặc một tính năng tương đương có thể được tìm thấy trong hầu hết các trình soạn thảo văn bản hiện đại và nếu bạn thấy mình đang thiếu, rất tuyệt nếu có nó trong Vim.

Duyệt file: NERDTree

NERDTree

Bạn có thể thích một kiểu duyệt file truyền thống hơn. Nếu bạn nhớ màn hình hiển thị bảng điều khiển bên trái của những file được tìm thấy trong nhiều trình soạn thảo, bạn sẽ rất vui khi biết nó có sẵn trong Vim, nhờ plugin NERDTree.

Không giống như menu bên trái trong Sublime Text, Visual Studio Code và các trình soạn thảo khác, NERDTree là một file system explorer toàn diện. Thay vì chỉ hiển thị thư mục dự án, bạn có thể điều hướng tới bất cứ vị trí nào trên máy tính. Nếu bạn làm việc với các file trên nhiều dự án, đây có thể là một tính năng rất tiện dụng.

Để mở NERDTree bên trong Vim, chỉ cần sử dụng lệnh :NERDTree. Nếu không thích dùng lệnh, bạn có thể thực hiện việc này với tùy chọn ~/.vimrc như sau:

map <C-n> :NERDTreeToggle<CR>

Thao tác này sẽ cho phép bạn chỉ cần nhấn Ctrl + N để mở và đóng bảng NERDTree.

Tích hợp Git: fugitive.vim

fititive.vim

Tích hợp Git đã trở thành một tính năng bắt buộc phải có trong các trình soạn thảo văn bản hiện đại, do đó, thật tốt khi biết rằng nó cũng có sẵn trong Vim.

Chạy :GStatus sẽ hiển thị kết quả tương tự như khi dùng lệnh git status. Nếu đã hoàn thành công việc của mình trên một file, hãy chạy :GCommit %. Thao tác này sẽ cho phép bạn chỉnh sửa thông báo xác nhận bên trong cửa sổ Vim hiện đang chạy.

Có quá nhiều lệnh để liệt kê ở đây, ngoài ra bạn có thể chạy bất kỳ lệnh Git tiêu chuẩn nào bằng cách chạy :Git. Để biết thêm thông tin, hãy xem trang fititive.vim GitHub (link tham khảo: https://github.com/tpope/vim-fugitive).

Các mẹo trên sẽ giúp “hiện đại hóa” Vim, nhưng chúng không phải là thứ duy nhất bạn có thể làm để tùy chỉnh trình chỉnh sửa theo ý thích của mình.

Chúc bạn thực hiện thành công!

Thứ Tư, 15/05/2019 16:06
4,98 👨 1.848
0 Bình luận
Sắp xếp theo