(G) VIM sử dụng $ PATH khác với hệ thống của tôi


8

Vì Ubuntu không cung cấp các gói cập nhật cho TeXLive, nên tôi đã cài đặt thủ công. Tuy nhiên, một số chương trình cần TeXLive làm phụ thuộc. Vì vậy, những gì tôi đã làm là tôi đã cài đặt gói TeXLive từ kho Ubuntu trên đầu trang, đó là phiên bản 2009. Sau đó, tôi đã thay đổi $ PATH của mình để chứa phiên bản 2011 được cài đặt thủ công, vì vậy các chương trình vẫn luôn trỏ đến và sử dụng phiên bản TeXLive gần đây nhất. Cho đến nay điều này làm việc tốt.

Nhưng đây là một cách nhanh chóng: Khi tôi chuyển sang VIM để chỉnh sửa các tệp LaTeX của mình, tôi nhận thấy sau khi quá đau đầu mà VIM "chỉ thấy" TeXLive2009! Xem ảnh chụp màn hình này, bên trái là VIM, bên phải một thiết bị đầu cuối:

Phiên bản LaTeX trong VIM

Sau đó, tôi đã kiểm tra $ PATH VIM đang sử dụng và khi nó bật ra, nó đang sử dụng một cái khác, không trỏ đến TeXLive 2011. Xem ảnh chụp màn hình này:

Đường dẫn trong VIM và Terminal

VIM:

:! echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Thiết bị đầu cuối:

echo $PATH
/usr/local/texlive/2011/bin/x86_64-linux:/usr/local/texlive/2011/bin/x86_64-linux:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Bạn có biết làm thế nào để khắc phục điều này không, vì vậy các plugin LaTeX của tôi có thể sử dụng TeXLive 2011, có thể bằng cách làm cho VIM sử dụng cùng $ PATH? Mọi sự trợ giúp sẽ rất được trân trọng!


4
Nơi nào bạn thay đổi ĐƯỜNG của bạn?
enzotib

Câu trả lời:


5

Có vẻ như bạn đã thay đổi $PATHbiến trong một trong các tệp cấu hình hệ vỏ của mình, nhưng bạn bắt đầu VIM từ một biểu tượng hoặc mục trình đơn trên màn hình. Những thứ bạn đặt trong tệp cấu hình shell (như ~/.bashrchoặc /etc/profile) chỉ ảnh hưởng đến các ứng dụng được khởi động từ shell .

Nhìn chung có hai cách tiếp cận có thể cho vấn đề này:

  • local : Thay đổi cách bắt đầu VIM.

[biên tập]

  • mỗi người dùng : Sửa đổi môi trường người dùng của bạn trong ~/.profile.

[/biên tập]

  • toàn cầu : Sửa đổi môi trường toàn cầu.

Các địa phương giải pháp là an toàn nhất (vì nó chỉ ảnh hưởng đến một chương trình), nhưng kể từ khi bạn đã sai lầm hệ thống bằng cách cài đặt hai phiên bản đồng thời của một gói phần mềm, tôi không chắc chắn nếu điều này sẽ đe dọa bạn. Dù sao, bạn có thể làm điều đó bằng cách sửa đổi .desktopmục nhập cho VIM trong môi trường máy tính để bàn của bạn và thay đổi lệnh liên quan từ một cái gì đó như gnome-terminal -c vimđể PATH=(yourPathGoesHere) gnome-terminal -c vim.

Phương pháp toàn cầu là sửa đổi PATHbiến trong một tệp dưới /etc/env.d/. Nó là đủ để tạo ra một tập tin /etc/env.d/99-my_path_mod, có chứa PATH=(yourPathGoesHere):$PATH. Bạn sẽ cần phải khởi động lại để điều này có hiệu lực (Chà, thể tránh khởi động lại bằng cách chuyển đổi cấp độ init qua lại, nhưng cách đó dễ dàng hơn nhiều.)

[biên tập]

Giải pháp cho mỗi người dùng có thể là tốt nhất và, như tôi thấy bây giờ, có thể được gọi là "cách thích hợp". Như được chỉ ra bởi Gilles (bên dưới), ~/.profiletệp là nơi các biến môi trường cho tất cả các phiên đăng nhập của bạn nên được đặt.


Cảm ơn, làm theo giải pháp của bạn dễ nhất có lẽ là chỉ cần gọi gvim từ một thiết bị đầu cuối. Điều đó làm việc tốt!
Ingo

Câu trả lời này là sai lệch và một phần không chính xác. Không cần thay đổi bất cứ điều gì ở cấp hệ thống; thay vào đó, @Ingo, giải pháp đơn giản là đặt các biến môi trường trong~/.profile và không bao giờ trong ~/.bashrc. Làm điều đúng cách không khó và sẽ ngăn ngừa các vấn đề trong tương lai .
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles Tôi thừa nhận tôi đã không nhận ra vai trò chính của nó ~/.profile, vì vậy câu trả lời của tôi có thể gây hiểu nhầm. Nhưng trong phần nào là không chính xác?
rozcietrzewiacz

Ok, về mặt kỹ thuật tôi nghĩ rằng điều duy nhất không chính xác là nói chung là hai cách tiếp cận có thể có: Đây là cách tiếp cận thứ ba phổ biến và thích hợp hơn. Trình bày /etc/profiledưới dạng tệp cấu hình shell là đúng về mặt kỹ thuật nhưng sai lệch (đó là tệp cấu hình được viết bằng vỏ chứ không phải tệp cấu hình của vỏ). Không đề cập đến ~/.profilelà một thiếu sót lớn, mà một mình làm cho câu trả lời của bạn không hữu dụng.
Gilles 'SO- ngừng trở nên xấu xa'

Khi tôi mở /etc/profile, đây là những gì tôi thấy ở trên cùng của nó . Vì vậy, ít nhất trên hệ thống của tôi (Gentoo), tệp có thể được gọi là "tệp cấu hình của trình bao".
rozcietrzewiacz

2

Bạn đã thay đổi người dùng ở PATHđâu? Thông thường, tôi sẽ đặt nó ở ~/.profilenơi mà trình quản lý phiên X của bạn sẽ chọn (nơi đăng nhập X tiếp theo) và áp dụng cho tất cả các ứng dụng trong phiên X của bạn (chẳng hạn như bảng điều khiển / máy tính để bàn của bạn nơi bạn bắt đầu gvim từ đó) .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.