/ / Wie gebe ich einen benutzerdefinierten Pfad für meine .zshrc-Datei an? - Zsh

Wie gebe ich einen benutzerdefinierten Pfad für meine .zshrc-Datei an? - Zsh

Ich versuche, .zshrc in einen Ordner zu verschieben, in dem diese Art von Dateien mit Github synchronisiert wird.

Aber jetzt, wenn ich eine zsh-Sitzung starte, wird diese Konfigurationsdatei nicht verwendet.

Angenommen, ich habe die Datei in ~ / .dotfiles geändert, wie kann ich ~ / .dotfiles / .zshrc zum PATH (?!) hinzufügen, damit zsh mit dieser Konfiguration startet?

Doing source ~. / Dotfiles / .zshrc funktioniert nur für diese Sitzung. Funktioniert nicht mehr, wenn ich das Terminal schließe.

Antworten:

6 für die Antwort № 1

Sie können symlink:

ln -s /path/to/original /path/to/symlink

Für die zshrc Sie können etwas tun wie:

ln -s ~/.dotiles/.zshrc ~/.zshrc

4 für die Antwort № 2

Eine Alternative zu einem Symlink ist es, dies zu tun ~/.zshenv:

ZDOTDIR=~/.dotfiles

wenn du willst .zshenv im ~/.dotfiles Sie können auch in die Einstellung schauen ZDOTDIR in einer der globalen Konfigurationsdateien (/etc/zshenv ist eine gute Wahl).


3 für die Antwort № 3

Alternativ können Sie tun, was ich tue und GNU Stow verwenden. Ich habe meine dotfiles in einem Repository, ein Unterverzeichnis pro Kategorie, so:

dotfilerepo/zsh/.zshrc
dotfilerepo/zsh/.zlogin
dotfilerepo/git/.gitconfig
dotfilerepo/vim/.vimrc

Dann kann ich in Repo cd und tun stow zsh und es wird ein Symlink von ~ / .zshrc zu repo / zsh / .zshrc, ein anderer von zsh / .zlogin zu ~ / .zlogin erstellt. stow vim Symlinks aus dem Unterverzeichnis vim nach ~ erstellen

Ich habe ein Skript, install-linkfarm, das alle Befehle zum Stauen ausführt, also wenn ich auf einen neuen Rechner gehe, klone ich meinen Repo, cd dazu und starte install-linkfarm und es geht mir gut.


-1 für die Antwort № 4

Hier ist ein interessanter Hack, bei dem Sie keine Symlinks verwenden müssen. Führen Sie in Ihrer .xsession (oder. * Wmrc) Folgendes aus:

xterm -e "zsh -c". ~ / .dotfiles / .zshrc; zsh "".

anstatt nur:

Xterm
Stellen Sie sicher, dass Sie -e nach all Ihren anderen xterm-Optionen an das Ende setzen.