(G)VIMは私のシステムとは異なる$ PATHを使用します


8

UbuntuはTeXLiveの最新パッケージを提供していないため、手動でインストールしました。ただし、一部のプログラムでは依存関係としてTeXLiveが必要です。それで私がやったことは、その上にUbuntuリポジトリからTeXLiveパッケージをインストールすることです。これは2009バージョンです。次に、$ PATHを変更して手動でインストールした2011バージョンを含めました。そのため、プログラムは常に最新のTeXLiveバージョンをポイントして使用します。これまでのところ、これはうまくいきました。

しかし、ここで簡単です。LaTeXファイルを編集するためにVIMに切り替えたとき、頭痛の種が多すぎて、VIMがTeXLive2009だけを「認識」していることに気付きました。このスクリーンショットを見てください。左側がVIM、右側がターミナルです。

VIMのLaTeXバージョン

次に、$ PATH VIMが使用しているものを確認しましたが、結局のところ、TeXLive 2011を指していない別のものを使用しています。このスクリーンショットを参照してください。

VIMとターミナルのパス

VIM:

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

ターミナル:

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

これを修正する方法はありますか?私のLaTeXプラグインがTeXLive 2011を使用できるようにするために、おそらくVIMに同じ$ PATHを使用させることによって?どんな助けでも大歓迎です!


4
PATHをどこで変更しましたか?
enzotib 2010年

回答:


5

$PATHシェル設定ファイルの1つで変数を変更したようですが、VIMをアイコンまたはデスクトップメニューエントリから起動しています。シェル構成ファイルで設定したもの(~/.bashrcまたは/etc/profile)は、シェルから起動たアプリケーションにのみ影響します

この問題には、一般に2つの 3つの可能なアプローチがあります。

  • local:VIMの起動方法を変更します。

[編集]

  • ユーザーごと:でユーザーの環境を変更します~/.profile

[/編集]

  • global:グローバル環境を変更します。

地元の解決策は、(それが1つのプログラムだけに影響するので)最も安全ですが、すでにソフトウェアパッケージの2つの同時のバージョンをインストールすることによって、システムを台無しにしましたから、私はこれがあなたを怖がらせるかどうかわかりません。とにかく、あなたは修正することによって、それを行うことができ.desktop、あなたのデスクトップ環境でのVIMのエントリをとのようなものから、関連するコマンドを変更gnome-terminal -c vimしますPATH=(yourPathGoesHere) gnome-terminal -c vim

グローバルな方法はPATH、の下のファイルの変数を変更することです/etc/env.d//etc/env.d/99-my_path_modを含むファイルを作成するだけで十分PATH=(yourPathGoesHere):$PATHです。これを有効にするには、再起動する必要があります(まあ、initレベルを前後に切り替えることで再起動回避できますが、その方がはるかに簡単です)。

[編集]

ユーザーごとのソリューションが最善であり、私が今見ているように、「適切な方法」と呼ぶことができます。Gilles(下記)が指摘するように、この~/.profileファイルには、すべてのログインセッションの環境変数を設定する必要があります。


おかげで、あなたの解決策に従って、最も簡単なのは、おそらく端末からgvimを呼び出すことです。それはうまくいきます!
2010年

この答えは誤解を招きやすく、部分的に正しくありません。システムレベルで何も変更する必要はありません。代わりに、@ Ingoの簡単な解決策は、環境変数~/.profileをに設定することです~/.bashrc。適切に物事を行うことは難しくなく、将来の問題防ぐことができます
Gilles「SO-邪悪なことをやめなさい」

@ギレス私はの主な役割を理解していなかった~/.profileので、私の答えは誤解を招く可能性があります。しかし、それはどの部分で間違っていますか?
rozcietrzewiacz 2011年

厳密に言えば、「一般的に考えられる2つのアプローチ」が間違っていると思います。一般的で好ましい3番目のアプローチがあります。/etc/profileシェル構成ファイルとして提示することは技術的には真実ですが、誤解を招きます(これはシェルで作成された構成ファイルであり、シェルの構成ファイルではありません)。言及しないこと~/.profileは大きな省略であり、それだけではあなたの答えは「役に立たない」。
Gilles「SO-邪悪なことをやめなさい」

これを開くと/etc/profileこれが一番上に表示されます。したがって、少なくとも私のシステム(Gentoo)では、このファイル「シェルの構成ファイル」と呼ぶことできます。
rozcietrzewiacz 2011年

2

ユーザーのどこを変更しましたPATHか?通常、私はそれをに設定します~/.profile。そこでは、Xセッションマネージャー(つまり、次のXログイン)によってピックアップされ、Xセッションのすべてのアプリケーション(gvimを開始するパネル/デスクトップなど)にも適用されます。 。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.