Modless vs modal biên tập


37

Tôi mới bắt đầu học Linux và tất cả kinh nghiệm lập trình trước đây của tôi là sử dụng nền tảng Windows. Tôi đã xem qua trình soạn thảo Vim và đọc rằng đó là trình soạn thảo phương thức không giống như notepad, được gọi là trình soạn thảo không có mod.

Bạn có thể giải thích sự khác biệt giữa các biên tập viên mod và modal nói chung là gì không?

Câu trả lời:


37

Một trình soạn thảo "không chế độ" bình thường giống như Notepad trên Windows: chỉ có một chế độ, nơi bạn nhập văn bản.

Vi, và đó là Vim kế, là phương thức: có hai chế độ chính 1 , chế độ chèn trong đó bạn nhập văn bản vào trình chỉnh sửa và nó được cam kết với tài liệu và chế độ bình thường nơi bạn nhập đối số qua bàn phím thực hiện nhiều chức năng khác nhau , bao gồm: di chuyển con trỏ xung quanh tài liệu, tìm kiếm và thao tác văn bản trong tài liệu (ví dụ: cắt và dán).

Các bài viết trên Wikipedia về Vi có một mục tốt trên giao diện phương thức.

Sự hấp dẫn chính, ban đầu là một điều cần thiết trong những ngày đầu của máy tính Unix trước khi áp dụng rộng rãi chuột, là chỉnh sửa hoàn toàn bằng bàn phím. Cách tiếp cận này hiện đã được áp dụng rộng rãi hơn ở vùng đất Unix, được sử dụng ví dụ bởi nhiều trình duyệt web .

Dự án tuyệt vời này, Vim Clutch , cung cấp một hình dung rõ ràng về khái niệm chuyển đổi giữa các chế độ.


1. Ngoài ra còn có hai chế độ khác, chế độ lệnh để nhập lệnh như trong vỏ và chế độ trực quan khi chọn văn bản để thao tác.


3
Đừng quên chế độ dòng lệnh và chế độ trực quan.
Bernhard

Điểm tốt. Tôi bị mắc kẹt với các chế độ chính vì đơn giản, nhưng tôi sẽ thêm chúng vào như một chú thích.
jasonwryan

liên kết "Vim Clutch" đã chết
Rashi

@Rashi đã sửa ...
jasonwryan

4

Trong thiết kế giao diện người dùng, chế độ là một cài đặt riêng biệt trong chương trình máy tính hoặc bất kỳ giao diện máy vật lý nào, trong đó cùng một đầu vào của người dùng sẽ tạo ra kết quả khác nhau so với các cài đặt khác. Các thành phần giao diện phương thức nổi tiếng nhất có lẽ là phím Caps lock và Chèn trên bàn phím máy tính tiêu chuẩn, cả hai đều đưa người dùng gõ vào một chế độ khác sau khi nhấn, sau đó đưa nó trở lại chế độ thông thường sau khi được nhấn lại.

Giao diện không sử dụng chế độ nào được gọi là giao diện không chế độ. [1] Giao diện không điều chỉnh có ý định tránh lỗi chế độ [2] bằng cách khiến người dùng không thể thực hiện chúng.


4
Cái này có vẻ như được sao chép từ Wikipedia (trừ khi bạn PRAMOD viết bài báo đó, tôi không biết). Nếu vậy, bài viết đó không nên được trích dẫn?
Guildenstern

0

Sự khác biệt là trong một trình chỉnh sửa phương thức, bạn phải chuyển rõ ràng sang một chế độ để nhập văn bản. Trong chế độ đó, nhấn một phím sẽ thêm ký tự của phím đó vào màn hình có con trỏ, giống như một máy đánh chữ. Sau đó, bạn phải rõ ràng chuyển trở lại chế độ khác để làm những việc khác như di chuyển con trỏ, tìm kiếm, chọn một khu vực hoặc sao chép văn bản.

Trình chỉnh sửa không có chế độ luôn cho phép bạn chèn văn bản và yêu cầu bạn sử dụng phím bổ trợ nếu bạn muốn một phím để làm gì đó ngoài việc chèn một chữ cái, chẳng hạn như giữ Control và nhấn C để sao chép văn bản đã chọn.

Chúng thực sự không khác biệt nếu bạn nghĩ rằng việc giữ một phím bổ trợ là ở một chế độ khác. Sự khác biệt thực sự là các nét chính rõ ràng cần thiết để chuyển đổi chế độ. Trong trình chỉnh sửa không có chế độ, bạn có thể nghĩ về phím bổ trợ là chuyển sang một chế độ trong khi nó đang được nhấn và sau đó chuyển về chế độ khác khi nó được phát hành.

Phần này của câu trả lời được chấp nhận là hoàn toàn sai:

Sự hấp dẫn chính, ban đầu là một điều cần thiết trong những ngày đầu của máy tính Unix trước khi áp dụng rộng rãi chuột, là chỉnh sửa hoàn toàn bằng bàn phím.

Chỉnh sửa chỉ bằng bàn phím chỉ hoạt động tốt mà không cần chuyển đổi chế độ rõ ràng. Bạn có thể di chuyển con trỏ và chọn các vùng văn bản với các tổ hợp phím. Ví dụ: Ctrl + A để di chuyển đến đầu dòng, Ctrl + Spc để đặt dấu theo sau, sau đó Ctrl + E để di chuyển đến cuối dòng do đó chọn toàn bộ dòng.

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.