Vim - Hướng dẫn nhanh
Vim editor là một trong những trình soạn thảo văn bản phổ biến hơn mà chúng ta sử dụng ngày nay. Nó là một bản sao của trình soạn thảo Vi và được viết bởi Bram Moolenaar. Nó là trình soạn thảo đa nền tảng và có sẵn trên hầu hết các nền tảng phổ biến như Windows, Linux, Mac và các biến thể UNIX khác. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Introduction
- Các tính năng của Vim
- Tại sao Vim được tạo ra?
Giới thiệu
Vim là từ viết tắt của Vi IMđã chứng minh. Nó là trình soạn thảo văn bản mã nguồn mở và miễn phí được viết bởi Bram Moolenaar. Nó được phát hành lần đầu tiên vào năm 1991 cho các biến thể UNIX và mục tiêu chính của nó là cung cấp sự cải tiến cho trình chỉnh sửa Vi, được phát hành vào năm 1976.
Vim được coi là bản sao Vi biên tập viên. Giống như Vi, nó cũng là trình soạn thảo tập trung lệnh. Một trong những lợi thế của việc học Vim là - nó có sẵn ở mọi nơi. Lấy bất kỳ biến thể UNIX nào như Linux, Mac, HP-UX, AIX và nhiều hơn nữa, Vim ở đó theo mặc định. Vim theo truyền thống không có GUI nhưng giờ đây đã có trình cài đặt riêng gọi là gVim cung cấp GUI.
Các tính năng của Vim
Phần này thảo luận về một số tính năng quan trọng của Vim -
Dấu chân bộ nhớ của nó rất thấp
Nó là trung tâm chỉ huy. Bạn có thể thực hiện tác vụ phức tạp liên quan đến văn bản với một vài lệnh
Nó có thể cấu hình cao và sử dụng tệp văn bản đơn giản để lưu trữ cấu hình của nó
Có rất nhiều plug-in có sẵn cho Vim. Chức năng của nó có thể được mở rộng theo cách tuyệt vời bằng cách sử dụng các trình cắm thêm này
Nó hỗ trợ nhiều cửa sổ. Sử dụng tính năng này màn hình có thể được chia thành nhiều cửa sổ
Tương tự như nhiều cửa sổ, nó cũng hỗ trợ nhiều bộ đệm
Nó hỗ trợ nhiều tab cho phép làm việc trên nhiều tệp
Nó hỗ trợ các tính năng ghi âm cho phép ghi và phát các lệnh Vim theo cách lặp lại
Tại sao Vim được tạo ra
Vim dựa trên trình soạn thảo Vi nguyên bản, được tạo ra bởi Bill Joy vào năm 1976. Trong những năm 90, Vi đã bị thiếu đằng sau cái gọi là cuộc chiến biên tập viên tồn tại giữa biên tập viên Vi và Emacs. Vì vậy, Bram đã triển khai rất nhiều tính năng còn thiếu mà cộng đồng Emacs sử dụng làm lý lẽ cho việc tại sao Emacs tốt hơn Vi / Vim.
Vim là gói nhẹ và cài đặt của nó thực sự đơn giản. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Cài đặt trên nền tảng Windows
- Cài đặt trên Linux dựa trên Debian
- Cài đặt trên Linux dựa trên RPM
Cài đặt trên nền tảng Windows
Vim không có bất kỳ yêu cầu cụ thể nào. Nó là gói phần mềm đơn giản cung cấp tất cả các phụ thuộc.
Cài đặt
Để tải xuống Vim, hãy truy cập vim.org
Nhấp vào tùy chọn Tải xuống từ khung bên trái
Nhấp vào tùy chọn PC - MS-DOS và MS-Windows
Tải xuống trình cài đặt .exe từ trang này. Tại thời điểm viết bài hướng dẫn này, tên trình cài đặt là gvim80.exe
Nhấp đúp vào trình cài đặt và làm theo hướng dẫn trên màn hình để hoàn tất cài đặt
Cấu hình
Vim lưu trữ cấu hình của nó trong một tệp văn bản đơn giản là _vimrc và nó nằm trong thư mục chính của người dùng.
Để tìm thư mục chính của người dùng hiện tại, hãy thực hiện lệnh dưới đây trong terminal -
$ echo %userprofile%
Điều hướng đến thư mục chính và tạo một tệp mới có tên là _vimrc. Đảm bảo rằng tệp này không có bất kỳ phần mở rộng nào.
Mở tệp này trong trình soạn thảo văn bản, nhập văn bản sau và lưu nó -
set nu
Bây giờ Vim sẽ hiển thị số dòng khi tệp được mở. Chúng tôi sẽ thêm nhiều tùy chọn hơn vào tệp này sau này.
Cài đặt trên Linux dựa trên Debian
Cài đặt trên nền tảng Linux khá đơn giản so với Windows. Phần này mô tả cài đặt và cấu hình trên Linux dựa trên Debian.
Cài đặt
Thực hiện lệnh dưới đây trong terminal -
$ sudo apt-get update
$ sudo apt-get install vim
Để đảm bảo Vim được cài đặt chính xác, hãy thực hiện lệnh dưới đây:
$ which vim
Nó sẽ in vị trí của Vim nhị phân. Trong trường hợp của tôi, đó là -
/usr/bin/vim
Cấu hình
Vim lưu trữ cấu hình của nó trong một tệp văn bản đơn giản là .vimrc và nó nằm trong thư mục chính của người dùng.
Để tìm thư mục chính của người dùng hiện tại, hãy thực hiện lệnh dưới đây trong terminal -
$ echo $HOME
Điều hướng đến thư mục chính và tạo một tệp mới là .vimrc. Đảm bảo rằng tệp này không có bất kỳ phần mở rộng nào.
Mở tệp này trong trình soạn thảo văn bản, nhập văn bản sau và lưu nó -
set nu
Bây giờ Vim sẽ hiển thị số dòng khi tệp được mở. Chúng tôi sẽ thêm nhiều tùy chọn hơn vào tệp này sau này.
Cài đặt trên Linux dựa trên RPM
Phần này mô tả cài đặt và cấu hình trên Linux dựa trên RPM.
Cài đặt
Thực hiện lệnh dưới đây trong terminal -
$ su - $ yum install vim
Để đảm bảo Vim được cài đặt chính xác, hãy thực hiện lệnh dưới đây:
$ which vim
Nó sẽ in vị trí của Vim nhị phân. Trong trường hợp của tôi, đó là -
/usr/bin/vim
Cấu hình
Vim lưu trữ cấu hình của nó trong một tệp văn bản đơn giản là .vimrc và nó nằm trong thư mục chính của người dùng.
Để tìm thư mục chính của người dùng hiện tại, hãy thực hiện lệnh dưới đây trong terminal -
$ echo $HOME
Điều hướng đến thư mục chính và tạo một tệp mới là .vimrc. Đảm bảo rằng tệp này không có bất kỳ phần mở rộng nào.
Mở tệp này trong trình soạn thảo văn bản, nhập văn bản sau và lưu nó -
set nu
Bây giờ Vim sẽ hiển thị số dòng khi tệp được mở. Chúng tôi sẽ thêm nhiều tùy chọn hơn vào tệp này sau này.
Vim là bản sao của biên tập viên Vi gốc. Trong chương này, chúng ta sẽ thảo luận về các dòng Vi khác. Mục đích chính của chương này để biết các bản sao khác và khả năng tương thích của nó với trình soạn thảo gốc Vi.
Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Vi
- Stevie
- Elvis
- nvi
- vile
- Khả năng tương thích với Vi gốc
Vi
Vi là từ viết tắt của Visual. Nó là trình soạn thảo văn bản hướng màn hình ban đầu được tạo cho UNIX. Mã gốc của Vi được viết bởi Bill Joy vào năm 1976 và được phát hành lần đầu tiên trên nền tảng BSD. Vi là phần mở rộng của biên tập viên phổ biến nhất vào thời điểm đó.
Vim là trình soạn thảo đầu tiên giới thiệu nhiều chế độ. Có một chế độ riêng để soạn thảo văn bản, chọn văn bản và thực hiện lệnh. Vim editor hỗ trợ tất cả các chế độ này. Các phần sau của hướng dẫn này mô tả các chế độ này.
Stevie
Trình soạn thảo Stevie được phát triển cho nền tảng Atari ST. Nó được phát hành vào năm 1987, nó là viết tắt của ST Editor cho VI nhiệt tình.
Nó rất đơn giản và chỉ cung cấp một tập con rất nhỏ của trình soạn thảo Vi gốc. Tuy nhiên, nó cung cấp môi trường quen thuộc cho người dùng di chuyển trên nền tảng Atari ST.
Elvis
Ý định chính của Elvis là loại bỏ giới hạn của trình biên tập Stevie. Stevie từng tải toàn bộ tệp trong RAM, Elvis đã loại bỏ hạn chế này bằng cách giới thiệu bộ đệm. Ngoài ra, nó đã thêm một số chức năng vào nó như đánh dấu cú pháp, hỗ trợ nhiều cửa sổ, hỗ trợ mạng và GUI đơn giản.
nvi
nvi là viết tắt của Vi mới. Đó là kết quả của tranh chấp giấy phép giữa phòng thí nghiệm AT&T và Nhóm Nghiên cứu Khoa học Máy tính (CSRC) tại trường đại học California, Berkeley. Vi dựa trên biên tập viên ed và theo giấy phép của AT&T, điều này đã hạn chế họ phân phối Vi với BDS. Do đó, họ đã viết lại Vi và phát hành nó theo giấy phép BSD.
Vim
Vim là phiên bản cải tiến của Vi và nó được bổ sung nhiều tính năng mà Vi đã bị tụt hậu. Nó đã thêm nhiều tính năng hữu ích như -
- Nhiều cửa sổ / tab / bộ đệm
- Giới thiệu ngôn ngữ kịch bản Vim
- Đánh dấu cú pháp cho hơn 200 ngôn ngữ
- Tích hợp với trình biên dịch, trình thông dịch và trình gỡ lỗi
Hèn hạ
Vile là một từ viết tắt của Vi như Emacs và đó là một nỗ lực để mang các tính năng phổ biến từ cả hai trình soạn thảo và kết hợp nó thành một. Một số tính năng phổ biến của Vile là -
- Một chế độ chỉnh sửa cho mỗi loại tệp
- Giới thiệu ngôn ngữ thủ tục Vile
- Các chức năng được đặt tên cho các phím liên kết theo sự lựa chọn của người dùng
Khả năng tương thích với Vioriginal Vi
Mặc dù các trình biên tập đã thảo luận ở trên được coi là bản sao Vi, chúng không tương thích 100% với Vi gốc. Bảng dưới đây hiển thị thêm chi tiết về khả năng tương thích của chúng -
Nhân bản | Vi tương thích | Ghi chú |
---|---|---|
STEVIE | 10% | Các tính năng hạn chế là phổ biến |
Hèn hạ | 10% | Các tính năng hạn chế và chế độ Vi là phổ biến |
Elvis | 80% | Các tính năng lớn hơn là phổ biến |
nvi | 95% | Các tính năng lớn hơn là phổ biến |
Vim | 99% | Gần giống với Vi với một số tính năng bổ sung |
Bắt đầu với phần này, chúng ta sẽ làm bẩn tay với Vim. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
Bắt đầu Vim
Chế độ Vim
Tạo tệp mới
Xem tệp ở chế độ chỉ đọc
Chỉnh sửa tệp hiện có
Bắt đầu Vim
Vim hơi khác một chút so với trình soạn thảo dựa trên GUI ngày nay. Nó có thể được khởi động và sử dụng từ GUI cũng như thiết bị đầu cuối.
Sử dụng trình khởi chạy đồ họa
Để bắt đầu Vim từ trình khởi chạy đồ họa, chỉ cần nhấp đúp vào biểu tượng gVim. Nó sẽ mở cửa sổ soạn thảo như sau:
Sử dụng thiết bị đầu cuối
Việc sử dụng Vim từ terminal sẽ giống hệt nhau trên nền tảng Windows cũng như Linux. Thực hiện các bước sau để bắt đầu và thoát Vim khỏi thiết bị đầu cuối -
Mở terminal và nhập lệnh vim như sau:
$ vim
Nó sẽ mở Vim trong thiết bị đầu cuối như sau:
Để đóng điều này, hãy nhấn phím Esc trước dấu hai chấm (:) và q. Trong Vim q lệnh là viết tắt của từ bỏ. Lệnh này sẽ được hiển thị ở góc dưới cùng bên trái của chính trình soạn thảo -
Chế độ Vim
Vim hỗ trợ nhiều chế độ. Phần này thảo luận về một số chế độ quan trọng sẽ được sử dụng hàng ngày.
Chế độ lệnh
Đây là chế độ mặc định mà Vim khởi động. Chúng ta có thể nhập các lệnh của trình soạn thảo trong chế độ này. Chúng ta có thể sử dụng nhiều lệnh trong chế độ này như sao chép, dán, xóa, thay thế và nhiều lệnh khác. Chúng ta sẽ thảo luận về các lệnh này trong các phần sau.
NOTE − Here onwards, any Vim command without colon indicates that we are executing that command in command mode.
Chèn chế độ
Bạn có thể sử dụng chế độ này để nhập / chỉnh sửa văn bản. Để chuyển từ lệnh mặc định sang chế độ chèn, hãy nhấn phím i. Nó sẽ hiển thị chế độ hiện tại ở góc dưới cùng bên trái của trình chỉnh sửa.
Chúng tôi có thể nhập bất kỳ văn bản nào khi chúng tôi ở chế độ chèn. Hình ảnh dưới đây cho thấy điều này -
Sử dụng phím Escape để chuyển về chế độ lệnh từ chế độ này.
Chế độ dòng lệnh
Chế độ này cũng được sử dụng để nhập lệnh. Các lệnh trong chế độ này bắt đầu bằng dấu hai chấm (:). Ví dụ, trong phần trước lệnh thoát đã được nhập trong chế độ này. Chúng ta có thể chuyển đến chế độ này từ lệnh hoặc chế độ chèn.
Để chuyển từ chế độ lệnh sang chế độ này, chỉ cần gõ dấu hai chấm
Để chuyển từ chế độ chèn sang chế độ này, nhấn Escape và gõ dấu hai chấm
Trong hình ảnh bên dưới dấu hai chấm ở dưới cùng bên trái cho biết chế độ dòng.
NOTE − Here onwards, any Vim command starting with colon indicates that we are executing that command in command line mode.
Chế độ trực quan
Trong chế độ này, chúng ta có thể chọn văn bản và chạy lệnh trên các phần đã chọn một cách trực quan.
Để chuyển từ chế độ lệnh sang chế độ trực quan, hãy nhập v
Để chuyển từ bất kỳ chế độ nào khác sang chế độ trực quan, trước tiên hãy chuyển về chế độ lệnh bằng cách nhấn Escape, sau đó gõ v để chuyển sang chế độ trực quan
Ở góc dưới cùng bên trái của hình ảnh hiển thị chế độ trực quan.
Tạo tệp mới
Thực hiện các bước dưới đây để tạo và lưu tệp mới -
Thực hiện lệnh sau để mở Vim
$ vim
Gõ lệnh sau trong Vim
:edit message.txt
Chuyển sang chế độ chèn
Nó sẽ tải lại tệp nếu, nó đã tồn tại
i
Nhập một số văn bản
Chuyển về chế độ lệnh
Esc
Lưu các thay đổi vào tệp
:w
Bây giờ tệp tin message.txt sẽ được tạo.
Thoát Vim
:q
Mở tệp ở chế độ chỉ đọc
Sử dụng tùy chọn –R để mở tệp ở chế độ chỉ đọc
$ vim -R message.txt
Ở góc dưới cùng bên trái của hình ảnh hiển thị chế độ chỉ đọc -
Ngoài ra, bạn có thể sử dụng lệnh view để đạt được kết quả tương tự.
$ view message.txt
Chỉnh sửa tệp hiện có
Thực hiện các bước dưới đây để chỉnh sửa tệp hiện có -
Mở tệp bằng Vim
$ vim message.txt
Chuyển sang chế độ chèn và nhập một số văn bản vào đó.
i
Thoát trình chỉnh sửa mà không lưu thay đổi
:q!
Lưu các thay đổi và thoát khỏi trình chỉnh sửa bằng lệnh sau:
HOẶC LÀ
:wq
Vim là trình soạn thảo giàu tính năng do đó việc ghi nhớ mọi thứ về nó sẽ khó khăn. Nhưng không cần lo lắng, chúng ta luôn có thể yêu cầu giúp đỡ. May mắn thay, sự trợ giúp này được cung cấp bởi chính Vim.
Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Truy cập hướng dẫn trợ giúp
- Trợ giúp về chủ đề cụ thể
- Tìm kiếm cụm từ trợ giúp trong thủ công
- Truy cập trợ giúp trực tuyến
Truy cập hướng dẫn trợ giúp
Sách hướng dẫn trợ giúp được cung cấp cùng với trình soạn thảo Vim và nó thực sự toàn diện. Để truy cập trợ giúp, hãy thực hiện lệnh dưới đây -
:help
Trợ giúp về chủ đề cụ thể
Hướng dẫn trợ giúp sẽ hiển thị toàn bộ trợ giúp về Vim. Nhưng nếu chúng ta chỉ quan tâm đến một số chủ đề nhất định thì sao. Vim cũng cung cấp lệnh cho điều đó với cú pháp sau
:help <topic-name>
Trong lệnh trên, hãy thay thế <topic-name> bằng chủ đề mà bạn quan tâm. Forinstance để truy cập trợ giúp về chế độ vim, thực hiện lệnh sau
:help modes
Tìm kiếm cụm từ trợ giúp trong thủ công
Bạn chỉ có thể tìm kiếm chủ đề cụ thể nếu bạn biết tên của nó. Nhưng nếu bạn không biết tên chính xác của chủ đề trợ giúp thì sao. Trong trường hợp đó, bạn có thể sử dụng lệnh dưới đây:
:helpgrep <phrase>
Ví dụ, để truy cập trợ giúp về điều hướng trong Vim, hãy thực hiện lệnh dưới đây
:helpgrep navigation
Truy cập trợ giúp trực tuyến
Vim cũng cung cấp trợ giúp trực tuyến. Để truy cập trợ giúp trực tuyến -
Truy cập URL vim-help
Ngoài ra, bạn cũng có thể tham khảo tài liệu vim-docs
Vim cung cấp nhiều lệnh làm cho chức năng chỉnh sửa thực sự mạnh mẽ. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Insert
- Append
- Mở dòng mới
- Substitute
- Change
- Replace
- Join
Chèn văn bản trước con trỏ
Để chèn văn bản trước khi con trỏ, hãy thực hiện các bước sau:
- Để chèn văn bản trước khi con trỏ thực hiện các bước sau
- Chuyển sang chế độ chèn
i
Chèn văn bản vào đầu dòng
Giả sử bạn đang ở giữa dòng và bạn muốn chèn văn bản vào đầu dòng hiện tại, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Kích hoạt chế độ chèn
I
Hành động này sẽ di chuyển con trỏ đến đầu dòng hiện tại và chuyển Vim ở chế độ chèn
Nối văn bản sau con trỏ
Để nối văn bản sau con trỏ, hãy thực hiện các bước sau
- Chuyển sang chế độ lệnh và di chuyển con trỏ đến vị trí thích hợp
Esc
- Chuyển sang chế độ chèn
a
Hành động này sẽ di chuyển con trỏ tiếp theo theo một vị trí và chuyển Vim ở chế độ chèn.
Nối văn bản vào cuối dòng
Giả sử bạn đang ở giữa dòng và bạn muốn nối văn bản vào cuối dòng hiện tại, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Chuyển sang chế độ chèn
A
Hành động này sẽ di chuyển con trỏ đến cuối dòng và chuyển Vim ở chế độ chèn
Mở dòng mới bên dưới con trỏ
Giả sử bạn đang ở giữa dòng và bạn muốn mở dòng mới bên dưới dòng hiện tại, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Chuyển sang chế độ chèn
o
Hành động này sẽ chèn dòng trống bên dưới dòng hiện tại và chuyển Vim ở chế độ chèn
Mở dòng mới phía trên con trỏ
Giả sử bạn đang ở giữa dòng và bạn muốn mở dòng mới phía trên dòng hiện tại, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Chuyển sang chế độ chèn
o
Hành động này sẽ chèn dòng trống phía trên dòng hiện tại và chuyển Vim ở chế độ chèn
Văn bản thay thế
Giả sử bạn muốn thay thế một ký tự, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Di chuyển con trỏ đến vị trí thích hợp
- Chuyển sang chế độ chèn
s
Hành động này sẽ xóa ký tự dưới con trỏ và chuyển Vim ở chế độ chèn Để thay thế toàn bộ dòng sử dụng -
s
Hành động này sẽ xóa toàn bộ dòng và chuyển Vim ở chế độ chèn.
Thay đổi văn bản
Giả sử bạn muốn thay đổi văn bản trong dòng hiện tại, sau đó thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Thực hiện lệnh sau -
cc
Điều này tương tự với hành động thay thế bằng cách sử dụng S
Để thay đổi văn bản từ vị trí con trỏ hiện tại, hãy thực hiện lệnh sau
C
Hành động này sẽ xóa văn bản sau vị trí con trỏ hiện tại và chuyển Vim ở chế độ chèn.
Thay thế văn bản
Để thay thế một ký tự, hãy thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Di chuyển con trỏ đến vị trí thích hợp
- Thực hiện lệnh sau -
r
- Nhập ký tự được thay thế.
Lưu ý rằng lệnh này sẽ không chuyển Vim trong chế độ chèn
Để thay thế toàn bộ dòng, hãy thực hiện -
R
Nó sẽ chuyển Vim ở chế độ thay thế như trong hình dưới đây -
Nối văn bản
Để nối hai dòng thực hiện các bước sau:
- Chuyển sang chế độ lệnh
Esc
- Di chuyển con trỏ đến dòng thích hợp
- Thực hiện lệnh sau -
J
Vim có hỗ trợ tuyệt vời cho điều hướng nâng cao. Trong chương này, chúng ta sẽ thảo luận về một số kỹ thuật điều hướng phổ biến giúp cải thiện năng suất.
Điều hướng cơ bản
Trong điều hướng cơ bản, chúng ta có thể điều hướng sang trái, phải, lên và xuống theo vị trí. Các lệnh dưới đây có thể được sử dụng cho việc này:
Sr.No | Lệnh & Mô tả |
---|---|
1 | h Di chuyển con trỏ sang trái theo một vị trí |
2 | l Di chuyển con trỏ sang phải theo một vị trí |
3 | k Di chuyển con trỏ theo hướng lên trên một dòng |
4 | j Di chuyển con trỏ theo hướng xuống dưới một dòng |
Để thực hiện điều hướng nhiều vị trí, hãy sử dụng số với các lệnh này. Ví dụ để điều hướng con trỏ 10 dòng bên dưới từ dòng hiện tại, hãy thực hiện lệnh sau:
10j
Bạn cũng có thể sử dụng số với các lệnh còn lại.
Ngoài ra, các lệnh dưới đây cũng thực hiện một số điều hướng hữu ích.
Sr.No | Lệnh & Mô tả |
---|---|
1 | 0 Di chuyển con trỏ đến đầu dòng hiện tại |
2 | $ Di chuyển con trỏ đến cuối dòng hiện tại |
3 | Ctrl + f Cuộn xuống toàn bộ trang |
4 | Ctrl + b Cuộn lên toàn bộ trang |
Điều hướng đến các dòng
Lệnh dưới đây có thể được sử dụng để điều hướng đến dòng cụ thể -
Sr.No | Lệnh & Mô tả |
---|---|
1 | :n Chuyển đến dòng thứ n |
2 | :0 Chuyển đến đầu tệp |
3 | :$ Chuyển đến cuối tệp |
Điều hướng từ
Chúng ta có thể sử dụng các lệnh sau để điều hướng từ:
Sr.No | Lệnh & Mô tả |
---|---|
1 | w Di chuyển con trỏ đến đầu từ tiếp theo |
2 | e Di chuyển con trỏ đến cuối từ hiện tại |
3 | b Di chuyển con trỏ đến đầu từ trước đó |
Sử dụng bước nhảy
Vim theo dõi điều hướng của bạn bằng cách sử dụng danh sách nhảy. Bạn có thể đi lùi và chuyển tiếp qua danh sách đó.
Danh sách nhảy theo dõi tất cả những nơi bạn đã đến bằng cách theo dõi tên tệp, số dòng và số cột.
Để xem danh sách nhảy, hãy thực hiện lệnh sau:
:jumps
Lệnh sau dựa trên danh sách nhảy:
Sr.No | Lệnh & Mô tả |
---|---|
1 | Ctrl + o Quay lại vị trí cũ |
2 | Ctrl + i Chuyển đến vị trí tiếp theo |
Chúng tôi đã thấy chỉnh sửa cơ bản trước đó. Hãy để chúng tôi hiểu một số tính năng chỉnh sửa khác của Vim. Trong phần này, chúng ta sẽ thảo luận về các mục sau:
- Buffer
- Trao đổi tệp
- Các hành động cắt, sao chép, xóa, dán
- Hoàn tác và làm lại các hành động
Đệm
Bộ đệm là bộ nhớ tạm thời được Vim sử dụng. Khi chúng tôi mở một tệp trong trình soạn thảo, Vim sẽ tải nội dung của nó từ ổ đĩa. Những nội dung này được lưu trữ trong bộ nhớ (RAM) bất cứ khi nào chúng tôi chỉnh sửa tệp, chúng tôi thực sự đang chỉnh sửa tệp từ bộ đệm. Khi chúng tôi hoàn tất việc chỉnh sửa và lưu tệp, thời gian đó chỉ nội dung bộ đệm được chuyển sang tệp thích hợp.
Hoán đổi
Vùng hoán đổi là một tập tin do Vim tạo ra để lưu trữ nội dung bộ đệm theo định kỳ. Trong khi chỉnh sửa tệp, các thay đổi của chúng tôi có thể bị mất vì bất kỳ lý do nào và Vim cung cấp tệp hoán đổi để khôi phục dữ liệu.
Để lấy tên thực của tệp hoán đổi, hãy thực hiện lệnh sau:
:swapname
Ví dụ trong trường hợp của tôi tên là message.txt.swp như hiển thị trong hình ảnh bên dưới -
Các hành động cắt, sao chép và dán
Chúng ta thường thực hiện các thao tác cắt, sao chép và dán trên văn bản. Vim cung cấp các lệnh sau để thực hiện các hành động này (y là viết tắt của yank và p là viết tắt của hành động dán) -
Sr.No | Lệnh & Mô tả |
---|---|
1 | x Xóa ký tự khỏi vị trí con trỏ |
2 | X Xóa ký tự trước đó khỏi vị trí con trỏ |
3 | y Sao chép một ký tự từ vị trí con trỏ |
4 | p Dán ký tự sau vị trí con trỏ |
5 | P Dán ký tự trước vị trí con trỏ |
Lệnh đa vị trí
Chúng ta cũng có thể sử dụng các lệnh cắt, sao chép và dán với các từ và câu. Bảng dưới đây cho thấy điều này -
Sr.No | Lệnh & Mô tả |
---|---|
1 | dw Xóa từ khỏi vị trí con trỏ |
2 | D Xóa toàn bộ dòng khỏi vị trí con trỏ |
3 | dd Xóa toàn bộ dòng |
4 | Y Sao chép toàn bộ dòng |
5 | yy Sao chép toàn bộ dòng |
Để thực hiện các hành động nhiều dòng / nhiều từ chỉ cần sử dụng các số với lệnh. Bạn cũng có thể sử dụng cú pháp này với các lệnh khác. Ví dụ, để xóa 3 từ sử dụng -
3dw
Hoàn tác
Chúng tôi có thể hoàn tác một hoặc nhiều hành động. Để thực hiện hành động hoàn tác một lần, hãy thực hiện -
u
Để thực hiện nhiều hành động hoàn tác, hãy sử dụng số với cùng một lệnh. Ví dụ: lệnh dưới đây sẽ hoàn tác 3 hành động cuối cùng:
3u
Ngoài ra, để hoàn tác tất cả thực thi lệnh sau:
U
Làm lại
Làm lại là hành động tổng hợp của hoàn tác. Thực thi bất kỳ lệnh nào để thực hiện hành động làm lại.
Ctrl + r
OR
: red
Tìm kiếm là hành động rất phổ biến và đó là một trong những hành động chúng tôi sử dụng hầu hết thời gian. Trong chương này, chúng ta sẽ thấy một số lệnh cho phép thực hiện các hành động này một cách hiệu quả.
Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Thiết lập tìm kiếm
- Tìm kiếm trong tệp hiện tại
- Tìm kiếm trong nhiều tệp
- Tìm kiếm trong tệp trợ giúp
Tìm kiếm cài đặt liên quan
Để thực hiện tìm kiếm gia tăng, hãy thực hiện lệnh sau:
:set incsearch
Để đánh dấu tìm kiếm, hãy thực hiện lệnh sau:
:set hlsearch
Lệnh này sẽ tự động đánh dấu các kết quả phù hợp hiện tại. Ví dụ trong hình ảnh dưới đây, từ cáo được tô sáng -
Để tắt tìm kiếm gia tăng và được đánh dấu, hãy thực hiện các lệnh sau:
:set noincsearch
:set nohlsearch
Tìm kiếm trong tệp hiện tại
Tìm kiếm theo hướng phía trước
Sử dụng các lệnh sau để thực hiện tìm kiếm theo hướng về phía trước -
Sr.No | Lệnh & Mô tả |
---|---|
1 | /<expression> Tìm kiếm biểu thức theo hướng chuyển tiếp |
2 | n Tìm lần xuất hiện tiếp theo. Điều này giống nhau và tìm tiếp theo |
3 | N Tìm lần xuất hiện trước đó. Điều này giống như tìm trước |
4 | // Lặp lại tìm kiếm chuyển tiếp trước đó |
Tìm kiếm theo hướng ngược lại
Sử dụng các lệnh sau để thực hiện tìm kiếm theo hướng ngược lại
Sr.No | Lệnh & Mô tả |
---|---|
1 | ?<expression> Biểu thức tìm kiếm theo hướng ngược lại |
2 | n Tìm lần xuất hiện trước đó. Cái này giống nhau và tìm cái trước |
3 | N Tìm lần xuất hiện tiếp theo. Điều này giống như tìm tiếp theo |
4 | ?? Lặp lại tìm kiếm ngược trước đó |
Tìm kiếm từ dưới con trỏ
Đặt con trỏ dưới bất kỳ từ nào và thực hiện các lệnh sau để thực hiện thao tác tìm kiếm -
Sr.No | Lệnh & Mô tả |
---|---|
1 | * Tìm kiếm lần xuất hiện tiếp theo của từ hiện tại |
2 | # Tìm kiếm lần xuất hiện trước của từ hiện tại |
Tìm kiếm trong nhiều tệp
Sử dụng lệnh vimgrep, chúng ta có thể tìm kiếm <expression> trong nhiều tệp. Ví dụ dưới đây chuỗi tìm kiếm lệnh -Jarvis trong tất cả các tệp văn bản.
:vimgrep Jarvis *.txt
Lưu ý rằng để chuyển đến lần xuất hiện tiếp theo và lần xuất hiện trước đó, chúng ta phải sử dụng các lệnh sau:
Sr.No | Lệnh & Mô tả |
---|---|
1 | :cn Chuyển đến lần xuất hiện tiếp theo của biểu thức |
2 | :cN Chuyển đến lần xuất hiện trước của biểu thức |
Vim là trình soạn thảo rất mạnh mẽ. Nó hỗ trợ nhiều tính năng nâng cao để làm việc với nhiều tệp, bộ đệm và cửa sổ. Trong phần này, chúng ta sẽ thảo luận về các mục sau:
- Nhiều tệp
- Nhiều bộ đệm
- Nhiều tab
- Nhiều cửa sổ
Nhiều tệp
Giả sử bạn đang chỉnh sửa một tệp và bạn muốn mở một tệp khác trong cùng một phiên Vim. Trong trường hợp đó, bạn có thể sử dụng lệnh chỉnh sửa của Vim. Bảng dưới đây hiển thị các lệnh này
Sr.No | Lệnh & Mô tả |
---|---|
1 | :e Tải tệp mới vào bộ đệm để chỉnh sửa |
2 | :edit Giống như: e |
3 | :e <tab> Liệt kê các tệp để chỉnh sửa từ thư mục hiện tại |
4 | :edit <tab> Giống như: e <tab> |
Nhiều bộ đệm
Chúng ta đã biết bộ đệm Vim là gì. Vim hỗ trợ nhiều bộ đệm. Các lệnh dưới đây sẽ hữu ích sẽ hoạt động với bộ đệm -
Sr.No | Lệnh & Mô tả |
---|---|
1 | :badd <file> Thêm tệp vào bộ đệm mới |
2 | :bN Chuyển sang bộ đệm thứ N. Ví dụ để chuyển sang sử dụng bộ đệm thứ 3: b3 |
3 | :bnext Di chuyển đến bộ đệm tiếp theo trong danh sách bộ đệm |
4 | :bprevious Di chuyển đến bộ đệm trước đó trong danh sách bộ đệm |
5 | :buffers Liệt kê tất cả các bộ đệm |
6 | :bfirst Di chuyển đến vùng đệm đầu tiên |
7 | :blast Di chuyển đến vùng đệm cuối cùng |
số 8 | :ball Tải tất cả các bộ đệm |
Ví dụ: lệnh dưới đây thêm tệp mới vào bộ đệm -
Bây giờ, có hai tệp trong bộ đệm. Thực thi lệnh dưới đây để hiển thị điều này -
:buffers
Nó sẽ hiển thị đầu ra sau:
Nhiều tab
Giống như các trình soạn thảo khác, chúng tôi cũng có thể mở nhiều tab trong Vim. Bảng dưới đây mô tả các lệnh liên quan đến tab -
Sr.No | Lệnh & Mô tả |
---|---|
1 | :tabnew Mở tab mới |
2 | :tabnew <file> Mở tệp mới trong tab |
3 | :tabclose Đóng tab hiện tại |
4 | :tabnext Chuyển sang tab tiếp theo |
5 | :tabprevious Di chuyển đến tab trước |
6 | :tabfirst Di chuyển đến tab đầu tiên |
7 | :tablast Di chuyển đến tab cuối cùng |
Ví dụ: hình ảnh bên dưới hiển thị nhiều tab
Nhiều cửa sổ
Trong Vim, chúng ta có thể tạo cửa sổ mới bằng các lệnh sau:
Sr.No | Lệnh & Mô tả |
---|---|
1 | :new <file> Mở cửa sổ mới |
2 | :new <file> Mở tệp trong cửa sổ mới |
Trong hình ảnh dưới đây, chúng ta có thể thấy rằng cửa sổ Vim hiện tại được chia thành 2 phần sau khi thực hiện các lệnh sau:
$vim message.txt
:new
Vim hỗ trợ tính năng đánh dấu trang. Sử dụng tính năng này, chúng tôi có thể làm cho việc điều hướng trong tệp thực sự nhanh hơn. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Tạo dấu trang
- Chuyển đến dấu trang
- Liệt kê tất cả các dấu trang
- Xóa dấu trang
- Dấu trang cục bộ
- Dấu trang chung
Tạo dấu trang
Để tạo dấu trang, hãy thực hiện lệnh sau:
m{bookmark-name}
Trong ví dụ trên, bookmark-name là một ký tự chữ cái. Ví dụ, lệnh dưới đây tạo dấu trang của tên a.
ma
Chuyển đến dấu trang
Sau khi bookmark được tạo, chúng ta có thể chuyển đến đó. Lệnh sau có thể được sử dụng để chuyển đến bookmark -
Sr.No | Lệnh & Mô tả |
---|---|
1 | `{bookmark-name} Di chuyển đến vị trí chính xác của dấu trang. Xin lưu ý rằng nhân vật này là dấu ngoặc kép |
2 | ‘{bookmark-name} Chuyển đến đầu dòng đánh dấu. Xin lưu ý rằng ký tự này là một trích dẫn duy nhất |
Liệt kê tất cả các dấu trang
Để liệt kê tất cả các dấu trang, hãy thực hiện lệnh sau:
:marks
Trong hình ảnh dưới đây, nó hiển thị danh sách các dấu trang cho tệp hiện tại
Xóa dấu trang
Để xóa dấu trang, hãy thực hiện lệnh sau:
:delmarks {bookmark-name}
Ví dụ, bên dưới lệnh xóa dấu trang có tên a.
:delmarks a
Dấu trang cục bộ và dấu trang toàn cầu
Khi bạn mở nhiều tệp và nếu bạn muốn chuyển đến một vị trí cụ thể trong bất kỳ tệp nào đang mở, thì bạn có thể sử dụng tính năng đánh dấu toàn cục của Vim.
Nếu tên dấu trang là một chữ cái viết hoa thì đó là Dấu trang chung. Các lệnh đã thảo luận ở trên có thể áp dụng cho cả dấu trang cục bộ và dấu trang chung.
Macro là tính năng ghi và phát. Khi điều này được kết hợp với các lệnh Vim, nó sẽ trở thành sự kết hợp thực sự mạnh mẽ. Trong phần này, chúng ta sẽ thảo luận về các mục sau:
- Bắt đầu ghi âm
- Thực hiện các hành động Vim
- Dừng ghi
- Phát ghi âm
Bắt đầu ghi âm
Để bắt đầu ghi, nhấn q, theo sau bởi bất kỳ chữ cái thường nào làm tên macro. Ví dụ trong ví dụ dưới đây, tôi đã sử dụng “a” làm tên macro
Thực hiện các hành động Vim
Trong bước này, bạn có thể thực hiện bất kỳ hành động Vim nào như: cắt, sao chép, xóa, thay thế, v.v. Bạn có thể xem các hành động này bằng cách thực hiện lệnh sau:
:registers
Ví dụ: lệnh dưới đây cho thấy rằng các hành động kéo và xóa đã được thực hiện:
Dừng ghi
Sau khi bạn thực hiện xong các thao tác, nhấn q một lần nữa để dừng ghi. Bây giờ chế độ ghi sẽ biến mất như hình dưới đây -
Chơi
Để chơi thực hiện lệnh dưới đây -
@{macro-name}
Ví dụ: để thực thi macro “a”, hãy thực hiện lệnh dưới đây:
@a
Để chơi cùng một macro nhiều lần, hãy sử dụng các số với nó. Ví dụ, để thực hiện cùng một macro 10 lần, hãy thực hiện lệnh sau:
10@a
Vim cung cấp nhiều thanh ghi. Chúng ta có thể sử dụng các thanh ghi này như nhiều khay nhớ tạm. Tính năng này thực sự hữu ích khi làm việc với nhiều tệp. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Sao chép văn bản trong sổ đăng ký
- Dán văn bản từ đăng ký
- Liệt kê các đăng ký có sẵn
- Đăng ký các loại
Sao chép văn bản trong sổ đăng ký
Để sao chép, chúng ta có thể sử dụng lệnh yank bình thường tức là yy và để lưu trữ nó trong thanh ghi, chúng ta có thể sử dụng cú pháp sau:
“<register-name><command>
Ví dụ, để sao chép văn bản trong thanh ghi “a”, hãy sử dụng lệnh sau:
“ayy
Dán văn bản từ đăng ký
Để dán văn bản từ đăng ký sử dụng -
“<register-name>p
Ví dụ: lệnh dưới đây sao chép văn bản từ thanh ghi “a” -
“ap
Liệt kê các đăng ký có sẵn
Để liệt kê tất cả các thanh ghi có sẵn, hãy sử dụng lệnh sau
:registers
Đăng ký các loại
Vim hỗ trợ các loại thanh ghi sau:
Sổ đăng ký không tên
Thanh ghi không tên được ký hiệu là “”. Vim lưu trữ văn bản đã xóa hoặc sao chép trong sổ đăng ký này
Sổ đăng ký được đặt tên
Chúng ta có thể sử dụng 26 thanh ghi được đặt tên; chúng ta có thể sử dụng az hoặc AZ. Theo mặc định, vim không sử dụng các thanh ghi này.
Nếu chúng ta sử dụng tên thanh ghi viết thường thì nội dung sẽ bị ghi đè và nếu chúng ta sử dụng tên viết hoa thì nội dung sẽ được thêm vào thanh ghi đó.
Đăng ký được đánh số
Chúng ta có thể sử dụng 0 đến 9 thanh ghi được đặt tên. Vim điền vào các thanh ghi này bằng văn bản từ lệnh yank and delete.
- Thanh ghi được đánh số 0 chứa văn bản từ lệnh yank gần đây nhất.
- Thanh ghi được đánh số 1 chứa văn bản bị xóa bởi lệnh xóa hoặc thay đổi gần đây nhất
Đăng ký mặc định
Sau đây là các đăng ký mặc định:
Sr.No | Đăng ký & Mô tả |
---|---|
1 | % Tên của tệp hiện tại |
2 | # Tên của tệp thay thế cho cửa sổ hiện tại |
3 | : Lệnh được thực hiện gần đây nhất |
4 | . Chứa văn bản được chèn cuối cùng |
5 | “ Đăng ký sử dụng lần cuối |
Chức năng gấp sẽ hữu ích khi tệp có nội dung văn bản lớn. Sử dụng tính năng này, chúng tôi chỉ có thể hiển thị lọ thuốc đã chọn. Tính năng này đặc biệt hữu ích khi làm việc với các ngôn ngữ lập trình. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Kích hoạt và hủy kích hoạt chức năng màn hình đầu tiên
- Các hành động gấp khác nhau
Kích hoạt và hủy kích hoạt gấp
Để kích hoạt màn hình gấp, sử dụng lệnh sau:
:set foldenable
:set foldmethod = indent
Để hủy kích hoạt màn hình đầu tiên, hãy sử dụng lệnh sau
:set nofoldenable
Hành động gấp
Đóng gấp
Để gấp mã, hãy chuyển đến bất kỳ phương thức nào và thực hiện lệnh sau:
zc
Ví dụ bên dưới hình ảnh hiển thị kết quả của hành động này -
Mở gấp
Để mở màn hình đầu tiên, hãy sử dụng lệnh sau:
zo
Hình ảnh dưới đây cho thấy kết quả của hành động này -
Đóng tất cả các nếp gấp
Để đóng tất cả các nếp gấp, hãy thực hiện lệnh sau
zM
Hình ảnh dưới đây cho thấy kết quả của hành động này
Mở ra tất cả
Để mở ra, tất cả hãy thực hiện theo sau:
zR
Hình ảnh dưới đây cho thấy kết quả của hành động này -
Tương tự như lệnh diff của UNIX, chúng ta có thể sử dụng Vim để hiển thị khác biệt theo cách tốt hơn nhiều. Nó sẽ hiển thị khác nhau theo cách đầy màu sắc. Trong chương này, chúng ta sẽ thảo luận về các mục sau:
- Hiển thị sự khác biệt giữa các tệp
- Kích hoạt và hủy kích hoạt chế độ khác biệt
- Điều hướng ở chế độ khác
- Áp dụng các thay đổi từ cửa sổ khác nhau
Hiển thị sự khác biệt
Để hiển thị sự khác biệt giữa các tệp, hãy thực hiện lệnh dưới đây:
$ vimdiff <file> <file>
OR
$ vim –d <file> <file>
Ví dụ, lệnh dưới đây hiển thị sự khác biệt -
Trong hình trên, văn bản được đánh dấu bằng màu đỏ tươi là phổ biến. Văn bản còn lại được đánh dấu bằng màu đỏ cho biết rằng có một số khác biệt sau văn bản chung.
Kích hoạt và hủy kích hoạt chế độ khác biệt
Nếu bạn đã ở trong vim và bạn muốn thực hiện hành động khác, hãy sử dụng một trong các lệnh sau:
diffsplit
Sử dụng lệnh dưới đây để thực hiện chia theo chiều ngang -
:diffsplit filename
Hình ảnh trên cho thấy rằng chúng tôi đang so sánh hai tệp là message-1.txt và message-2.txt.
Đèn khuếch tán dọc
Để thực hiện chia theo chiều dọc, sử dụng lệnh sau:
:vert diffsplit <filename>
Nó mở ra cửa sổ sau -
Hình ảnh trên cho thấy rằng chúng tôi đang so sánh hai tệp là message-1.txt và message-2.txt.
Điều hướng ở chế độ khác
Điều hướng ở chế độ khác biệt có một chút khác biệt. Ví dụ: khi bạn cuộn văn bản từ một cửa sổ thì văn bản từ cửa sổ liền kề cũng được cuộn theo. Đây được gọi là scrollbind. Để kích hoạt việc sử dụng này -
:set scrollbind
Để vô hiệu hóa việc sử dụng này -
:set noscrollbind
Nếu bạn chỉnh sửa tệp ở chế độ này, hãy sử dụng lệnh sau để cập nhật khác biệt -
:diffupdate
Chuyển đổi giữa các cửa sổ khác nhau
Để chuyển đổi giữa các cửa sổ khác nhau, hãy thực hiện lệnh sau:
Ctrl + w Ctrl + w
Xin lưu ý rằng, chúng ta phải nhấn Ctrl + w 2 lần.
Chuyển đến thay đổi trước đó
Trong cửa sổ khác, thực hiện lệnh sau để chuyển đến thay đổi trước đó:
[c
Chuyển đến thay đổi tiếp theo
Trong cửa sổ khác, thực hiện lệnh sau để chuyển đến thay đổi tiếp theo:
]c
Áp dụng các thay đổi từ cửa sổ khác
Áp dụng thay đổi trong các cửa sổ khác nhau hiện tại
Để áp dụng thay đổi từ cửa sổ khác biệt liền kề sang cửa sổ khác hiện tại, hãy thực hiện -
:diffget
Ví dụ, nếu bạn đang ở cửa sổ bên trái và bạn muốn thay đổi từ cửa sổ bên phải sang cửa sổ hiện tại thì bạn sẽ thực hiện lệnh trên.
Áp dụng thay đổi từ ngăn hiện tại sang ngăn khác
Để áp dụng thay đổi từ cửa sổ khác biệt hiện tại sang cửa sổ khác biệt liền kề, hãy thực hiện -
:diffput
Ví dụ, nếu bạn đang ở cửa sổ bên trái và bạn muốn áp dụng thay đổi từ cửa sổ hiện tại sang cửa sổ bên phải thì bạn sẽ thực hiện lệnh trên.
Sử dụng plug-in, chúng tôi có thể mở rộng chức năng của Vim. Vim hỗ trợ nhiều plug-in và hầu hết chúng đều có sẵn miễn phí. Chương này nói về trình cắm Vim và chúng ta sẽ thảo luận về các mục sau:
- Quản lý trình cắm
- Một số plug-in hữu ích
Quản lý trình cắm
Phần này thảo luận về quản lý trình cắm. Vim cung cấp các trình quản lý trình cắm khác nhau nhưng chúng tôi sẽ không sử dụng bất kỳ trình quản lý trình cắm nào, thay vào đó chúng tôi sẽ thực hiện tất cả các bước này theo cách thủ công để hiểu rõ hơn. Khi bạn hiểu các bước này, bạn có thể sử dụng trình quản lý trình cắm.
Cài đặt plugin
Để cài đặt bất kỳ trình cắm nào, hãy thực hiện các bước sau:
- Tạo thư mục .vim / pack trong thư mục chính của người dùng
- Sao chép trình cắm vào bên trong thư mục này
- Đặt đường dẫn thời gian chạy trong vim
Hãy để chúng tôi cài đặt plugin badwolf trong Vim. Đó là một cách phối màu cho vim.
$ mkdir -p ~/.vim/bundle
$ cd ~/.vim/bundle/ $ git clone https://github.com/sjl/badwolf.git
$ echo "set runtimepath^ = ~/.vim/bundle/badwolf" > ~/.vimrc
Bây giờ plugin đã được cài đặt, vì vậy chúng ta có thể sử dụng bảng màu badwold như sau:
:colorscheme badwolf
Cập nhật trình cắm
Nếu chúng ta quan sát kỹ, plug-in chỉ là một tập hợp các tệp và nếu chúng ta muốn cập nhật plug-in đó thì chỉ cần cập nhật thư mục plug-in thích hợp từ ~ / .vim / pack.
Xóa trình cắm
Việc xóa plug-in trong Vim thực sự rất đơn giản. Để xóa trình cắm, hãy thực hiện các bước sau:
- Xóa thư mục trình cắm khỏi ~ / .vim / pack
- Sửa đổi đường chạy thời gian thích hợp
Một số plug-in hữu ích
Dưới đây là danh sách một số plugin Vim hữu ích
Sr.No | Tên & Mô tả |
---|---|
1 | DumpX Mã C / C ++ có thể tháo rời |
2 | awk.vim Thụt lề cho tập lệnh AWK |
3 | Pathogen Trình quản lý gói Vim |
4 | git-switcher.vim Tự động lưu và tải phiên vim dựa trên việc chuyển đổi nhánh git |
5 | Pyflakes Cung cấp liniting cho các tệp python |
Chúng ta có thể cấu hình Vim để sử dụng nó như một IDE. Trong phần này, chúng ta sẽ thảo luận về các mục sau
- Đánh dấu cú pháp
- Thụt lề thông minh
- Bounce
- Thực thi các lệnh shell
- Định cấu hình ctags và csope
- Tự động hoàn thành và tự động đề xuất
Đánh dấu cú pháp
Đánh dấu cú pháp là một trong những tính năng quan trọng của IDE. Để cho phép sử dụng tô sáng cú pháp -
:syntax on
Ví dụ: hình ảnh dưới đây hiển thị đánh dấu cú pháp cho mã C -
Để tắt sử dụng tô sáng cú pháp -
:syntax off
Khi đánh dấu cú pháp bị tắt, nó sẽ hiển thị đầu ra sau:
Thụt lề thông minh
Để thực hiện thụt lề tự động và thông minh, hãy sử dụng các lệnh sau:
: set autoindent
: set smartindent
Ngoài ra, bạn có thể sử dụng lệnh dưới đây để tự động thụt lề mã C:
: set cindent
Nảy
Nếu bạn đang sử dụng ngôn ngữ lập trình sử dụng dấu ngoặc nhọn để kết hợp nhiều câu lệnh thì% key sẽ là bạn của bạn. Phím này sẽ nhanh chóng nhảy giữa đầu và cuối dấu ngoặc nhọn.
Ví dụ, bạn đang ở dòng 11 và thực hiện lệnh% sau đó nó sẽ di chuyển con trỏ đến dòng 4. Hình ảnh dưới đây cho thấy điều này:
Thực thi các lệnh shell
Để thực hiện một lệnh từ người dùng trình soạn thảo Vim -
:!<command>
Ví dụ, để thực hiện lệnh pwd, hãy sử dụng cú pháp sau:
:!pwd
However, if you want to multiple shell commands then execute following command −
:shell
Above command will give you terminal access, where you can execute multiple commands. Once you are done with it, just type exit command which will return back to Vim session.
Configure ctags and cscope
Combination of ctags and csope provides many useful features like go to function definition, go to function declaration, find function calls, search file, and many more. Perform below steps to configure these tool −
- Generate tags using following command −
$ ctags <file>
This command will generate new file namely tags
- Provide tag file to vim using following command −
:set tags = tag
- Now move your cursor under function name and press Ctrl + ] to go to function definition.
- Use Ctrl + t to come back to previous position.
To install and configure cscope perform following steps −
- Install cscope
$ sudo apt-get install cscope
- Generate ctags and launch main window
$ cscope –R
- User Ctrl + d to close cscope window
Auto-completion and auto-suggesting
We can use following commands for auto-completion −
Sr.No | Command & Description |
---|---|
1 | Ctrl + x Ctrl + N Word completion |
2 | Ctrl + x Ctrl + L Line completion |
3 | Ctrl + x Ctrl + F File name completion |
Note that we have to use these commands in insert mode.
Many times we need to work with remote servers. And often we edit files from those remote servers. One of the obvious solution to edit those files is to log in to the remote sever and edit files. But sometimes it is convenient to edit those files from local machine because we might have installed and configured various plug-in on our local system. In this chapter, we will discuss following items −
- Access remote files
- Understand netread and netwrite
- Other supported protocol
Accessing remote files
Vim supports remote file editing using following syntax −
$vim scp://[email protected]/filepath
In above example vim will recognize that it has to use scp protocol and it will access file using that protocol. For instance −
$ vim scp://[email protected]//tmp/message.txt
Above command will open /tmp/message.txt file from remote-server. It will use SCP protocol and jarvis user’s credentials for authentication.
Using nread and nwrite
Vim supports nread and nwrite functionality which stands for net read and net write respectively. Previous section shows method to access remote file while launching Vim. But what if you are already in Vim? Then you can use following commands −
:Nread scp://jarvis@localhost//tmp/message.txt
In addition to reading we can also modify file on remote server directly. In that case use Nwrite command as follows −
:Nwrite scp://jarvis@localhost//tmp/message.txt
Once file is opened, you can use regular Vim commands.
Other supported protocols
In addition to SCP, Vim supports following protocols −
- FTP
- SFTP
- HTTP (read-only)
- rsync
Now we got fair idea about Vim. Let us discuss few tips and tricks of Vim to improve productivity. In this section, we will discuss following items −
- Convert spaces to tabs and vice-versa
- Highlight miss-spelled words
- Word completion
- Copy line character by character
- Indent code
- Change file format
Convert spaces to tabs and vice-versa
Convert tabs to spaces
If you are editing a file and you want to convert entered tab character to spaces then execute following command −
:set expandtab
Note that, this command will not change existing tabs to spaces. To achieve this execute following command −
:set tabstop = 4 shiftwidth = 4 expandtab
:retab
In above command we are instructing Vim to convert tabs into 4 spaces
Convert spaces to tabs
To convert spaces to tabs execute below command −
:set noexpandtab :retab!
Highlight miss-spelled words
We can instruct Vim to highlight miss-spelled words. To do this execute following command −
:set spell
Below image highlights misspelled word in Vim −
Word completion
Vim also provides word completion. For this execute following command in insert mode −
Ctrl + p
Copy character line by line
Use following command to copy and paste line character by character −
Sr.No | Command & Description |
---|---|
1 | Ctrl + y Copy and paste text located above the cursor |
2 | Ctrl + e Copy and paste text located below the cursor |
Note the we have to use these commands in insert mode.
Indent code
If you have un-indented code to indent it execute following command −
=%
For instance, if you have un-indented code like this −
Then go to line 4 and execute =% command. It will indent code like this −
Change file format
To change file format to UNIX execute following command −
:set ff = unix
To change file format to DOS execute following command −
:set ff = dos
We can personalize Vim according to our requirement. In this section, we will discuss following items −
- Configuration files
- Changing fonts
- Changing color scheme
- Personal highlighting
- Status line
Configuration files
For Vim configuration files can be at user level or global level. User specific settings will be stored in user level files while global settings will be stored in global level files.
Tệp Vimrc
Global vimrc
Để tìm ra tệp vimrc toàn cầu, hãy thực hiện lệnh sau trong trình chỉnh sửa
:echo $VIM
HOẶC LÀ
:echo \%VIM\%
Trên Linux, tệp này sẽ nằm trong thư mục / usr / share / vim trong khi trên Window, nó sẽ nằm trong thư mục C: \ Program Files \ Vim
Local vimrc
Local vimrc sẽ nằm trong thư mục chính của người dùng. Ví dụ: trên Linux, nó sẽ nằm trong thư mục / home / <USER> trong khi trên Windows, nó sẽ nằm trong thư mục C: \ Documents and Setting \ <USER> /
Lưu ý rằng, trên Windows tên tệp sẽ là _vimrc trong khi trên Linux nó sẽ là .vimrc.
Gvimrc
Global gvimrc
Trên Linux, tệp này sẽ nằm trong thư mục / usr / share / gvim trong khi trên Window nó sẽ nằm trong thư mục C: \ Program Files \ Vim
Local gvimrc
Gvimrc cục bộ sẽ nằm trong thư mục chính của người dùng. Ví dụ: trên Linux, nó sẽ nằm trong thư mục / home / <USER> trong khi trên Windows, nó sẽ nằm trong thư mục C: \ Documents and Setting \ <USER> /
Lưu ý rằng, trên Windows tên tệp sẽ là _gvimrc trong khi trên Linux nó sẽ là 55 .gvimrc.
exrc
các tệp exrc được sử dụng để tương thích ngược. Các tệp này bị bỏ qua nếu có tệp vimrc hoặc gvimrc.
Global exrc
Trên Linux, tệp này sẽ nằm trong thư mục / usr / share / vim trong khi trên Window, nó sẽ nằm trong thư mục C: \ Program Files \ Vim
Local exrc
Exrc cục bộ sẽ nằm trong thư mục chính của người dùng. Ví dụ: trên Linux, nó sẽ nằm trong thư mục / home / <USER> trong khi trên Windows, nó sẽ nằm trong thư mục C: \ Documents and Setting \ <USER> / _exrc
Thay đổi phông chữ
Để thay đổi phông chữ, hãy thực hiện lệnh sau trong gVim:
:set guifont = courier
Lệnh trên sẽ thay đổi phông chữ thành chuyển phát nhanh.
Thay đổi màu sắc
Để thay đổi bảng màu, hãy thực hiện lệnh sau:
:colorscheme <tab>
Khi bạn nhấn ký tự tab, nó sẽ hiển thị các bảng màu có sẵn cho Vim.
Đánh dấu cá nhân
Đánh dấu các ký tự sau các cột nhất định
Thực hiện lệnh dưới đây để đánh dấu các cột lớn hơn 73 -
:match ErrorMsg /\%>73v.\+/
Hình ảnh dưới đây cho thấy điều này -
Dưới đây là mô tả của lệnh này:
Sr.No | Lệnh & Mô tả |
---|---|
1 | \%> Khớp sau cột |
2 | 73 Đây là số cột |
3 | V Nó chỉ hoạt động cho các cột ảo |
4 | .\+ Khớp một hoặc nhiều ký tự |
Thêm số dòng
Để thêm số dòng, hãy thực hiện lệnh sau:
:set number
Để tắt lệnh này, hãy thực thi lệnh sau:
:set nonumber
Đặt chiều rộng số
Để đặt độ rộng số, hãy thực hiện lệnh sau:
:set numberwidth = <num>
Kiểm tra chính tả
Để bật tính năng kiểm tra chính tả, hãy thực hiện lệnh sau:
:set spell
Và để đặt ngôn ngữ chính tả, hãy thực hiện lệnh sau:
:set spelllang = <language>
Ví dụ để đặt cách sử dụng tiếng Đức sau dấu phẩy -
:set spelllang = de
Viết tắt
Sử dụng cách viết tắt, chúng ta có thể tạo phím tắt cho chuỗi dài. Ví dụ, lệnh dưới đây tạo ra từ viết tắt là "nhanh chóng".
:abbr quick the quick brown fox
Nếu bạn gõ "quick" và nhấn tab thì nó sẽ được thay thế bằng chuỗi "the quick brown fox"
Chúng tôi có thể sử dụng điều này để sửa một số lỗi chính tả. Ví dụ, lệnh dưới đây thực hiện điều này:
:abr teh the
Dòng trạng thái
Dòng trạng thái được hiển thị ở cuối trình chỉnh sửa. Để kích hoạt dòng trạng thái, hãy thực hiện lệnh sau:
:set laststatus = 2
Để loại bỏ điều này cho phiên hiện tại, hãy thực hiện lệnh sau:
:set laststatus = 0
Vim thực sự là một trình soạn thảo mạnh mẽ và bây giờ bạn có thể làm phiền nó. Làm chủ Vim sẽ thực sự cải thiện năng suất của bạn. Sử dụng Vim bạn có thể giải quyết nhiều tác vụ phức tạp với một vài lệnh. Bạn có thể tham khảo tài liệu sau để biết thêm về Vim.
Vim tài liệu chính thức
Bạn có thể truy cập tài liệu chính thức của Vim từ trang web sau:
https://www.vim.org/
Vim Scripting hướng dẫn
Bạn có thể nâng cao vim hơn nữa bằng cách viết kịch bản cho nó. Nó có ngôn ngữ kịch bản riêng. Để biết thêm về nó, hãy truy cập liên kết sau -
https://vim.sourceforge.io/scripts/index.php
Vim plug-in
Vim plug-in mở rộng thêm chức năng của nó và giúp bạn làm việc hiệu quả hơn. Bạn có thể cài đặt, cấu hình và thậm chí viết các plug-in cho Vim. Bạn có thể tham khảo tài liệu về điều này từ trang web chính thức của họ.