Vis는 vi(m)와 sam의 장점을 결합하여 현대적이고 레거시가 없으며 단순하면서도 효율적인 편집기를 목표로 합니다.
이는 다중 커서/선택에 대한 내장된 지원을 통해 vi의 모달 편집을 확장하고 이를 sam의 구조적 정규식 기반 명령 언어와 결합합니다.
범용 편집기인 이 편집기는 적절한 유니코드를 지원하며 대용량, 바이너리 또는 한 줄 파일을 포함한 임의의 파일을 처리해야 합니다.
Parsing Expression Grammars를 이용하여 효율적인 구문 강조 기능을 제공하며, 이는 Lua를 이용하여 LPeg 형태로 편리하게 표현할 수 있습니다.
편집기 코어는 합리적인 양의 깨끗하고(마일리지는 다를 수 있음) 현대적이고 레거시가 없는 C 코드로 작성되어 리소스가 제한된 환경에서 실행할 수 있습니다. 구현은 해킹하기 쉬워야 하며 실험을 장려해야 합니다. 프로세스 내 확장을 위한 Lua API도 있습니다.
Vis는 단순 해지려고 노력하며 핵심 작업인 효율적인 텍스트 관리에 중점을 둡니다. 클립보드 및 이중 그래프 처리는 물론 퍼지 파일 열기 대화 상자도 모두 독립 유틸리티에서 제공됩니다. 클라이언트/서버 아키텍처를 사용하여 창 관리를 창 시스템이나 선호하는 터미널 멀티플렉서에 위임하려는 계획이 있습니다.
vi(m)와 버그 간 호환이 가능하도록 의도된 것은 아닙니다 . 대신에,
세련된 디자인과 깔끔한 구현을 바탕으로 더욱 강력한 편집 기능을 제공하고자 합니다.
vis를 빌드하려면 C99 컴파일러, POSIX.1-2008 호환 환경 및 다음이 필요합니다.
이러한 종속성이 충족된다고 가정하고 다음을 실행합니다.
$ ./configure && make && sudo make install
기본적으로 configure
스크립트는 pkg-config(1)
사용하여 Lua에 대한 지원을 자동 감지하려고 시도합니다. 지원되는 옵션 목록은 configure --help
참조하세요. 생성된 config.mk
파일을 수동으로 조정할 수도 있습니다.
아니면 배포판에서 제공하는 패키지 중 하나를 사용하세요.
최종 사용자 문서는 vis(1)
매뉴얼 페이지와 Wiki에서 찾을 수 있습니다. 일반적인 질문에 대해서는 FAQ를 읽어보세요. sam(1)
및 vim(1)
과 각각 비교하여 몇 가지 차이점에 대해 알아보세요.
C API와 Lua API 문서도 제공됩니다.
구현되지 않을 일부 기능:
#ifdef
엉망 기여할 수 있는 방법은 다양하며, 다음은 몇 가지 아이디어입니다.
:help
출력 시작하려면 개발자 개요를 확인하고 libera의 #vis-editor
IRC 채널(브라우저를 통해 참여)에 주저하지 말고 질문하세요.