Sự khác biệt giữa tập hợp và: tập hợp là gì?


16

Tôi đã xem xét plugin nhạy cảm vim của Tim Pope và tôi nhận thấy điều này trong README ...

Xem nguồn cho danh sách các tính năng có thẩm quyền. (Đừng lo lắng, chủ yếu là :setcác cuộc gọi.)

Khi tôi nhìn vào nguồn, các :setcuộc gọi như thế này ...

set autoindent

Không có :trước set.

Tôi khá chắc chắn rằng tôi thực sự đã nhìn thấy :settrong ví dụ .vimrcs.

Sự khác biệt là gì?

Tôi nên sử dụng hình thức nào .vimrc?

Câu trả lời:


21

Một "tập lệnh" không làm gì khác hơn là chạy một chuỗi các lệnh ex. "Lệnh ex" là những gì bạn nhập khi bạn sử dụng :trong Vim. Ví dụ :wq, :set wrap, :e file, vv là tất cả các lệnh cũ.

Đây :không phải là một phần của lệnh; nó chỉ đơn thuần là một tổ hợp phím để bắt đầu chế độ dòng lệnh; bạn không cần phải bao gồm :, ví dụ như khi bạn xâu chuỗi nhiều lệnh với |bạn không cần lặp lại :nhiều lần. Ví dụ, :write | quitsẽ hoạt động tốt.

Để thuận tiện, :có thể được bao gồm mặc dù. Hỗ trợ này với sao chép / dán và như vậy, nhưng bạn không phải. Nó không thành vấn đề. Trong thực tế, tất cả các :s hàng đầu chỉ đơn giản là bỏ qua. :write, write:::::::::writetất cả đều tương đương về chức năng (mặc dù rõ ràng không phải là về sự tỉnh táo).

Nó thường hữu ích để bao gồm các :tài liệu trong tài liệu để làm rõ rằng đây là một lệnh ex. Ví dụ, wcó thể tham chiếu hoặc :wlệnh chế độ bình thường wđể đi đến từ tiếp theo.

Lưu ý rằng điều này áp dụng cho tất cả mọi thứ . Cấu trúc điều khiển như ifendifcũng lệnh chỉ cũ; bạn có thể gõ một cái gì đó như thế này:

:if 1
:echo 'one'
:endif

từ dòng lệnh Vim tốt; không cần một "kịch bản". Kịch bản Vim rất "phi ma thuật" và "không đặc biệt"; mọi thứ bạn có thể làm từ dòng lệnh ex bạn có thể làm trong tập lệnh Vim và ngược lại.


6

Không có sự khác biệt. Nếu vim thấy :trước một lệnh trong vimrc của bạn (hoặc bất kỳ tệp vimscript nào), nó sẽ bỏ qua nó. Ngoài ra, như đã đề cập ở trên, điều này không cụ thể đối với setlệnh.

Thông thường :có nghĩa là lệnh sẽ được chạy bởi bạn thay vì được đặt trong vimrc của bạn (hoặc tệp vimscript khác) , nhưng điều đó thường phụ thuộc vào ngữ cảnh. Cá nhân tôi nghĩ rằng sẽ tốt hơn nhiều nếu không đặt dấu hai chấm trước các lệnh trong tệp vimscript và đó dường như là điều mà hầu hết những người khác cũng làm.

Để biết thêm về điều này xem :help script.


:h scripthoặc :h vim-script-intro(tương đương)
VanLaser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.