Tôi có một tập lệnh Vim gọi một kịch bản lệnh ngoài và đọc đầu ra vào bộ đệm hiện tại. Nó hoạt động tốt trong các hệ thống Unix. Tôi đang cố gắng làm cho kịch bản OS-thuyết bất khả tri, vì vậy tôi muốn nó làm việc cho người dùng Windows. Đây là dòng có liên quan từ tập lệnh:Làm thế nào để sử dụng các biến môi trường Windows trong kịch bản Vim?
:exe ":0r !$HOME/bin/shell_script"
Theo tài liệu của Vim, $HOME
cũng nên dịch tốt cho người dùng Windows. Sử dụng gvim trên Win XP ở chế độ lệnh, làm
:echo $HOME
thực sự sản xuất "C: \ Documents and Settings \ my_user".
Tuy nhiên, kịch bản Vim của tôi (điều chỉnh cho gạch chéo ngược) không thành công trên các máy tính Windows với một thông điệp trong cửa sổ cmd.exe DOS nói
$ HOME \ bin \ shell_script" không tìm thấy.
Nói cách khác, Vim dường như không được mở rộng giá trị của $HOME
trước khi đi qua nó để cmd.exe.
tôi không thể sử dụng %APPDATA%
hoặc vì Vim dịch %
như curre nt tệp và trước/nối thêm tên tệp vào APPDATA
. Thật lạ khi Vim làm mở rộng %
nhưng không mở rộng $HOME
.
Làm cách nào để nhận được $HOME
được mở rộng chính xác? Có phải vì tôi đang sử dụng exe
trong tập lệnh vim không?
Câu hỏi này không phải là về (dấu gạch chéo).Vấn đề ở đây là trình bao đơn giản không hiểu '$ HOME' – doubleDown