cuốn sách gpt4 ai đã làm

linux - đường dẫn tuyệt đối hoặc tương đối trong .vimrc .vim script/plugin/whatelse

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 11:43:26 32 4
mua khóa gpt4 Nike

Tôi thực sự đã gặp phải tình huống sau đây và điều này thực sự có hiệu quả:

Giả sử bạn phải làm việc trên một tệp với quyền root, nhưng bạn muốn có .vimrc của riêng mình mà không cần gọi "-u". Vì vậy, tôi đã bắt đầu "plugin" sau:

let g:realuser=system('w | grep $(ps w | grep ' . getpid() . ' | head -n1 | awk "{ print \$2 }") | awk "{ print \$1 }"')
nếu $USER == 'root'
let g:vimrc=system('printf /home/%s/.vimrc '. g:realuser)
nếu có thể đọc được tệp (g:vimrc)
exec ":source " .g:vimrc
hoàn thành
cuối cùng
cuối cùng

Tôi gọi nó là "realuser.vim" và "có" nó trong .vimrc (/root/.vimrc) của thư mục gốc.

Nếu hiện tại bạn đã đăng nhập vào máy chủ của mình qua SSH hoặc qua Gnome trên Ubuntu, bạn sẽ truy cập "su -" và đăng nhập bằng quyền root. Sau đó, bạn chuyển sang thư mục làm việc của mình và mở tệp. Tập lệnh phát hiện người dùng thực đăng nhập vào máy là "yourlogin". Sau đó, nó sẽ kiểm tra xem tệp ".vimrc" có tồn tại trong /home/yourlogin/ hay không. Vì vậy, nó là và tải nó.

Vấn đề của tôi là trong /home/yourlogin/.vimrc tôi có những dòng sau:

nguồn ~/.vim/plugin/someplugin.vim

Vậy hãy đoán xem. /root/.vimrc tải /home/yourlogin/.vimrc và do đó đăng ký /root/.vim/plugin/someplugin.vim, không tồn tại vì nó chỉ có trong /home/yourlogin/.vim

Làm cách nào để nói với vim rằng tệp nguồn chỉ có trong /home/yourlogin/.vim/ bằng cách sử dụng đường dẫn tương đối hoặc thứ gì đó tương tự?

câu trả lời hay nhất

tương đối tương đương với:nguồnĐúng:thời gian chạy .

nguồn ~/.vim/plugin/someplugin.vim

trở nên

plugin thời gian chạy/someplugin.vim

Với điều này, miễn là bạn thích nghi với nó'đường dẫn thời gian chạy'tùy chọn đường dẫn trong và nó sẽ hoạt động.

Ngoài ra, bạn có thể thay đổi $HOME Giá trị của là nội bộ đối với Vim; điều này ảnh hưởng đến ~ Một phần mở rộng của, cũng:

:let $HOME = '/home/yourlogin'

Về đường dẫn tuyệt đối hoặc tương đối trong .vimrc .vim script/plugin/whatelse trong linux - chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19401943/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress