Sử dụng tính năng Vim Macro, bạn có thể ghi và phát một chuỗi hành động bên trong trình chỉnh sửa.
Bài viết này giải thích cách thực hiện ghi và phát bên trong trình soạn thảo Vi và Vim bằng hai ví dụ chi tiết.
Các bước cấp cao để ghi và phát bên trong Vim
- Bắt đầu ghi bằng cách nhấn q, theo sau là ký tự chữ thường để đặt tên cho macro
- Thực hiện bất kỳ thao tác chỉnh sửa thông thường nào bên trong trình soạn thảo Vim, các thao tác này sẽ được ghi lại
- Dừng ghi bằng cách nhấn q
- Phát macro đã ghi bằng cách nhấn @ theo sau là tên macro
- Để lặp lại macro nhiều lần, nhấn :NN @ tên macro. NN là một số
Ví dụ 1:Tạo số thứ tự bên trong tệp bằng Vim Macro
1. Bắt đầu tệp Sequence-test.txt để tạo chuỗi.
$ vim sequence-test.txt
2. Chuyển đến chế độ chèn và gõ “1 .” như hình dưới đây
Gõ:Esc i theo sau là 1.
$ vim sequence-test.txt 1.
3. Bắt đầu ghi và lưu nó vào sổ đăng ký a.
Loại:Esc q theo sau là a
- q biểu thị bắt đầu ghi
- a biểu thị việc lưu trữ các bản ghi trong sổ đăng ký a
- Khi bạn thực hiện q a, nó sẽ hiển thị phần “ghi” ở cuối vi.
4. Sao chép dòng thứ 1 sang dòng thứ 2 để có hai dòng có 1 . như hình dưới đây
Kiểu:Esc yy theo sau là p
- yy sẽ sao chép dòng hiện tại
- p sẽ dán dòng vừa sao chép
$ vim sequence-test.txt 1. 1.
Lưu ý: Vim vẫn sẽ hiển thị bản ghi ở phía dưới như hình bên dưới.
Hình :Vim hiển thị thông báo ghi âm ở phía dưới
5. Tăng số lượng.
Kiểu:Điều khiển một
Bằng cách đặt con trỏ ở dòng thứ 2, nhấn Ctrl+a để tăng số lên 2. như hiển thị bên dưới.
$ vim sequence-test.txt 1. 2.
Lưu ý: vim vẫn sẽ hiển thị bản ghi ở phía dưới.
6. Dừng ghi
Loại:q
Nhấn q để dừng ghi. Bạn sẽ nhận thấy rằng thông báo ghi ở cuối vim hiện đã biến mất.
7. Lặp lại ghi âm 98 lần.
Loại:98@a
- Bây giờ lặp lại công việc này, bằng cách gõ 98 @ a
- @a lặp lại macro “a” một lần.
- 98@a lặp lại macro “a” 98 lần tạo ra chuỗi số 1 – 100 như hiển thị bên dưới bằng cách sử dụng macro.
Hình :Tạo số thứ tự trong Vim bằng Macro
Ví dụ 2:Lặp lại Vim Macro với các đối số khác nhau
Ví dụ này giải thích cách bạn có thể thực thi cùng một lệnh, với đầu vào khác nhau. tức là Đóng khung cùng một lệnh, với các đối số khác nhau.
Trước khi thực thi Macro:Change-password.sql
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
Sau khi ghi và thực thi Macro:Change-password.sql
$ vim change-password.sql ALTER USER Annette IDENTIFIED BY 'Annette'; ALTER USER Warren IDENTIFIED BY 'Warren'; ALTER USER Anthony IDENTIFIED BY 'Anthony '; ALTER USER Preston IDENTIFIED BY 'Preston'; ALTER USER Kelly IDENTIFIED BY 'Kelly '; ALTER USER Taylor IDENTIFIED BY 'Taylor'; ALTER USER Stiller IDENTIFIED BY 'Stiller'; ALTER USER Dennis IDENTIFIED BY 'Dennis'; ALTER USER Schwart IDENTIFIED BY 'Schwart';
1. Mở file Change-password.sql chỉ có tên.
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
2. Bắt đầu ghi và lưu nó vào sổ đăng ký a
Kiểu:q a
- q biểu thị bắt đầu ghi
- a biểu thị việc lưu trữ các bản ghi trong sổ đăng ký a
- Khi bạn thực hiện q a, nó sẽ hiển thị bản ghi thông báo ở cuối vi.
3. Chuyển đến Chế độ chèn và nhập ALTER USER
Loại:I (Chữ hoa i) theo sau là “ALTER USER”
Đặt con trỏ ở bất kỳ đâu trong dòng đầu tiên, sau đó nhấn I. Thao tác này sẽ đưa bạn đến ký tự đầu tiên của dòng. Nhập THAY ĐỔI NGƯỜI DÙNG
4. Sao chép từ tiếp theo (tức là tên)
Kiểu:Esc w yw
- Nhấn Esc rồi nhấn w để chuyển tới từ tiếp theo ( name ).
- yw, sao chép từ hiện tại ( name ).
5.Đi đến cuối và gõ IDENTIFIED BY ‘
Loại:Esc A theo sau là ” ĐƯỢC XÁC ĐỊNH BỞI ‘”
- Nhấn Esc và A để di chuyển con trỏ đến cuối dòng rồi nhập dấu cách.
- Loại được xác định bởi ‘
6. Dán Tên đã sao chép
Kiểu:Esc p
Nhấn Esc rồi gõ p để dán tên đã sao chép ở bước #4.
7. Hoàn thành phần trích dẫn ở cuối.
Loại:Esc A theo sau là ‘;
Nhấn Esc và A để đi đến cuối dòng và ‘;
8. Chuyển sang dòng tiếp theo và dừng bản ghi.
Gõ:Esc j theo sau là q
- j để chuyển sang dòng tiếp theo.
- q để dừng ghi
Lưu ý: Thông báo ghi âm hiển thị ở cuối vi sẽ biến mất. Ở giai đoạn này, file Change-password.sql sẽ trông như sau.
Hình :Vim Macro đã hoàn thành quá trình ghi
9. Lặp lại Macro với các đối số ở dòng tương ứng
Gõ:8@a
- Bây giờ lặp lại công việc này 8 lần bằng cách gõ 8@a
- @a lặp lại macro “a” một lần.
- 8@a lặp lại macro “a” 8 lần để tự động hoàn thành phần còn lại của dòng như hiển thị bên dưới
Hình :Vim Macro Play đã hoàn tất
Nên đọc
Các thủ thuật Vim 101, của Ramesh Natarajan . Tôi là một người nghiện dòng lệnh. Vì vậy, đương nhiên tôi là một fan cuồng nhiệt của các biên tập viên Vi và Vim. Vài năm trước, khi tôi viết rất nhiều mã C trên Linux, tôi thường đọc tất cả các mẹo và thủ thuật có sẵn trong trình soạn thảo Vim. Dựa trên kinh nghiệm soạn thảo Vim của tôi, tôi đã viết Sách điện tử Vim 101 Hacks chứa 101 ví dụ thực tế về các tính năng Vim nâng cao khác nhau sẽ giúp bạn làm việc nhanh chóng và hiệu quả trong trình soạn thảo Vim. Ngay cả khi bạn đã sử dụng Vi và Vim Editors được vài năm và chưa đọc cuốn sách này, hãy tự giúp mình và đọc cuốn sách này. Bạn sẽ ngạc nhiên với khả năng của trình soạn thảo Vim.
Các bài viết tuyệt vời của biên tập viên Vim
Sau đây là một số hướng dẫn tuyệt vời về trình soạn thảo Vi / Vim mà bạn có thể thấy hữu ích.
- Trình duyệt Firefox tăng tốc với chức năng soạn thảo Vim bằng tiện ích bổ sung Vimperator
- Hướng dẫn:Đặt Vim làm IDE C/C++ của bạn bằng cách sử dụng Plugin c.vim
- Chuyển đổi Vim Editor thành trình duyệt mã nguồn đẹp mắt cho mọi ngôn ngữ lập trình
- 12 ví dụ tìm và thay thế mạnh mẽ cho Vim Editor
Lưu ý: Vui lòng đăng ký The Geek Stuff và đừng bỏ lỡ bất kỳ mẹo và thủ thuật biên tập Vi và Vim nào .