+3

Marco trong VIM

Hi mọi người, trong bài viết này mình sẽ viết về những trường hợp thực tế mình gặp dùng đến marco của VIM.

Case 1:
Ở case này, khi mình dùng sequelize-cli để generate ra model thì tên của attributes trong model sẽ được xem như tên của cột trong database luôn.

image.png Tuy nhiên, mình muốn đặt tên cột tương với attibute ở dạng snake_case của attribute đó.

image.png

Đây là cách mình tạo marco cho trường hợp này. Để chuyển giữa camel, snake, kebab, pascal thì các bạn cài đặt plug-in này vim-abolish

17gg: di chuyển đế dòng 17.

0: đi đến đầu dòng 17.

qq: Lưu marco vào register q.

f:: Đi đến vị trí của dấu :.

l: Sang phải 1 kí tự

a: chuyển sang insert mode

nhập {} và enter ở bên trong cặp ngoặc image.png

type :, sau đõ esc vể normal mode, jj xuống dòng dưới, cut đoạn DataTypes.STRING, rồi lại k đi lên để paste DataTypes.STRING đăng sau type :

sau đó, về normal, gõ o để xuống dòng, nhâp filed:, kk di chuyển lên, copy tên attribute, r jj xuống dòng filed : để paste tên attrbute, sau đó di chuyển con trỏ vào tên attribute, gõ crc để chuyển từ camelCase sang snake_case.

Sau khi edit xong, di chuyển con trỏ xuống đầu dòng của attribute tiếp theo, gõ q để lưu marco và sau áp dụng marco cho các dòng tiếp theo.

Tham khảo

https://vim.fandom.com/wiki/Macros#Recording_a_macro

https://kipalog.com/posts/Vim-Macro


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí