vi 명령은 어떤 응용 프로그램을 열 수 있습니까?


9

vi터미널에 입력 하면 다음과 같은 출력이 표시됩니다

~                             VIM - Vi IMproved                                
~                                                                             
~                               version 7.3.547                                 
~                           by Bram Moolenaar et al.                            
~           Modified by pkg-vim-maintainers@lists.alioth.debian.org             
~                 Vim is open source and freely distributable                   
~                                                                               
~                        Help poor children in Uganda!                                                                             

따라서 이에 따라 vi시작해야합니다 VIm.
하지만 입력 vim하면

aditya@aditya-desktop:~$ vim
The program 'vim' can be found in the following packages:
 * vim
 * vim-gnome
 * vim-tiny
 * vim-athena
 * vim-gtk
 * vim-nox
Try: sudo apt-get install <selected package>

vim설치되지 않았 음을 나타냅니다 .
특히 man viman vim같은 사람이 페이지를 시작합니다.

그렇다면 vi명령은 실제로 무엇을 시작합니까?

답변:


18

그것은이다 vim-tiny"VI가 개선 - 소형 버전 - VI 편집기를 강화".

나는 13.10에 이것을했다 :

user@ubuntu:~$ which vi
/usr/bin/vi
user@ubuntu:~$ which vim
user@ubuntu:~$ ls -l /usr/bin/vi
lrwxrwxrwx 1 root root 20 ago 13  2013 /usr/bin/vi -> /etc/alternatives/vi
user@ubuntu:~$ ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 dic 20 04:39 /etc/alternatives/vi -> /usr/bin/vim.tiny
user@ubuntu:~$ apt-cache search vim.tiny
vim-common - Vi IMproved - Common files
vim-tiny - Vi IMproved - enhanced vi editor - compact version
user@ubuntu:~$ dpkg --get-selections | grep vim
vim-common                  install
vim-tiny                    install

보시다시피 vim이 설치되어 있지 않습니다 (빈 출력), vi는 / etc / alternatives / vi에 대한 심볼릭 링크입니다 ( 대체 메커니즘 참조 ). 이는 vim 패키지에 속하는 /usr/bin/vim.tiny에 대한 심볼릭 링크입니다. -작은.


이것을 찾는 더 짧은 방법은 다음과 같습니다dpkg -S $(which vi)
psusi

@psusi dpkg-query 경로를 찾을 수 없습니다.
Avinash Raj

3
dpkg -S심볼릭 링크에는 작동하지 않습니다.
Avinash Raj

8

당신이 할 경우 type vi:

➜  ~  type vi
vi is /usr/bin/vi

다음과 같은 경우 바이너리가 어디에 있는지 알 수 있습니다.

➜  ~  ls -l /usr/bin/vi 
lrwxrwxrwx. 1 root root 20 jun 22  2013 /usr/bin/vi -> /etc/alternatives/vi

대안으로 제공되며 다음 vi과 같이 알 수 있습니다.

➜  ~  update-alternatives --display vi
vi - auto mode
  link currently points to /usr/bin/vim.basic
/usr/bin/vim.basic - priority 30
  slave vi.1.gz: /usr/share/man/man1/vim.1.gz
  slave vi.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
  slave vi.it.1.gz: /usr/share/man/it/man1/vim.1.gz
  slave vi.ja.1.gz: /usr/share/man/ja/man1/vim.1.gz
  slave vi.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
  slave vi.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
Current 'best' version is '/usr/bin/vim.basic'.

그래서 내 경우에는에서 제공 vi하는 대안에 대한 상징적 링크 입니다.vivim.basic

당신이 할 경우 vi를 제공하는 패키지를 변경할 수 있습니다 sudo update-alternatives --config vi


2

@ignis 답변과 비슷하지만 단계를 줄였습니다. 파일이 다른 심볼릭 링크 인 경우에만 작동합니다. 파일 경로에 수천 개의 심볼릭 링크가 있으면 원본 파일 경로를 쉽게 얻을 수 있습니다.

symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk-> symlnk- -> symlnk-> symlnk-> symlnk-> symlnk-> .................--> 원본 파일

$ which vi
/usr/bin/vi
$ ls -l $(which vi)
lrwxrwxrwx 1 root root 20 Feb 22 20:14 /usr/bin/vi -> /etc/alternatives/vi  # So /usr/bin/vi is an symlink to /etc/alternatives/vi
$ dpkg -S $(readlink -f $(which vi))    
vim-tiny: /usr/bin/vim.tiny

따라서 vi패키지에 속합니다 vim-tiny.

readlink -f파일의 정식 경로를 제공합니다 ( Original file path ).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.