vim 명령 경로를 변경하는 방법

vim 명령 경로를 변경하는 방법

vimmacOS에는 두 가지 버전이 설치되어 있습니다.

  • 기본 버전 /usr/bin/vim,,
  • 및 MacVim(Homebrew를 통해) /usr/local/bin/vim, .

를 입력하면 vim기본 프로그램이 호출됩니다. 를 입력할 때마다 MacVim을 사용하고 싶습니다 vim. 방법을 아시나요? 모두 같은 ~/.vimrc파일을 사용하나요?

답변1

별칭을 사용하세요.

별칭은 BASH RC 파일 중 하나(예: ~/.bashrc아래)에 정의되어 있습니다. /usr/local/bin/vim심볼릭 링크인 경우 이름이 별칭입니다 vim.

if [ -h '/usr/local/bin/vim' ]; then
    alias vim='/usr/local/bin/vim'
fi

다음과 같은 논리를 적용할 수 있습니다.

[ -h '/usr/local/bin/vim' ] && alias vim='/usr/local/bin/vim'
  • -h파일이 Homebrew를 사용할 때 그럴 수 있는 심볼릭 링크인지 테스트합니다.
  • -x파일이 일반 실행 파일인지 테스트합니다.

ls -l(파일 권한의 첫 글자가 l로 나타나면 해당 파일이 링크임을 알 수 있습니다.rwxr-xr-x. )

프로그램이 기본 편집기를 호출하는 데 사용하는 일부 변수를 설정할 수도 있습니다.

EDITOR='/usr/local/bin/vim'
VISUAL='/usr/local/bin/vim'

source ~/.bashrc셸의 RC 파일에 정의를 추가한 후 RC 파일을 가져와 새 별칭 이나 BASH 구성에 적합한 별칭을 선택하세요 . 이 명령은 command -v vim별칭이 생성되었음을 표시하고 해당 출력은 다음과 같습니다.

alias vim=/usr/local/bin/vim

두 가지 버전 vim.

바이너리 실행 파일이 아닌 심볼릭 링크를 가리키는 장점은 종종 그렇듯이 MacVim을 업그레이드할 때마다 별칭을 업데이트할 필요가 없다는 것입니다. brew update && brew upgrade예를 들어 Execute를 사용하여 업그레이드하는 경우 Homebrew는 올바른 바이너리 실행 파일에 대한 심볼릭 링크를 유지합니다.


시스템 버전은 /usr/bin/vim원래 위치에 남아 있어야 합니다. SIP(시스템 무결성 보호)를 비활성화하지 않으면 제거하거나 변경할 수 없습니다. 를 입력하여 시스템 버전을 사용할 수는 있지만 /usr/bin/vim, vimInvokes를 입력하면 됩니다 /usr/local/bin/vim.


경로를 수정합니다.

Homebrew를 통해 설치된 모든 소프트웨어에 작동하는 또 다른 방법은 PATHHomebrew에서 설치된 모든 소프트웨어 가 PATH.zsh

cd
grep path .z*

결과 중 하나에 이 포함될 수 있습니다 fpath. 이는 올바른 변수가 아닙니다. 이라는 소문자 변수를 찾고 있습니다 path. 편집할 파일 이름( ~/.zshrc또는 일 수 있음) 을 유추한 후 ~/.zprofile변수 값을 변경합니다 path. 예를 들어 아래에서는 및 먼저 홈 디렉터리의 스크립트나 프로그램을 path정의 하고 마지막으로 시스템 정의 경로의 나머지 부분을 정의합니다./usr/local/bin/usr/local/sbin

path=(
    /usr/local/{bin,sbin}
    $HOME/bin
    $path
)

결과 Unix PATH변수는 다음과 같이 정의됩니다.

/usr/local/bin:/usr/local/sbin:/Users/$username/bin:/usr/bin:/bin:/usr/sbin:/sbin

zsh pathUnix 변수는 PATH"함께 묶여" 있으므로 변수를 수정하는 파일만 편집 하면 typseset됩니다 . 그런 다음 변수가 예상대로 수정되었는지 확인합니다 .sourcepathsource ~/.zprofilePATHecho $PATH


/usr/local/binHomebrew 패키지 관리자는 어떤 소프트웨어가 경로의 첫 번째(이전)에 있는 경우 macOS에서 문제를 일으키는 소프트웨어를 식별하는 데 매우 능숙합니다 /usr/bin. 예를 들어 Homebrew가 GNU를 설치하려는 경우 id소프트웨어 이름은 BSD 문제를 방지하는 /usr/local/bin것입니다 .gidid/usr/bin

답변2

/usr/local/binBrew를 사용하는 표준은 이전 PATH시스템 디렉터리를 이와 같이 배치하여 /usr/bin이에 대한 명령을 먼저 가져오는 것입니다.

관련 정보