append()
chèn một vài dòng văn bản bên dưới dòng được chỉ định làm đối số đầu tiên. Điều này phù hợp với append
lệnh ex. Ví dụ, bạn có thể nhập :append
(và vào chế độ ex) sau đó viết một vài dòng văn bản và thoát chế độ ex (bằng cách nhấn <c-c>
chẳng hạn), các dòng sẽ xuất hiện sau khi dòng con trỏ của bạn được bật. Nói cách khác, append
lệnh có nghĩa là: nối các dòng văn bản tôi sẽ viết bên dưới dòng hiện tại.
Hàm VimScript append()
cho phép các bộ xác định dòng, làm cho nó hữu ích hơn lệnh ex. Những điều hữu ích thường đến là cách tiêm các đoạn văn bản ở đầu và cuối tệp. ví dụ: đối với LaTeX, điều này có thể hữu ích:
call append(line('^'), [ '\documentclass[12pt]{article}'
\ , '\begin{document}'])
call append(line('$'), '\end{document}')
Đâu line('$')
là dòng cuối cùng trong tệp và line('^')
luôn trả về 0
(và tôi có thể đã viết nó thay vào đó mà không gặp vấn đề gì).
Để có được hành vi của Vim A
, hoặc bất kỳ lệnh chế độ thông thường Vim nào khác, bạn có thể sử dụng normal
. Để có được đầu ra Foo()
xuất hiện ở cuối dòng có thể phức tạp hơn một chút, một cách là sử dụng execute
:
execute ':normal! A' . Foo()
Hoặc bạn có thể sử dụng chắp thêm và sau đó thực hiện J
:
call append(line('.'), Foo())
normal! Jx
(Lưu ý rằng x
cần thiết để loại bỏ không gian được tạo bởi J
, nhưng điều này có thể không hoạt động như mong đợi nếu chuỗi được tạo bởi Foo()
bắt đầu bằng khoảng trắng).
A
mà thực sự nối thêm văn bản vào dòng hiện tại.