나는 내 컴퓨터에 Archlinux를 설치하는 것에 대해 걱정할 필요가 없었기 vimdiff
때문에 일반적으로 모든 것이 최신 상태이므로 그냥 사용하면 괜찮습니다. 결국 , , 또는 을 실행하더라도 :version
동일한 출력이 제공됩니다.vi
vim
vimdiff
그러나 내 작업 컴퓨터(Debian 10)에서 vimdiff
열리는 Vim 버전은 newer vi
또는 old 입니다 vim
.
/etc/alternatives
내 생각엔 이것이 Vim 설치 및/또는 다른 것과 관련이 있는 것 같습니다. 오랫동안 플레이했기 때문에(아마도 제대로 이해하지 못한 채) 기억이 많이 나지 않습니다.
피드백답변그리고 댓글
ls -lF /etc/alternatives/ | grep bin/vim | sed 's/.*-> //' | sort -u
단 하나의 결과만 생성합니다. /usr/bin/vim.gtk*
즉, 어떻게 다른 버전을 vimdiff
열 수 있습니까? vim
아니면 제가 답변을 잘못 이해한 걸까요?
의 출력은 type -a vimdiff
다음과 같습니다
vimdiff is /usr/bin/vimdiff
vimdiff is /bin/vimdiff
산출:type -a vim
vim is aliased to `/home/me/vim-dist/bin/vim'
vim is /usr/bin/vim
vim is /bin/vim
출력 type -a vi
:
vi is aliased to `/home/me/vim-dist/bin/vim'
vi is /usr/bin/vi
vi is /bin/vi
둘 다 동일한 출력을 /bin/vim --version | head -n 1
갖습니다 ./usr/bin/vim --version | head -n 1
VIM - Vi IMproved 8.1 (2018 May 18, compiled Jun 15 2019 16:41:15)
제가 실행했을 때 실행되는 버전인데, vimdiff
/를 실행했을 때 실행되는 버전보다 오래된 버전입니다.vim
vi
답변1
에서 별칭으로 및를 사용했습니다 vi
. 아마도 별칭도 사용할 수 있을 것입니다.vim
/home/me/vim-dist/bin
vimdiff
제대로 작동 하려면 vimdiff
"vim"이 아닌 "vimdiff"로 실행되어야 하므로 "vimdiff"라는 별칭을 붙일 수는 없습니다 /home/me/vim-dist/bin/vim
.
/home/me/vim-dist/bin
그러나 심볼릭 링크는 명명된 에 이미 존재할 수 있습니다 vimdiff
. 가능한 경우 별칭 "vimdiff".
그렇지 않은 경우 생성하면 효과가 있을 수 있습니다.
cd /home/me/vim-dist/bin
ln -s vim vimdiff
그런 다음 "vimdiff"라는 별칭을 /home/me/vim-dist/bin/vimdiff
.
링크를 원하지 않거나 생성할 수 없는 경우 "vimdiff"에 별칭을 지정할 수 있습니다 /home/me/vim-dist/bin/vim -d
.
alias vimdiff="/home/me/vim-dist/bin/vim -d"
(귀하 .bashrc
또는 .zshrc
어느 곳에서나 별칭을 예약합니다.)
모든 별칭에 대한 대안은 /home/me/vim-dist/bin
에 추가 $PATH
하고 그것이 나타나는지 확인하는 것입니다.이전에와 ./bin
/usr/bin
바라보다이것.$PATH
답변2
아? vimdiff
그냥 심볼릭 링크입니다 vim
. 특히 데비안에는 선호하는 버전의 vim에 대한 심볼릭 링크인 /usr/bin/vimdiff
심볼릭 링크가 있습니다 ./etc/alternatives/vimdiff
예를 들어, 내 기본 데스크탑에서 vim.gtk3
내가 선호하는 vim을 사용하면 다음과 같습니다.
$ ls -lF /usr/bin/vimdiff
lrwxrwxrwx 1 root root 25 May 18 2018 /usr/bin/vimdiff -> /etc/alternatives/vimdiff*
$ ls -lF /etc/alternatives/vimdiff
lrwxrwxrwx 1 root root 17 Nov 8 2019 /etc/alternatives/vimdiff -> /usr/bin/vim.gtk3*
다음을 통해 사용 가능한 대안을 볼 수 있습니다.
$ update-alternatives --list vimdiff
/usr/bin/vim.basic
/usr/bin/vim.gtk3
다음과 같이 변경합니다.
$ sudo update-alternatives --config vimdiff
There are 2 choices for the alternative vimdiff (providing /usr/bin/vimdiff).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/vim.gtk3 50 auto mode
1 /usr/bin/vim.basic 30 manual mode
2 /usr/bin/vim.gtk3 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
더 많은 vim 패키지가 설치되어 있으면(예 vim-tiny
: ) 해당 패키지도 옵션으로 표시됩니다.
vim 및 vimdiff(및 기타 여러 프로그램 - 아래 일부 바이너리 참조)에 대해 *vim*
다양한 대안을 사용할 수 있습니다 . 나는 이것이 당신이 한 일이라고 의심합니다. 동일하게 하려면 update-alternatives
하나 또는 둘 다 변경을 사용하십시오.
$ ls -lF /etc/alternatives/ | grep bin/vim
lrwxrwxrwx 1 root root 17 Nov 8 2019 editor -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 eview -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 evim -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 gview -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Dec 24 2019 gvim -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 gvimdiff -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 rgview -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 rgvim -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 rview -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 rvim -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 vi -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 view -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Nov 8 2019 vim -> /usr/bin/vim.gtk3*
lrwxrwxrwx 1 root root 17 Mar 18 21:58 vimdiff -> /usr/bin/vim.gtk3*
(또는 다음과 같이 실행할 수도 있습니다 grep -r bin/vim /var/lib/dpkg/alternatives/
)
이들 각각은 다른 vim 대안을 가리키도록 독립적으로 설정할 수 있습니다. 아마 설치해야 할 것입니다 vim-tiny
(또는 적어도 위의 대부분을 로 설정해야 합니다 vim.basic
). vi에 내장된 멋진 GUI나 perl/python/ruby/tcl 지원이 실제로 필요하지 않습니다. 내가 사용하는 유일한 경우는 gvim
GUI 응용프로그램이나 파일 브라우저에서 실행할 때입니다.