Mối quan hệ giữa vi, nvi và vim là gì?


18

Trên một số unix đôi khi tôi tìm thấy một lệnh có tên nvi. Đó là một trình soạn thảo giống như vi, không có nhiều chức năng của nó. Có lẽ đó là một ngã ba của cũ vi?

Dù sao, viphiên bản nào là một ngã ba của những người khác, và đó là sự phát triển độc lập? Họ có một "cây gia đình", tương tự như unixes không?

Câu trả lời:


24

Từ nvi(1):

HISTORY
    The ex editor first appeared in 1BSD.  The nex/nvi replacements for the
    ex/vi editor first appeared in 4.4BSD.

Một số nền tảng, từ bộ nhớ, vì vậy tôi hy vọng có các chi tiết chính xác:

Ban đầu, UNIX là miễn phí. Mọi người đều có thể yêu cầu một bản sao từ Ken và anh ấy sẽ gửi cho bạn một cuộn băng có nguồn (được cho là có dòng chữ "tình yêu, Ken" trên đó). Các thuật ngữ "phần mềm miễn phí" hoặc "nguồn mở" chưa tồn tại, nhưng với tất cả ý định và mục đích, đó là "nguồn mở".

Lý do cho điều này là do UNIX được phát triển tại phòng thí nghiệm Bell. Phòng thí nghiệm Bell là một phần của AT & T, vào thời điểm đó, có sự độc quyền hiệu quả về điện thoại. Là một phần của thỏa thuận với chính phủ Hoa Kỳ, đã đồng ý rằng AT & T không được phép thâm nhập vào các lĩnh vực kinh doanh khác (như máy tính).

Ở đâu đó, điều này đã thay đổi và UNIX trở thành phần mềm độc quyền. Do đó, BSD (bắt nguồn từ UNIX) cũng trở thành phần mềm độc quyền. viđược viết như một phần của BSD, vì vậy nó cũng trở thành độc quyền.

Đây là lý do tại sao vào cuối thập niên 80 đến đầu thập niên 90, một số "vi nhân bản" xuất hiện, chẳng hạn như stevie(sau này là cơ sở cho vim) và nvi.

Đầu những năm 90, mọi người muốn có một hệ thống BSD miễn phí, do đó, nó nviđã được tạo ra cho 4.4BSD-lite (nghĩa là lite, không bị mã hóa bởi mã AT & T), do đó nviđược tạo ra như một sự thay thế "tương thích với lỗi" cho mã hóa vi. Nó có tất cả các vitính năng, nhưng không phải là các tính năng nâng cao hơn mà bạn có thể tìm thấy vim.

FreeBSD & NetBSD đều giảm từ 4.4BSD-Lite (và OpenBSD & DragonflyBSD xuống từ NetBSD và FreeBSD, tương ứng), đó là lý do tại sao chúng nviđược cài đặt theo mặc định.

Không giống như Linux, các hệ thống BSD có một hệ thống "cơ sở" duy nhất nvilà một phần của nó, vì vậy thực sự có hơn 4 phiên bản nvi. Nhưng trong thực tế, các thay đổi là nhỏ đến không tồn tại, các dự án BSD trao đổi mã, vì vậy hầu hết các lỗi và cải tiến được chia sẻ (nhưng có lẽ không phải tất cả?). Tôi tin rằng FreeBSD đã thêm hỗ trợ đa bào một vài năm trước đây, ví dụ.

Các vimcốt yếu là nhàm chán: Bram được chạy trên Amiga, muốn chạy vi, nhưng không thể tìm thấy một vicho Amiga. Vì vậy, anh ta lấy steviemã, chuyển nó đến Amiga, và tiếp tục cải thiện nó hơn nữa. Đây là lý do tại sao bạn vẫn có thể tìm thấy nhiều ghi chú liên quan đến Amiga trong các tài liệu ngay cả ngày nay.

Trong khi đó, UNIX lại "miễn phí" một lần nữa và bạn có thể chạy bản gốcvi .


1
Wikipedia tuyên bố nvi dựa trên elvis được phát hành với bản gốc 386BSD và là một nỗ lực để tạo ra một phiên bản tương thích vi hoàn toàn hơn. Điều này có đúng không?
Random832

2

Rễ cây gia đình của vi nhái dường như là:

  • 1977: "Truyền thống vi", nguồn gốc của Bill Joy, được chuyển và sử dụng miễn phí từ năm 2002.
  • 1985: microEmacs, từ đó "tệ nạn" vi-alike được phát triển
  • 1987: stevie, từ đó vim và xvi được phát triển
  • 1990: elvis, từ đó nvi được phát triển
  • 2000: "vi vi" của busybox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.