간단한 vi / vim 대안으로 어떤 편집기를 사용할 수 있습니까?


17

WSL 덕분에 Ubuntu 's Bash를 사용하는 Windows 사용자 입니다. 이제 일부 파일을 편집해야하며 Vi가 정말 싫습니다. 그냥 처리해야합니까, 아니면 더 간단한 대안이 있습니까?

내가 찾고있는 기능은 다음과 같습니다.

  • CLI 기반
  • 사용하기 쉬움 (입력 및 편집은 메모장과 유사해야 함)
  • 간단한 편집 기능으로 충분

Vim을 마스터하려고하지만 지금 바로 편집해야합니다!


그것은 의견의 문제입니다. 초보자는 nano howtogeek.com/howto/42980/…을 사용 합니다. vim (vi 개선)에는 약간의 학습 곡선이 있지만 매우 강력합니다. linux.com/learn/vim-101-beginners-guide-vim 또는 vim 안내서 또는 vim 튜토리얼 vimtutor (vim에 포함)를 참조하십시오
Panther

이 질문은 의견 기반으로 마감 될 수 있습니다. 사이트의 규칙에 맞게 단어를 바꾸고 싶을 수도 있습니다 (예 : vim의 대안으로 무엇을 사용할 수 있습니까?)
Andrea Lazzarotto

3
이것을 의견 기반 질문으로 마무리하는 투표. 조언 : 나노로 시작하고 나중에 베이비 스텝으로 vim으로 전환하십시오. vim이 기본적으로 모든 리눅스 시스템에 있기 때문에 장기적으로 돈을 지불 할 것입니다
Sergiy Kolodyazhnyy

1
내 의견에 따라, 현재 타이틀은 여전히 ​​논쟁의 여지가 있으며 종결 될 수 있습니다. 사람들은 vim 자체를 "좋은"것으로 간주 할 수 있으며 이것은 주관적입니다. 대신 "쉬운"이라는 단어를 사용하는 것이 좋습니다. 또한 원하는 기능을 지정하면 질문 범위를 좁힐 수 있습니다.
Andrea Lazzarotto

2
@Jos 우리는 GUI 프로그램 실행이 가능하지만 사소한 것이 아닌 WSL에 대해 이야기하고 있습니다. 또한 GUI 편집기에는 vim보다 쉬우므로 질문이 없습니다.
Andrea Lazzarotto

답변:


24

대체 편집기를 찾고 있다면 혼자가 아닙니다. 기본적으로 인생은 배우기 에는 너무 짧 습니다. vi저는 이것이 생활을위한 소프트웨어 개발자라고 말합니다. 그러나 당신은 해야 그에게 문제가 있기 때문에 그것을 종료하는 방법 20K 프로그래머 중 한 아웃 . 또한 완고한 서버에서는 다른 편집기를 찾지 못하기 때문에 기본적인 추가 / 삽입 작업을 수행하는 것이 좋습니다.

이제 귀하의 질문에 대한 답은 아마입니다 nano.

자동 빌드 스크립트를 git실행 중이거나 다른 명령을 사용 하거나 실행중인 경우 vim원하는 명령 없이 열 수 있습니다. 계속하기 전에 다음을 실행하여이를 방지 할 수 있습니다.

export EDITOR=nano

1
감사! EDITOR팁을 위한 추가 포인트
sebagomez

3
"기본적으로 삶을 배우기에는 너무 짧다". vim을 좋아한다면 평생을 보낼 필요가 없습니다. YouTube에서 좋은 튜토리얼을 시청하는 데 2 ​​시간을 보냈으며 동영상에서 배운 기본 사항을 계속 연습했습니다. Ask Ubuntu에 대한 모든 답변의 70 %가 vim으로 작성되었습니다.
Sergiy Kolodyazhnyy

7
"인생이 너무 짧다"는 생각 에이 에세이 가 좋은 점 이라고 생각 했습니다 . Vim 학습에서 가장 큰 (인공적인) 장애물 중 하나는 "하드 코어"사용자가되기 위해 즉시 뛰어 들어야한다는 잘못된 전제입니다. 당신은하지 않습니다. 화살표 키를 사용하십시오. GUI 단축키를 사용하여 복사 / 붙여 넣기하십시오. 삽입 모드에서 행 아웃하십시오. 탭과 레지스터, 벨과 휘파람을 무시하십시오 (현재). Vim에서 나노 레벨 기능을 사용하는 것은 비교적 빠르며, 필요할 때 나중에 고급 기능을 천천히 추가 할 수 있습니다.
RM

@RM GUI 단축키?
Andrea Lazzarotto

1
고급 기능을 사용하려면 @Sergiy vim이 적합합니다. 내가 nano를 사용하는 것처럼 vim을 사용한다면 nano를 계속 사용하게 될 것입니다 (사실 사실, 나는 클라이언트 컴퓨터와 같은 소프트웨어를 추가 할 수없는 서버에있을 때 vim을 사용합니다).
Andrea Lazzarotto

11

그것은 의견의 문제입니다.

초보자는 나노를 사용 합니다.

vim ( "vi 개선")에는 약간의 학습 곡선이 있지만 매우 강력합니다. vim 또는 다른 vim 안내서 또는 vim 튜토리얼 vimtutor(vim에 포함 된)에 대해서는 이 초보자 안내서를 참조하십시오 .

지금은 나노를 강력히 추천합니다

nano -B /path/to/file/to/edit

-B는 백업을 만듭니다

명령은 제어 키와 함께 발행되며 편집기 창의 맨 아래에 나열됩니다.

구문 강조에 대한 안내서가 있습니다 : nano에서 구문 강조를 활성화하려면 어떻게합니까?

나노

emacs모두 대체입니다 vimnano뿐만 아니라 많은 장점이 있습니다. emacs나노보다 더 복잡합니다. 이맥스 투어를 볼 수 있습니다 .

완벽 함을 위해 Zenburn과 같은 vim + 테마가 도움이 될 수 있습니다.

젠번


2
초보자뿐만 아니라 기본적으로 vim vs emacs war에 들어가기를 원하지 않는 모든 인간. : P
Andrea Lazzarotto

1
+1 나도 나노와 함께
갔다.

공정하게 말하면 vim을 테마로 할 수 있고 .vimrc는 먼 길을갑니다. vim 및 emacs에는 나노에서 사용할 수없는 고급 기능이 있지만 고급 기능을 사용하지 않으면 낭비입니다. 빠른 기본 편집을 위해 나는 전체적으로 vim fanboi이지만 nano를 사용합니다. kippura.org/zenburnpage
Panther

1
배우십시오 vi/vim. :) 모든 nix 장치에 있습니다. :) 기본은 그렇게 어렵지 않습니다.
도망자

3
"emacs는 나노보다 더 복잡합니다." : p 이것은 올해의 과소 평가 일 수 있습니다.
Daniel Jour

3

윈도우 파워 유저로, 이후 시도 vimnano나는 현명한 사이에 복잡성을 뭔가가 필요 사실을 발견했다. 그래서 나는 시도 때리고 그리고이었다 것은 내가 찾던 것을.

때리고 이미지

slap은 터미널에서보다 쉽게 ​​편집 할 수 있도록 숭고한 터미널 기반 텍스트 편집기입니다.


설치:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
주요 판매 포인트, 일류 마우스 지원 (SSH 연결을 통해서도)
blueray

2

텍스트 편집기가 원하는 작업을 수행하지 않았다는 것에 실망한 적이 있습니까? 당신이 기억할 수없는 분노 ...

  • ... 도움을 찾는 방법?
  • ... 무엇을 의미합니까?
  • ... 학부생으로서 읽은 작은 소문이 있습니까?

작고 용감한 세상이 기다리고 있습니다!

우리가 가장 좋아하는 가벼운 텍스트 편집기를 옹호하면서 eXcellent, 작고 빠른 xo(exofrills)을 추천하겠습니다 .

단일 Python 3 파일이며 Pygments를 통한 구문 강조를 잘 지원합니다 (비 Python 이외의 경우는 아니지만).

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

또한 매우 간단하고 유용한 키 조합이있어 마음의 내용을 쉽고 쉽게 변경할 수 있습니다.

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

다른 특징들:

  • 단일 파일에서 850 줄 미만의 코드!
  • 구문 강조!
  • 정규식 일치 및 교체!
  • 검색 기록 캐싱!
  • WTFPL 라이센스!
  • 완전 맞춤형!
  • 원래 위치가 아닌 곳에서 시작하십시오!
  • 줄에있는 단어들 사이를 뛰어 넘어라!
  • 파일의 아무 곳으로나 이동하십시오!
  • 전체 파일 삽입!
  • 초보자에게 친숙합니다. 어쩌면 당신은 새로운 단어입니다!
  • 텍스트를 복사하여 붙여 넣기!
  • 라인 및 열 상태!
  • 비 텍스트 편집 공간의 한 행만!
  • 저장 및 로딩 모두!

Python3 소스는 github 에 있으며 다음을 사용하여 더 쉽게 설치할 수 있습니다.

sudo apt install python3-pip
sudo pip3 install exofrills 

exofrills : 텍스트가 편집되었지만 여전히 배가 고파요.

면책 조항 : 나는 결코 exofrills 프로젝트와 제휴하지 않습니다.


1
이것은 +1로 매우 깔끔해 보입니다. 느낌표의 양이 혼란 스럽지만 : P
Andrea Lazzarotto

0

처음에 vi로 어려움을 겪었다는 것을 부인할 수는 없지만 vi가 실제로 배우기 매우 간단하다는 주장을 할 수 있다고 생각합니다. (유닉스를 사용하기 시작했을 때 선택은 vi 또는 emacs였습니다. 그래서 ed를 선택할 당시, 매우 간단한 라인 편집기였습니다. 초기 Unix 교재를 읽음으로써 이미 배웠습니다. vi는 매일 사용하지만 아마 vi를 사용합니다. 기능의 아주 작은 부분 집합 만 사용하십시오.

vi를 사용하는 것에 대한 첫 번째 주장은 다음과 같습니다. vi는 모든 시스템에 존재하며 리소스를 거의 사용하지 않으며 불안정하고 느린 연결에서 사용할 수 있습니다. 다른 편집기에서는 실패하거나 느리고 사용할 수 없습니다. 또는 시스템이 손상된 상황에서 화살표 키가 올바르게 해석되지 않는 경우 (예 : 잘못된 terminfo 설정) vi는 문제의 영향을받지 않고 구성 파일을 수정하여 문제를 일으키는 구성 파일을 수정할 수 있습니다.

vi의 유용한 부분 집합을 배우는 방법은 다음과 같습니다. 첫째 : vi를 대화식 터미널 GUI "편집기"로 생각하지 말고 텍스트 파일을 조작하기위한 프로그래밍 언어로보십시오. 처음에 "vi"는 VIsual 모드를 나타내었고, vi는 시각적이지 않은 상대방 ex를 가지고 있으며, 이는 시작하기에 좋은 장소입니다. 쉘 프롬프트에서 ex를 입력하십시오 (나는 ¬를 사용하여 리턴을 나타냄).

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

이제 Enter를 누르십시오.

:¬
E749: empty buffer
:

자, 무언가를 넣습니다. "a¬"를 입력하고 텍스트 줄을 입력 한 다음 한 줄에 마침표를 입력하십시오.

:a¬
Hello World¬
.¬
:

그것은 append 명령이었습니다. 쉽고 짧고 니모닉입니다. 그러나 버퍼에 무엇이 있는지 보는 것이 좋을 것입니다.

:%p¬
Hello World
:

그것은 분명히 인쇄 명령 p였습니다. %는 줄 범위 속기입니다. 각 명령 앞에 명령을 적용해야하는 줄 번호 또는 범위가 올 수 있습니다. %는 "모든 줄"을 의미합니다. $는 마지막 줄을 의미하고 마침표는 현재 줄을 의미합니다. 숫자는 특정 행을 의미합니다. 범위는 n, m이고 숫자는 더하거나 뺄 수 있으므로. + 1, $-1은 다음 행에서 두 번째 마지막 행까지의 평균입니다. 행 번호만으로 구성된 명령은 해당 행으로 이동합니다. 내가 사용하는 명령의 나머지 작은 하위 집합은 다음과 같습니다.

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w는 모든 (또는 선택된 범위의) 행을 파일에 씁니다.

:1d¬

1 행을 삭제합니다.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s는 정규식을 대체합니다. 정규식을 아는 것이 좋습니다!

:q¬
E37: No write since last change (add ! to override)

q가 종료됩니다. wq 쓰기 및 종료 큐! 글을 쓰지 않고 비슷한 맥락에서 종료합니다! 가능하면 파일에 쓰기를 강제합니다.

이제 멋진 것 :

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! 명령이 행을 쉘 명령으로 필터링합니다.

그리고 마지막으로:

:vi¬

VISUAL 모드로 들어갑니다. 속지 마십시오. 편집기처럼 보이지만 여전히 대화식 프로그래밍 셸입니다. 항상 버퍼와 몇 가지 명령을 살펴보십시오. 비주얼 모드에서 a :는 ex 모드의 : 프롬프트를 표시합니다. 화살표 키 (작동하는 경우)가 움직이고 그렇지 않으면 hjkl이 작동합니다! h 왼쪽, j 아래, k 위쪽 및 l 오른쪽 0은 첫 번째 문자로 이동하고 ^ (여기서 정규 표현식을 생각하십시오!)는 줄의 첫 번째 공백이 아닌 문자로 이동합니다. $ (정규식 다시!)는 줄의 끝으로 이동합니다. : 999를 입력하면 자연스럽게 ex 모드와 마찬가지로 999 행으로 이동합니다.

"i"는 삽입 모드로 들어가서 이제 행 대신 문자를 삽입하고 ".¬"대신 이스케이프를 누르면 종료됩니다. "I"는 시작 부분에 커서 아래 문자 뒤에 "a"를 삽입하고 현재 줄 끝 뒤에 "A"를 삽입합니다. 텍스트 입력이 끝나면 항상 이스케이프를 누르십시오. "x"는 커서 아래의 문자를 삭제하고 "D"는 커서에서 줄 끝까지 삭제합니다. "Y"는 현재 행을 잡아 당겨 (복사) "P"는 다시 붙여 넣습니다. ": pu"는 동일하지만 행 번호가 앞에 올 수 있습니다. ": ya"는 "Y"와 동일하며 선 범위에 적용하는 데 유용합니다. 마크 명령도 있다고 생각하지만 기억하지는 않습니다. 놓치지 마세요.

위의 내용은 제가 사용하는 것이며, 아마도 "효율적인"vi 사용자가 아닐 것입니다. 반면에, 나는 예를 들어 스크립트 편집 구성 파일과 같은 다양한 기능을 사용합니다. 여러 개의 conf 파일에서 호스트 이름 foo.bar.com을 www.foobar.com으로 변경해야합니까?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

내가 말하려고하는 것은 vi의 문제는 사람들이 그것을 어려운 편집자로 생각한다는 것입니다. 당신의 사고 방식을 조금 바꾸고 그것을 아주 단순하면서도 강력한 대화 형 프로그래밍 언어로 보는 것이 전부입니다. 사용 가능한 명령의 하위 세트를 사용하더라도 편집기뿐만 아니라 나머지 Unix와 잘 통합 된 일반 스크립트 가능 도구로도 사용할 수 있습니다. 나는 나노가이 모든 것을 할 것이라고 의심한다.


3
미안하지만 ...이 질문에 대답하지 않습니다. OP는 vim에 대한 대안을 요구했으며 이에 대한 답변을 제공해야합니다.
Andrea Lazzarotto

1
나는 당신 이이 답변에 넣은 작품을 칭찬하지만 실제로 질문에 대답하지는 않습니다 .vim에 대한 튜토리얼은 여기에 속하지 않지만 블로그에는 속합니다.
고양이

이 답변은 많은 사람들이 viemacs에 대한 대안을 요구하는 이유입니다. 우리가 사용하기에 불쾌하다고할수록 개종자는 더 많이 사용하려고 노력합니다.
Shukri Adams

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