Lệnh cho Chọn Chọn Tất cả các dòng chữ trong vim và VsVim là gì?


20

Làm cách nào để chọn tất cả nội dung của tệp trong Vim và VsVim? Giống như trong các biên tập viên khác ctrl+Alàm công việc cho tất cả.


3
Câu trả lời của SibiCoder là tốt, nhưng sẽ hữu ích khi biết bạn định làm gì với nội dung bạn đã sao chép.
Luật29

5
Đầu tiên, bạn "chọn" một số văn bản trong "bộ đệm", không phải trong "tệp". Hai, "chọn" thường vô dụng trong Vim vì vậy bạn phải rõ ràng về những gì bạn muốn làm với "lựa chọn" đó. Cho bạn và cho chúng tôi.
romainl

3
@romainly Tôi nghĩ rằng OP có nghĩa là chọn toàn bộ tệp ở chế độ trực quan, xem xét rằng ctrl+atrong các trình soạn thảo khác sẽ làm nổi bật toàn bộ tệp.
EvergreenTree

@statox Tại sao bạn chỉnh sửa vsvim ? Đó không phải là một vấn đề lớn đối với tôi, nhưng tôi nghĩ thẻ này hoàn toàn phù hợp và tôi không muốn tham gia vào một cuộc chiến chỉnh sửa. (Tôi đã có ping bạn trong :chat!, nhưng bạn chưa được trong căn phòng đó thời gian gần đây, vì vậy nó sẽ không cho tôi)
DJMcMayhem

@DJMcMayhem: Đó là một lỗi: Đầu tiên tôi nghĩ rằng nó vsvimgiống như thế vimperatorvà loại plugin này cho các phần mềm khác và do đó không có chủ đề nên tôi đã gỡ bỏ nó, sau đó tôi đã nghi ngờ nên tôi đã kiểm tra meta và thấy rằng đó là chủ đề nên tôi phê duyệt chỉnh sửa thẻ của bạn nhưng quên chỉnh sửa câu hỏi một lần nữa. Tôi đang thay đổi điều đó ngay bây giờ, xin lỗi vì điều đó.
statox

Câu trả lời:


26

ggVGchọn tất cả nội dung ggdi chuyển đến dòng đầu tiên. Vbắt đầu chế độ trực quan. Gnhảy đến dòng cuối cùng do đó chọn từ dòng đầu tiên đến dòng cuối cùng


15

Cùng với câu trả lời của SibiCoder, nếu bạn có ý tưởng rõ ràng về những gì bạn muốn làm, bạn có thể sử dụng như sau:

:%X

Đâu Xlà một lệnh, ví dụ:

:%d             -> delete every line
:%y             -> yank every line
:%normal! >>    -> indent every line

Bạn cũng có lệnh toàn cầu :g, với mẫu tìm kiếm ^, có thể thực hiện điều tương tự:

:g/^/d             -> delete every line
:g/^/y             -> yank every line
:g/^/normal! >>    -> indent every line

Nếu những gì bạn muốn là chọn văn bản, thì ggVGtốt, nhưng hãy ghi nhớ các phương pháp này, trong trường hợp bạn đã biết bước tiếp theo là gì. Lưu ý rằng nó sẽ không để con trỏ ở chế độ trực quan.

Xem: :h :%:h :gđể tham khảo.


Lưu ý rằng, mặc dù C-Aánh xạ được sử dụng trong vim (xem :h CTRL-A), bạn có thể ánh xạ nó để làm những gì các biên tập viên khác làm:

nnoremap <C-A> ggVG

3

Các câu trả lời khác là tốt. Đây là một lựa chọn khác.

Vì bạn đề cập rằng bạn đang sử dụng VsVim, bạn có thể thay đổi phím nào được xử lý bởi visual Studio và phím nào được xử lý bởi vsvim. Đi đến

Công cụ -> Tùy chọn -> VsVim -> Bàn phím

Từ đó, bạn có thể đặt Ctrl-a được xử lý bởi Visual Studio, thay vì VsVim.

Mặc dù tôi không khuyến nghị điều này vì bạn sẽ không thể sử dụng vim <C-a>, mà tôi thấy đó là một tính năng thiết yếu. Mặc dù điều đó tùy thuộc vào bạn.


-1

bạn có thể sử dụng một số lượng lớn như 99999yy để chọn tất cả nội dung của tệp của bạn


3
Tập tin lớn hơn 100000dòng là có thể, mặc dù hiếm. Ngoài ra, sử dụng yysẽ kéo chúng ra, không chọn chúng.
DJMcMayhem

1
yah chắc chắn bạn đã đúng nhưng khi chọn một cái gì đó thì hầu hết các trường hợp phải cắt, sao chép hoặc xóa chúng :)
Adel Kihal
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.