Có ai biết làm thế nào để lưu / tái sử dụng các macro được ghi bên trong trình soạn thảo vim không?
Có ai biết làm thế nào để lưu / tái sử dụng các macro được ghi bên trong trình soạn thảo vim không?
Câu trả lời:
Sử dụng q
theo sau là một chữ cái để ghi lại một macro. Điều này chỉ cần đi vào một trong các thanh ghi sao chép / dán để bạn có thể dán nó như bình thường với các lệnh "xp
hoặc "xP
trong chế độ bình thường.
Để lưu nó, bạn mở .vimrc và dán nội dung, sau đó thanh ghi sẽ xuất hiện vào lần tiếp theo bạn bắt đầu vim.
Các định dạng là một cái gì đó như:
let @q = 'macro contents'
Hãy cẩn thận của dấu ngoặc kép, mặc dù. Họ sẽ phải được trốn thoát đúng cách.
Vì vậy, để lưu một macro bạn có thể làm:
qq
q
"qp
để chèn macro vào let @q = '...'
dòng của bạnCtrl+r Ctrl+r registerName
đầu vào đăng ký nội dung mà không giải thích chúng - tốt hơn "qp
. +1 cho phương thức in-vim.
Đối với một giải pháp mạnh mẽ hơn, bạn có thể kiểm tra Marvim .
Nó cho phép bạn lưu macro trong một không gian tên cụ thể (hoặc sử dụng filetype làm không gian tên mặc định) và sau đó bạn có thể tìm kiếm các macro đã lưu và tải chúng trong một thanh ghi sẵn sàng để sử dụng.
Nếu bạn sử dụng lại nhiều macro, điều này khá hữu ích.
Viết các macro của bạn bên trong ~ / .vimrc của bạn, để xác định một macro được khởi chạy bởi CTRL + O bằng ví dụ, thêm dòng sau vào ~ / .vimrc:
map <C-O> MACROTEXT
Khi bạn ghi lại một macro bằng cách nhập, qa
bạn có thể truy xuất văn bản macro của mình bằng cách nhập"ap
a
sổ đăng ký
Lệnh :mkexrc
(hoặc :mkvimrc
) có thể được sử dụng để lưu tất cả các hiện tại :map
và :set
cài đặt vào một tệp. Xem :help mkexrc
để biết chi tiết.
Bạn có thể làm như thế này trên của bạn ~/.vimrc
:let @a="iHello World!\<CR>bye\<Esc>"
LƯU Ý: Bạn phải sử dụng dấu ngoặc kép để có thể sử dụng các phím đặc biệt như trong \<this silly example>
.
CTRL-V <ESC>
trong chế độ chèn để chèn đúng ký tự. Một nghĩa đen<ESC>
không hoạt động