Cách thêm tính năng từ các trình soạn thảo văn bản khác vào Vim | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách thêm tính năng từ các trình soạn thảo văn bản khác vào Vim

Chia sẻ kiến thức 15/03/2022

Bạn sử dụng trình soạn thảo văn bản Vim nhưng muốn nó hoạt động như các trình soạn thảo văn bản khác? Đây là cách cài đặt các tính năng mới trong Vim.

Vim là một trình soạn thảo văn bản (text editor) với các tính năng chỉnh sửa theo chế độ mạnh mẽ nhưng lại thiếu nhiều tính năng có mặt trong các trình soạn thảo văn bản hiện đại. Tuy nhiên, chỉ cần cài đặt một vài gói và bạn sẽ thấy Vim cũng không kém gì Visual Studio Code, Sublime Text, v.v.

Quản lý plugin: Vim-Plug

Một tính năng chính trong các trình soạn thảo văn bản hiện đại là khả năng mở rộng chúng bằng các plugin. Mặc dù Vim đã bổ sung tính năng quản lý gói trong phiên bản 8.0, nhưng nhiều người dùng thấy nó 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 cài đặt nó. Trên hệ thống Unix như Linux hoặc macOS, hãy chạy lệnh sau trong một 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 đang sử dụng Vim trong Windows, bạn có thể cài đặt Vim-Plug bằng cách dán phần 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 các plugin bằng cách thêm chúng vào tập ~/.vimrc. Bạn sẽ cần thêm hai dòng mới vào tệp:

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

Để cài đặt một plugin, hãy thêm:

Plug

sau đó là một phần của URL GitHub của nó, theo sau: 

http://www.github.com

trong dấu ngoặc kép. Ví dụ: để cài đặt bảng màu Solarized, tệp cấu hình của bạn sẽ chứa những thứ 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 .

Kiểm tra lỗi: Syntastic

Một tính năng khác mà nhiều người dùng yêu thích là thông báo khi nào mã bạn đã viết không hợp lệ. Điều này thường được gọi là “linting.” Nó sẽ không thể ngăn bạn viết mã không chạy, nhưng nó sẽ bắt các lỗi cú pháp cơ bản mà bạn có thể không nhận thấy.

Syntastic là một plugin kiểm tra cú pháp cho Vim. Bản thân nó không thực sự làm được gì nhiều đối với nhiều ngôn ngữ. Thay vào đó, bạn sẽ cần cài đặt linter, hay còn gọi là trình kiểm tra cú pháp cho ngôn ngữ bạn chọn. Sau đó, Syntastic sẽ tích hợp trình này vào Vim, kiểm tra mã của bạn mỗi khi bạn lưu tệp.

Syntastic hỗ trợ nhiều ngôn ngữ hơn chúng tôi có thể liệt kê ở đây, vì vậy rất có thể ngôn ngữ bạn đang sử dụng được hỗ trợ. Để biết hướng dẫn về cách định cấu hình plugin, hãy xem trang Syntastic GitHub .

Hoàn thành mã: YouCompleteMe

Nếu bạn hay dùng Visual Studio Code hoặc một trình soạn thảo có nhiều tính năng tương tự thì có thể bạn đã quen với tính năng hoàn thiện mã, còn được gọi là Intellisense trong thế giới Visual Studio. Nếu bạn đang sử dụng vim cho nhiều mục đích hơn là chỉnh sửa các tệp cấu hình, nó 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 mã giúp việc viết code dễ dàng hơn bằng cách bật lên các đề xuất khi bạn nhập. Điều này rất hay nếu bạn đang sử dụng một phương thức (method) được lồng nhiều (heavily nested), vì vậy bạn không cần phải nhớ toàn bộ chuỗi.

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

Cách dễ nhất để compile plugin là sử dụng script: 

install.py

Để thực hiện việc này trên macOS hoặc Linux, hãy nhập:

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à các tệp headers bắt buộc trước khi có thể compile 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 hoặc để biết thêm thông tin, hãy xem trang YouCompleteMe GitHub .

Tìm kiếm xấp xỉ (fuzzy search): CtrlP

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

Plugin CtrlP có thể tìm kiếm tệp, nhưng nó cũng có thể làm được nhiều hơn thế. Plugin này tương tự như lệnh “Goto Anything” của Sublime Text và có phím tắt là Ctrl + P hoặc Command + P.

Duyệt tệp: NERDTree

Bạn có thể thích kiểu duyệt tệp truyền thống hơn. Nếu bạn đã quen màn hình bảng điều khiển bên trái của các tệp thường có trong nhiều trình chỉnh sửa, tin vui là nó có sẵn trong Vim. Điều này là nhờ vào plugin NERDTree.

Không giống như menu bên trái trong Sublime Text, Visual Studio Code… NERDTree là một trình khám phá hệ thống tệp (file system explorer) đầy đủ. Thay vì chỉ hiển thị thư mục dự án của bạn, bạn có thể điều hướng đến bất kỳ đâu trên máy tính. Nếu bạn đang làm việc với các tệp trong 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 bạn muốn liên kết nó với một lệnh, bạn có thể thực hiện việc này với tùy chọn ~/.vimrcnhư sau:

map <C-n> :NERDTreeToggle<CR>

Điều này cho phép bạn chỉ cần nhấn Ctrl + N để mở và đóng bảng điều khiển NERDTree.

Tích hợp Git: fugitive.vim

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

Chạy

:GStatus

sẽ đưa ra một cái gì đó tương tự như những gì bạn thấy khi chạy lệnh:

git status

Nếu bạn đã hoàn thành công việc của mình trên một tệp, hãy chạy

:GCommit %

Lệnh này sẽ cho phép bạn chỉnh sửa thông báo cam kết (commit message) bên trong cửa sổ Vim đ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, bao gồm cả video màn hình, hãy xem trang fugitive.vim GitHub .

Vân Nguyễn 

Dịch từ: https://www.makeuseof.com/tag/add-features-to-vim/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!