Trình soạn thảo Vim đi kèm với tính năng mã hoá tệp. Để có thể mã hoá một tệp, trong chế độ command, nhập lệnh :X
. Sau đó, Vim sẽ yêu cầu chúng ta nhập vào mật khẩu 2 lần. Cuối cùng, lưu tệp lại, nếu không lưu lại thì mật khẩu bạn vừa tạo ra sẽ không được lưu trữ.
Vấn đề là chúng ta cần mã hoá nhiều tệp với cùng một mật khẩu trong khi Vim chỉ cung cấp lệnh để mã hoá một tệp. Thực tế, thao tác này vẫn có thể được thực hiện khi chúng ta kết hợp một số câu lệnh trong vim và khi mở Vim.
Mã hoá nhiều tệp với cùng một mật khẩu:
Chúng ta sẽ dùng lệnh argdo
có thể thực hiện lệnh cho các tệp đang được mở trong trình soạn thảo hiện hành.
Ví dụ, để mã hoá 3 tệp văn bản lần lượt là: text-1.txt, text-2.txt, text-3.txt; chúng ta sẽ nhập lệnh sau từ terminal: vim -p text-*.txt
.
Trong đó:
- Tham số -p cho phép chúng ta mở nhiều tệp trong các tab mới, điều này gíup chúng ta dễ dàng chuyển đổi giữa các tệp hơn. Nếu không dùng tham số này cũng không sao.
- text-*.txt nghĩa là chọn tất cả các tệp có cấu trúc text-<noi dung bat ky>.txt.
Tiếp theo, để mã hoá nhiều tệp, dùng lệnh: :argdo set key=mat_khau | update | :wq
.
Trong đó:
- :argdo là lệnh dùng để thực thi lệnh trên nhiều tệp như đã giới thiệu.
- set key=mat_khau là lệnh dùng để đặt chuỗi mat_khau làm mật khẩu.
- Dấu | dùng để ngăn cách giữa hai câu lệnh.
- update để cập nhật những thay đổi vào buffer.
- và :wq để lưu và thoát.
Bỏ mã hoá nhiều tệp có cùng mật khẩu:
Để bỏ mã hoá cho nhiều tệp, chúng ta chỉ cần thực hiện lại bước trên và bỏ trống bước nhập mật khẩu.
Đầu tiên, mở nhiều tệp đã mã hoá trong cùng một trình soạn thảo: vim --cmd 'set key=mat_khau' -p text-*.txt
.
Trong đó:
- Tham số
--cmd
giúp tự thực thi một số lệnh khi mở vim. Ở đây, chúng ta đặt mật khẩu để có thể tự động mở các tệp đã mã hoá.
Sau đó, đặt mật khẩu trống cho các tệp đang mở: :argdo set key= | update | :wq
.
Kết
Cảm ơn các bạn đã xem bài viết.