Làm thế nào để tìm một phần của tập tin


8

Tôi có thể nguồn một tập tin, ví dụ như của tôi vimrcvới :so %hoặc :so <filename>. Nhưng tôi phải làm gì khi tôi chỉ cần nguồn một phần của tệp. Tôi muốn một số cách để trực quan chọn một phần của tệp :h vvà sau đó nguồn nó. Giống như emacsM-x eval-region


2
Không hoạt động trong mọi trường hợp, nhưng:@*
Thánh lễ

Câu trả lời:


10

Sau khi bạn thực hiện lựa chọn Visual của bạn chạy này:

y:@"<CR>

ysao chép lựa chọn vào thanh ghi không tên ( ") vì chúng tôi không đặt tên rõ ràng cho thanh ghi. Sau đó :@"thực thi nội dung của thanh ghi đó dưới dạng các lệnh Ex.

Xem help :@/programming/20262519/vim-how-to-source-a-part-of-the-buffer


Vì vậy, bạn đang nói rằng tôi chỉ nên sao chép và dán nó vào cửa sổ dòng lệnh của mình? Điều đó ... dễ dàng hơn tôi nghĩ.
klaus

1
Bạn không dán vào dòng lệnh, điều này sẽ đòi hỏi một cái gì đó như đọc dữ liệu và lưu trữ nó trong bộ đệm đầu vào. Bạn chỉ cần nói với vim để xử lý dữ liệu từ cấp phát bộ nhớ hiện có (kho lưu trữ đăng ký), chi phí thấp hơn rất nhiều.
Lớp B

1

Một triển khai thay thế không dừng lại ở lỗi đầu tiên trong tập lệnh:

command! -range=% Exec call execute(getline(<line1>, <line2>), '')

Bây giờ trong loại chế độ trực quan :'<,'>Execđể xử lý các dòng đã chọn ( '<,'>được thêm tự động như bình thường). Ngoài ra, :Exectrong chế độ bình thường thực thi toàn bộ bộ đệm, giống như :source %, ngoại trừ bộ đệm không cần phải lưu trước.

Nếu cần ánh xạ, chúng có thể được thêm dễ dàng.

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.