Chạy macro vim từ bên trong tập lệnh bash


8

Trong một tập lệnh bash tôi muốn chỉnh sửa một tập tin. Có cách nào để viết một macro trong vim, lưu nó và sau đó gọi nó trong bash script?

Câu trả lời:



2

Đây là một ví dụ về việc sử dụng vim để tạo các phiên bản tệp HTML với vim:

for f in *.c; do
    vim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" "$f"
done

2

Bạn có thể sử dụng ex, đi kèm với vim và là công cụ dòng lệnh cho vim.

Câu trả lời của Eran hoàn toàn chính xác, nhưng cá nhân tôi cũng sử dụng ex -c( vim -ccũng có thể):

> echo asdf > blub
> ex blub -c "normal a_" -c "normal l.l.l." -c wq
> cat blub
a_s_d_f_

Đây là cách ưa thích của tôi, vì không có nhiều tệp.

Nếu bạn sắp xếp lại lối thoát cho jj (ví dụ), bạn có thể dễ dàng thực hiện các câu lệnh bình thường phức tạp hơn:

ex file -c "normal a_jjl.l.l." -c wq

Để biết thông tin của bạn:

  • bình thường gửi thư trong chế độ bình thường đến
  • wq rời khỏi chương trình
  • để gửi nhiều lệnh trong một chuỗi (không có tùy chọn -c bổ sung), hãy sử dụng ký tự ống |. Nhưng: Điều này không hoạt động trong trường hợp bình thường.
  • Điều này chỉ hoạt động trong 10 -c's. Nhưng để có nhiều lệnh hơn, tôi khuyên bạn nên tạo một tệp.
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.