vi가 유일한 옵션 인 경우가 있습니까?


22

vi우분투 환경에서 파일을 생성, 편집 또는 수정하는 유일한 옵션이있는 시나리오 가 있습니까?

내 질문은 기본적으로 vi우분투 생태계의 특정 경우에 사용할 수있는 유일한 옵션이기 때문에 사용해야하는 경우가 있는지 실제로 아는 것입니다.

수처럼 어떻게 든 다른 옵션에 대한 액세스 권한이없는 것입니다 특별한 경우의 존재 nano, pico또는 단순히 같은 도구와 정보를 전송 cat, sed, tee더?

데스크탑에는 더 많은 옵션이 있기 때문에 이것이 서버 또는 클라우드 쪽이라고 가정하지만 터미널을 많이 사용하는 사람은 많이 묻습니다.

그런 경우가 있습니까?



8
@Tim 실제로 visudo모든 편집기를 사용할 수 있습니다. Ubuntu의 기본 구성은 EDITORVISUAL환경 변수를 따르므로 sudo env VISUAL=emacs visudoemacs 또는 gksudo env VISUAL=gedit visudoGedit와 같은 그래픽 편집기를 실행할 수 있습니다 . ( sudo -H또는 sudo -i대신 사용될 수 있습니다 gksudo.)이 env방법 VISUAL=emacs sudo visudo은 작동하지 않으며 ( sudo대부분의 환경을 재설정) 바람직하지 않은 것으로 간주 sudo -EH 될 수 있습니다.
Eliah Kagan

3
vi가 유일한 옵션입니다 ... vi가 알고있는 유일한 편집기가 설치되어 있고 다른 편집기를 설치하는 데 시간을 소비하고 싶지 않은 경우. vi가 사용 가능한 것 중 가장 잘 알고 / 좋아하는 편집기이고 더 좋아하는 것을 설치하는 데 시간을 허비하고 싶지 않은 경우 vi가 가장 좋습니다. 하나의 도구만으로 문제를 해결할 수있는 경우는 없습니다. 선택이 제한되는 경우가 있습니다. 그리고 어떤 사람들은 실제로 vi를 좋아합니다. (저는 아닙니다. 저는 Emacs
Bigot

3
cat? sed? 정말? vi실제로 그렇게 복잡하지는 않으며 실제로 배우기를 귀찮게 할 수 없다면 두 가지 모드 (일반 및 삽입 모드) 만 기억하면됩니다. 화살표로 커서를 움직이거나 (사용할 수없는 경우 HJKL) "i"를 눌러 편집을 시작합니다 (삽입 모드). 완료되면 "Esc"를 눌러 일반 모드로 돌아갑니다. ": wq"를 입력하여 저장하고 종료하십시오 (쓰기 + 종료).
sleblanc

2
그냥 빨아 들이고 vi를 배우십시오 :) 처음 나타나는 것처럼 어렵지 않으며 일단 알게되면 사용하는 새로운 시스템에서 다른 편집자를 위해 시간을 낭비하지 않을 것입니다.
JamesRyan

답변:


32

내부 우분투 생태계,이 경우는 생각하지 않는다 존재조차 할 수 로, vi적어도 VIM-작은, 이미 "진짜 것 vim까지에서" "진짜 vi."

일반적으로 우분투가 아닌 리소스 제한 임베디드 시스템 의 맥락에서는에 vi대한 링크가 될 수 있습니다 busybox. 그리고 남은 공간이 없습니다. 그런 다음 vi유일한 옵션입니다.

그것과는 별도로, 나는 리눅스 세계 밖에서 도 오늘날 vi유일한 옵션이 그리 일반적이지 않은 상황을 생각한다 .

그러나 쉽게 상황이있을 수 vi있습니다 당신이 계획 할 수있는 유일한 옵션은 대부분의 아마, 고객의 오버 냉장 서버 룸 내부에서 일어날 것이다 -, certaily 어떤 미래 상황에 존재하는 것을 유일한 옵션을 선택합니다.

고객이 전화했다고 상상해보십시오.

고객 : 이 구성을 수정해야합니다! 지금!! 방법을 모르겠지만 구성 파일의 위치를 ​​알 수 있습니다. 도와 줄 수 있어요!?!

당신 : 좋아, 어떤 종류의 시스템이 작동하고 있습니까?

고객 : 아, 서버 foo에 있습니다. 아 ... 실행 중입니다 ... 기억할 수 없습니다. "ix"가 있거나 "ux"가있는 mayeb이 있습니다.

아무 문제 없습니다, 지금까지, 당신은있을 것이라는 것을 알고 있습니다 vi!


1
나는 vi를 텍스트 편집기로 포함하는 많은 임베디드 시스템에서 개인적으로 작업했으며 buildroot와 yocto는 최소한의 구성 옵션을 사용할 때 유일한 편집기로 사용한다고 생각합니다. 분명히 이것은 우분투의 문제는 아니지만 임베디드 개발자 인 경우 실제 문제가 될 수 있습니다. 그러나 OP가 말했듯이 항상 sed, sort, grep 등과 같은 파이프 기반 도구를 사용할 수는 있지만 매우 고통 스럽습니다.
Vality

비지 박스의 경우는 참으로 좋은 일입니다. 그것에 대해 성가신 것은 그것이 심지어 완전한 vi 라고 생각하지 않는다는 것입니다 (적어도 10 년 전이 아니었고 성가신 경우에도 부 풀리지 않았기를 바랍니다 ).
hyde

1
busybox vi4k line : curl -s https://gitorious.org/busybox/busybox/raw/1c7a58dfb82ea04c525e0c19f94f2d800dee99e3:editors/vi.c | wc;)
Volker Siegel

17

Vi는 유일한 옵션이 아닙니다. 항상 ed대신 사용할 수 있습니다 .


8
예를 들어, 아치 리눅스에서는 ed의 일부가 아닙니다 base.
muru

@muru FWIW vim도 마찬가지입니다.
Sparhawk

4
@Sparhawk vi
muru

물론 @muru 아. 나는 혼란 스러웠다.
Sparhawk

edstandard^설치의 일부일뿐입니다 . 당신이 경우 minimal설치 ed포함되지 않습니다.
Oli

13

vi에디터 가 필요한 경우가 하나 있습니다.

  • 그래픽 인터페이스가 없습니다
  • 당신은 이상한 알려지지 않은 *nix시스템에 있습니다
  • 터미널은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

  • 당신은 이와 같은 사람들이 충분합니다.

여기에 이미지 설명을 입력하십시오

보시다시피 숫자 키패드없습니다 . 이전으로 vi(그리고 나는이 말은 원래 전통vi 이 아닌 vim, vim.tiny또는 vim.basic이 키보드로 편집 할 수있는 파일). 화살표 키가 없습니까? 당신이 명령 모드에있을 때 예,로 파일을 이동 h, j, kl프로처럼. h떠났고, j엎드 렸고, k섰다 l.


5
나는이 대답이 실제로 그렇게 나쁘지 않다고 생각합니다 (타자기 같은 키보드는 완전히 일어날 것 같지는 않습니다). 그러나 실제로 그것이 당신이 vi특별히 필요하다는 것을 의미하지는 않습니다 . 모든 이전 텍스트 편집기에는 화살표 키 등을 사용하지 않고 작업 할 수있는 "백업"키 조합이 있지만 vi화살표 키를 놓치지 않는 유일한 편집기입니다.
leftaroundabout

다소 오프 주제 : 나는 당신을위한 숫자 키패드가 필요 왜 표시되지 않습니다 어떤 텍스트 편집기를하고, 화살표 키 어쨌든 빔에 쓸모. : P
Doorknob

1
이봐, 좋은 오래된 할인하지 마십시오 ed! 그런 시스템에서 이러한 "시각적"특수 효과가 필요하지 않습니다! 종이 터미널에서 vim을 사용하고 관리 방법을 확인하십시오 ... 더 진지하게 아는 ed것은 유용합니다. 편집을 스크립팅해야 할 때 적절한 옵션입니다.
hyde

키보드를 사용하여 명령 모드로 전환하는 방법 (이스케이프가 보이지 않습니다. 다른 키 조합이 있습니까?)
Foon

@Foon 이스케이프 키가 있습니다 =) 일반적으로 탭이 있어야합니다. Q 키 왼쪽
혼돈

6

문제의 사실은 같은 많은 배포판 편집기에서, 그입니다 nanopico다른 패키지, 즉 동안 단지 표준 없습니다 vim-tiny있습니다. ubuntu-minimal의 패키지 목록은 여기 vim-tiny에서 유일한 편집기 입니다. 이 답변에 따르면 우분투 서버의 경우도 마찬가지입니다. 나는 이것이 데비안, 페도라 기본의 경우라는 것을 알고 있습니다.

그것은 당신이 nano당신의 시스템에 있다면 당신이 vi대신 사용해야하는 경우를 아직 보지 못했지만 고객을 위해 일하고 있고 그렇지 않은 경우 @Volker의 대답을 연기 한다고 말한 것 입니다. 루트 액세스? apt-get install nano당신이 많이하지 않을 것입니다 (외부 인터넷에 액세스 할 수 있다면!).


4

이 경우 경우의 수는 vi(그리고 나는 자연스럽게 의미가에 의해 vim.tiny그것이 우리가 제공 무엇 때문에) 이 될 수 있는 유일한 대화 형 편집기. 나비와 우주 광선을 무시하면 이런 일이 일어날 가능성이 가장 높은 것 같습니다.

  • ubuntu-minimal기본 메타 패키지 만 사용하고 있습니다. 이것은 vim-tiny 다른 편집기 에 의존 하지만 다른 편집기는 없습니다. 현재 standard^작업 없이 Ubuntu를 설치하는 방법을 찾을 수 없지만 설치 후 다음과 같이 제거 할 수 있습니다.

    sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print $2}')
    

    standard^작업을 설치 하지 않고 시스템 이미지를받은 개인적인 경험이 있습니다. 내가 네트워크에 접속할 수 vi없다면 나의 유일한 선택 일 것이다.

  • 매핑 된 환경으로 만 루팅 vi 통해

  • 다른 모든 편집기를 수동으로 핵 (및 재설치 수단 비활성화)

  • 알려진 편집기를 중지하기 위해 셸 수동 차단 vi 를 시작 시작되지 않습니다.

실제 최소 설치가 가장 가능성이 높은 이유이지만 요즘에는 거의 설치되지 않습니다. 일부 VPS 및 클라우드 호스팅 회사는 디스크 공간을 절약하기 위해 디스크 공간을 절약하기 위해 VPS와 클라우드 호스팅 회사를 사용하지만 실제로는 표준이 아닙니다.


언제나처럼 멋진 답변입니다. 나는 그것이 매우 지식이 풍부하다는 것을 알았습니다.
Luis Alvarado

2

emacs를 설치할 수 없거나 emacs를 설치하기 위해 구성 파일을 수정해야하는 경우. :-피


또는 emacs보다 우수한 고급 편집기를 사용하려는 경우. ( cue flamewar ) : P
Doorknob

3
당신이 우분투를 사용하는 경우 확실하게, 당신은 이미 이맥스가 중복 될 수 있도록, 운영 체제 : V
evilsoup

이봐, 좋은 컴백 :-p
Craig

2

많은 (대부분?) Busy-Box 설치에는 vi.

우분투 전용은 아니지만 많은 임베디드 장치에 적용됩니다.


2

항상 고양이, 머리, 꼬리가 있습니다 ... 따라서 대안이없는 시스템이 있는지 확실하지 않지만 더 나은 시스템이없는 시스템을 찾을 수 있습니다 emacs를 선호하더라도 대안 .

내 예는 내가 한 번 관리 한 시스템으로 너무 느리거나 줄이 느리고 손실되었습니다. 커서 키로 탐색 할 때 종종 편집 된 파일에 가비지를 삽입하고 주입하도록 변경하고 HJKL을 사용하여 이동했습니다. 신뢰할 수있는 유일한 옵션이었습니다.


1
그리고 물론 좋은 오래된 나비 !
leftaroundabout

2

우분투 생태계에서 vim이 유일한 옵션 인 경우는 다음과 같습니다 . Ubuntu Snappy이외의 다른 텍스트 편집기는 제공되지 않습니다 vim-tiny. 아마도 미래에는 하나가있을 것이지만 2015-16 년에는 그렇지 않을 것입니다. 직렬 콘솔 또는 ssh를 통해 Ubuntu Snappy를 사용하려는 경우을 사용하는 것이 좋습니다 vim.


0

vi의 라인 모드 만 작동하는 상황에 처하게되었습니다. 실제로 터미널 정의를 망쳐 놓은 것과 관련이 있습니다. 기본적으로 라인 모드의 vi 만 (단일 터미널이있는 척하는 경우 일반 vi처럼 작동 함) ex와 ed는 유일한 터미널 정의가 "dumb"이기 때문에 작동합니다.

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