Hướng dẫn về dấu Vim

Huong Dan Ve Dau Vim



Dấu Vim là các vị trí cụ thể trong một tệp có thể được đặt tên và sau đó được trả về bằng cách gọi chúng bằng tên của chúng. Lá thư tôi theo sau là một chữ cái khác {a-z hoặc A-Z} có thể được sử dụng để đặt dấu và một trích dẫn duy nhất ) ‘) với tên nhãn hiệu được dùng để quay về nhãn hiệu đó. Lưu ý rằng chữ thường các chữ cái được sử dụng để thiết lập nhãn hiệu địa phương trong khi chữ hoa các chữ cái được sử dụng để thiết lập nhãn hiệu toàn cầu .

Hiểu về dấu Vim

Vim cho phép bạn đặt các vị trí cụ thể trong một tệp, đặc biệt nếu bạn đang làm việc trên một tệp lớn mà bạn cần di chuyển qua lại nhanh chóng. Tính năng này giúp việc điều hướng một tệp có hàng trăm dòng trở nên cực kỳ đơn giản. Ví dụ: nếu bạn đang làm việc trên một mã Python có 500 dòng mã thì bạn có thể phải cuộn qua tệp để đến một dòng mã cụ thể. Nhưng nếu bạn đặt dấu ở những vị trí mong muốn thì bạn có thể dễ dàng di chuyển bằng cách nhấn một vài phím.







Chà, chức năng đánh dấu Vim không chỉ giới hạn trong việc điều hướng, bạn cũng có thể sử dụng dấu để thực thi các lệnh khác mà tôi sẽ thảo luận trong các phần sau của hướng dẫn này. Hãy cùng khám phá cách đặt và sử dụng nhãn hiệu trong Vim.



Ghi chú: Tôi đang sử dụng bản phân phối Linux (Ubuntu 22.04) và Vim phiên bản 8.2 để xem hướng dẫn trong hướng dẫn này.



Đặt dấu

Để đặt dấu trong Vim, hãy giữ con trỏ ở nơi bạn muốn đặt dấu và nhấn nút tôi chìa khóa , theo sau là bất kỳ lá thư nào từ Một ĐẾN Với . Ví dụ: nếu tôi muốn đặt dấu bằng tên của chữ cái Với sau đó tôi sẽ gõ mz ở chế độ BÌNH THƯỜNG.





mz

Có nhiều cách để đặt dấu trong Vim, quy trình này là nhanh nhất.

Tuy nhiên, mặc dù quy trình nêu trên được sử dụng rộng rãi và rất nhanh chóng, nhưng bạn sẽ không nhận được bất kỳ dấu hiệu trực quan nào về việc nhãn hiệu đã được đặt hay chưa trừ khi bạn kiểm tra nó một cách rõ ràng.



Để liệt kê các nhãn hiệu trong Vim, hãy sử dụng :điểm lệnh mà tôi sẽ thảo luận trong phần Danh sách điểm phần. Tuy nhiên, bạn có thể bật chỉ báo gõ phím ở cuối cửa sổ bằng cách sử dụng :set showcmd.

: bộ showcmd

Bạn cũng có thể sử dụng đánh dấu hoặc là Đánh dấu các lệnh để đặt dấu. Ví dụ, Với dấu cũng có thể được đặt bằng lệnh dưới đây:

: đánh dấu z

Mỗi tệp Vim có thể có dấu từ Một ĐẾN Với , nhưng nếu bạn đặt dấu Với đối với một vị trí và sử dụng cùng tên nhãn hiệu cho vị trí khác, nhãn hiệu đã đặt trước đó sẽ bị xóa (ghi đè).

Lưu ý rằng các chữ in hoa {A-Z} cũng có thể được sử dụng để đặt dấu. Các dấu có chữ in hoa là nhãn hiệu toàn cầu và dựa trên các tập tin. Tôi sẽ thảo luận kỹ lưỡng về nhãn hiệu toàn cầu trong một phần riêng biệt.

Danh sách điểm

Như đã thảo luận ở phần trước, tất cả các nhãn hiệu đã tạo có thể dễ dàng được liệt kê

sử dụng :điểm yêu cầu.

: điểm

Trong hình ảnh đầu ra ở trên, tất cả các dấu hiệu đều được liệt kê; một số là tùy chỉnh và một số là mặc định.

Ngoài ra còn có một số phương pháp khác để liệt kê các nhãn hiệu. Để liệt kê một nhãn hiệu cụ thể, hãy sử dụng :điểm lệnh với tên nhãn hiệu. Ví dụ, để liệt kê nhãn hiệu Với, sử dụng :marks yêu cầu:

: dấu z

Tương tự, để liệt kê nhiều nhãn hiệu, hãy sử dụng :điểm <đánh dấu tên> :

: dấu abz

Ở đâu Một , b, Với là những tên nhãn hiệu khác nhau.

Theo mặc định, các dấu trong tệp không hiển thị và để xem chúng bằng đồ họa, có nhiều plugin khác nhau. Các plugin nổi tiếng có thể hiển thị nhãn hiệu trong Vim là Hiển thịMarks Chữ ký Vim .

Vì plugin ShowMarks đầy lỗi và chưa được cập nhật trong nhiều năm nên tôi sẽ cài đặt Chữ ký Vim plugin để xem điểm.

Khi cài đặt plugin, hãy đặt dấu và plugin sẽ hiển thị rõ ràng với tên như minh họa trong hình ảnh sau.

Chuyển đến một điểm

Sau khi đặt dấu, bước tiếp theo là điều hướng các dấu. Để nhảy tới đầu dòng được đánh dấu trong vùng đệm hiện tại, nhấn phím trích dẫn đơn (‘) với tên nhãn hiệu {a-z}.

'Với

Để nhảy tới vị trí chính xác (hàng/cột) nhấn nút đánh dấu ngược (`) với tên nhãn hiệu {a-z}.

`z

Dấu đơn (') và backtick (`) cũng có thể được sử dụng để nhảy các dấu chung {A-Z}.

Một bảng điều hướng qua các dấu chữ thường được đề cập dưới đây:

'' Nhảy trở lại dòng từ nơi bạn đã nhảy
Nhảy trở lại vị trí nơi bạn đã nhảy
' . /`. Để chuyển đến dòng/vị trí được chỉnh sửa cuối cùng
`[\`] Để nhảy về đầu/cuối văn bản được kéo gần đây nhất
`<\`> Để chuyển đến điểm bắt đầu/kết thúc của lựa chọn trực quan cuối cùng
[đếm]] ' Để chuyển sang dòng tiếp theo của [đếm] số điểm tính từ vị trí con trỏ hiện tại
[đếm]]` Để nhảy [đếm] số điểm từ vị trí con trỏ hiện tại

Điều quan trọng cần lưu ý là các phím điều hướng được đề cập ở trên là dành cho các dấu chữ thường.

Thảo luận về điểm Vim sẽ không đầy đủ nếu chúng ta không thảo luận về nhảy danh sách nhảy . Các danh sách nhảy lưu trữ các bước nhảy được thực hiện trong tệp hoặc trên các tệp, cho dù chúng là dấu hay bước nhảy mặc định Vim bình thường.

Để liệt kê tất cả các bước nhảy, hãy sử dụng :nhảy lệnh và để xóa tất cả các bước nhảy, hãy sử dụng lệnh :clearjumps. Để điều hướng các bước nhảy, hãy sử dụng ctrl+o ctrl+i phím.

Ghi chú: Trước khi xóa các bước nhảy, hãy lưu ý rằng việc xóa các bước nhảy có thể ảnh hưởng đến lịch sử điều hướng.

Tôi thấy việc sử dụng các bước nhảy thuận tiện hơn để di chuyển qua các điểm. Đầu tiên, tôi xóa tất cả các bước nhảy vì nếu không làm như vậy, tôi có thể sẽ chuyển sang các tệp khác. Sau đó tôi đăng ký dấu nhảy trong danh sách nhảy tập tin bằng cách sử dụng dấu nháy đơn hoặc dấu ngược lại. Sau khi thực hiện xong, tôi sử dụng ctrl+o ctrl+i phím để nhảy qua các điểm một cách nhanh chóng.

Để được trợ giúp thêm về việc điều hướng các điểm đánh dấu, hãy sử dụng :dấu trợ giúp :danh sách nhảy trợ giúp lệnh.

Nhãn hiệu toàn cầu

Dấu chung trong Vim được đặt để chuyển giữa các tệp. Không giống như nhãn hiệu cục bộ, nhãn hiệu chung được đặt bằng chữ in hoa và có thể được sử dụng trên các tệp.

Hãy hiểu tầm quan trọng của nhãn hiệu toàn cầu thông qua một ví dụ. Giả sử bạn đang làm việc trên một tệp mã và muốn truy cập một chức năng cụ thể trong tệp đó. Vì vậy, thay vì mở tệp, bạn chỉ cần nhập dấu chung đã đặt và tệp sẽ được mở với vị trí cụ thể.

Để đặt dấu chung, hãy sử dụng lệnh mark tôi theo sau là chữ in hoa {A-Z}.

mZ

Bây giờ, bạn có thể truy cập nhãn hiệu này từ bất kỳ tệp nào. Để chuyển đến điểm chung, hãy sử dụng quy trình tương tự được đề cập trong Chuyển đến một điểm phần. Tệp chứa dấu sẽ được mở, đóng tệp hiện tại.

'VỚI

Tương tự, để đến vị trí chính xác, hãy sử dụng dấu tích ngược với tên nhãn hiệu (`Z).

Dấu được đánh số

Các dấu được đánh số {0-9} được sử dụng để lưu trữ vị trí con trỏ hiện tại trong viminfo tập tin khi bạn thoát khỏi tập tin. Các dấu được đánh số là đặc biệt và không thể đặt trực tiếp. Những dấu hiệu này được tạo tự động trong viminfo file để theo dõi các sửa đổi trong tệp khi bạn thoát tệp. Ví dụ: khi bạn thoát bất kỳ tập tin nào, viminfo file lưu thông tin vị trí con trỏ cuối cùng vào các dấu được đánh số như 0, 1, 2, v.v.

Bạn có thể liệt kê các dấu được đánh số bằng cách sử dụng :điểm yêu cầu.

Để biết thêm thông tin về các dấu đánh số Vim, hãy sử dụng :help viminfo-file-mark yêu cầu.

Xóa dấu

Có nhiều phương pháp khác nhau để xóa tất cả các dấu, dấu cụ thể hoặc một loạt dấu.

Để xóa dấu, :delmark hoặc :delm có thể sử dụng các lệnh

:delmark z Để xóa một dấu cụ thể, ví dụ: Với
:delmarks xz Để xóa dấu khỏi x ĐẾN Với như vậy là xóa x , , Và Với
:delmarks abxy Xóa Một , b , x, điểm
:delmarks zZ Xóa Với VỚI điểm

Để xóa tất cả các dấu {a-z} chữ thường, hãy sử dụng :delmark! yêu cầu. Để xóa dấu chữ hoa và dấu số, bạn cần sử dụng :delmarks A-Z :delmark 0-9 lệnh. Nếu bạn muốn xóa dấu chữ hoa {A-Z}, hãy sử dụng :delmarks A-Z . Các dấu được đánh số cũng có thể được xóa bằng lệnh tương tự.

Các tính năng tiên tiến

Vì dấu là vị trí nên chúng cũng có thể được sử dụng để chỉnh sửa tệp trong Vim. Ví dụ: để xóa, sao chép hoặc thay đổi nội dung nào đó từ một nhãn hiệu cụ thể này sang nhãn hiệu khác, bạn có thể sử dụng lệnh tương ứng có đề cập đến tên nhãn hiệu đó.

Trong bảng sau đây, Với được sử dụng làm tên nhãn hiệu.

d ' z/d`z Xóa từ dòng hiện tại đến dòng được đánh dấu tiếp theo/Xóa từ vị trí hiện tại cho đến vị trí được đánh dấu chính xác tiếp theo
c ' z / c`z Thay đổi văn bản từ dòng hiện tại sang dòng được đánh dấu tiếp theo / Thay đổi văn bản từ vị trí hiện tại đến vị trí được đánh dấu chính xác tiếp theo
' z / y`z Sao chép (kéo) văn bản từ dòng hiện tại sang dòng được đánh dấu tiếp theo / Sao chép văn bản từ vị trí hiện tại đến vị trí được đánh dấu chính xác tiếp theo

Nếu bạn muốn thực hiện một theo đường thẳng thao tác, sau đó gọi dấu bằng cách sử dụng dấu ngoặc đơn (') và nếu bạn muốn thực hiện đặc trưng hoạt động, sử dụng backtick (`).

Tương tự, nếu bạn muốn xóa, thay đổi hoặc kéo bất cứ thứ gì giữa hai dấu thì bạn có thể sử dụng cú pháp lệnh sau.

: 'x,' < d, c hoặc y >

Ví dụ: nếu bạn muốn xóa tất cả các dòng khỏi nhãn hiệu ‘x đánh dấu 'Và sử dụng : ' x, ' năm ngày yêu cầu.

Xem tập tin sau đây có dấu b c .

Để xóa tất cả các dòng khỏi nhãn hiệu b đến c (bao gồm), thực hiện lệnh được đưa ra dưới đây:

: 'b,' đĩa CD

Sự khác biệt giữa dấu chữ thường và dấu chữ hoa

Cả chữ thường và chữ hoa đều có chức năng riêng biệt.

Các dấu chữ thường được sử dụng trong các tập tin và có thể được đặt từ bảng chữ cái Một sang bảng chữ cái Với trong bất kỳ tập tin nào. Chúng là duy nhất đối với các tệp mà chúng được tạo. Chúng có thể được truy cập và quản lý trong các tệp nơi chúng được tạo. Mặt khác, các dấu viết hoa {A-Z} là toàn cục và không thể đặt cùng tên. Những dấu này có thể được truy cập từ bất kỳ tệp nào bằng cách sử dụng dấu nháy đơn (') hoặc dấu nháy ngược (`).

Cách điều hướng và quá trình xóa dấu chữ thường và chữ hoa cũng tương tự nhau. Nhưng dấu chữ thường có nhiều lệnh điều hướng hơn do cài đặt trong tệp của chúng.

Một điều quan trọng khác là các dấu không bị xóa khi thoát khỏi tệp hoặc phiên. Vì vậy, nếu bạn đã đặt dấu thì khi mở lại tệp, dấu sẽ vẫn còn nguyên.

Bảng cheat Vim Marks

Các thao tác chính mà bạn cần để sử dụng tính năng đánh dấu trong trình soạn thảo Vim được đề cập trong hình ảnh sau đây.

Phần kết luận

Các dấu trong trình soạn thảo Vim là các vị trí được đặt tùy chỉnh để điều hướng một tệp có hàng trăm dòng. Có hai loại dấu là dấu hoa và dấu thường. Các dấu chữ thường rất hữu ích trong việc điều hướng trong tệp. Để điều hướng qua các tập tin, dấu chữ hoa được sử dụng. Để đặt dấu, chữ cái tôi được sử dụng với một chữ cái viết thường hoặc viết hoa khác {a-z, A-Z}. Dấu hiệu của bất kỳ tập tin nào có thể được liệt kê bằng cách sử dụng :điểm yêu cầu. Để xóa một dấu :delmark hoặc :delm các lệnh có tên nhãn hiệu được sử dụng.