아이디어
파일 이름이 ".symlink"로 끝나는 @holman의 심볼릭 링크 이데아를 수정 한 대신 파일 이름이 정규식과 일치하는 파일을 심볼릭 링크하고 있습니다 \.(<os>-)?symlink$
. 이렇게하면 항상 심볼릭 링크 된 파일과 특정 환경에서만 심볼릭 링크 된 파일을 가질 수 있습니다.
예를 들어, OS 특정 구성을 포함하는 내 ~/.gitconfig
include ~/.gitconfig_include
를 포함합니다.
[include]
path = ~/.gitconfig_include
그런 다음 두 개의 .gitconfig_include 파일이 있습니다. 하나는 Linux 용이고 다른 하나는 Windows 용입니다.
dotfiles
|-- git
|-- .gitconfig.symlink
|-- .gitconfig_include.linux-symlink
|-- .gitconfig_include.windows-symlink
이를 통해 OS에 따라 심볼릭 링크의 이름은 같지만 대상이 다를 수 있습니다.
불행히도이 전략으로는 크로스 플랫폼 도트 파일에 대한 모든 요구 사항을 처리하기에 충분하지 않았습니다.
Windows에서 Vim의 잘못된 결정
어떤 이유로 Vim은 Windows ~/vimfiles
대신 파일을 찾습니다 ~/.vim
. 즉, 동일한 전략을 유지하려면 분명하지 않은 이유로 파일 폴더를 복제해야합니다.
dotfiles
|-- vim
|-- .vim.linux-symlink
|-- vimfiles.windows-symlink
files 폴더를 복제하는 대신 ".symlinks"확장자를 가진 폴더 이름과 일치하는 파일을 만들었습니다.
dotfiles
|-- vim
|-- .vim
|-- .vim.symlinks
.vim.symlinks 파일에는 각 환경의 심볼릭 링크 이름이 포함되어 있습니다.
linux: .vim
windows: vimfiles
이것은 OS에 따라 심볼릭 링크가 다른 이름을 갖지만 동일한 대상을 가질 수 있도록합니다.
작업 솔루션
모든 것이 어떻게 끝났는지 확인하려면 GitHub의 내 도트 파일을 방문하십시오 .