GUI tốt hơn cho vim?


15

Tôi thích sử dụng vim, các tính năng vô tận của nó và cách nó làm mọi thứ (đối với hầu hết các phần). Tôi đã sử dụng và tắt nó (không phải là biên tập viên chính của tôi) trong ít nhất 7 năm nay, vì vậy trong khi tôi không phải là một chuyên gia, tôi thường biết cách của mình xung quanh nó.

Bây giờ, trong khi tôi yêu thích nó trong dòng lệnh, tôi thực sự muốn nó là trình soạn thảo chính của mình trong GUI Windows và Linux. Nhưng ... gvim ... thật kinh khủng . Nó phá vỡ rất nhiều "quy tắc" khả dụng trên Windows đến nỗi nó thậm chí không đáng để chiến đấu với nó. Ngay cả Cream , với những thay đổi và .vimrc lạ mắt, sẽ tiết kiệm cả ngày.

Vì vậy, câu hỏi của tôi là: có một GUI vim hiện đại cho Windows và Linux làm cho nó trông và hoạt động như hầu hết các trình soạn thảo GUI không? Có GUI tuyệt vời, Kate, TextMate hoặc Editra với các tính năng của vim sẽ là không thể tin được. Tôi nhận ra tất cả bốn (cũng như nhiều thành viên khác) có plugin loại làm cho chúng hoạt động giống như vim, nhưng đó là hư không gần (ít nhất là cho Editra và Sublime Text, không chắc chắn cho những người khác) các vim thực.

Vim là nguồn mở, tôi thực sự không chắc tại sao vẫn chưa có một đại tu GUI hoàn chỉnh. Mọi người không sử dụng gvim?


15
Cá nhân, tôi sử dụng gVim trên Windows một cách chính xác vì nó hoạt động giống như giao diện điều khiển / thiết bị đầu cuối vimtrên Unix.
dùng1686

1
Sẽ rất hữu ích khi biết một số chi tiết về các quy tắc khả dụng mà bạn thấy gVim đặc biệt có lỗi.
RedGrittyBrick

2
OK, đây là một: chọn một số văn bản trong chế độ trực quan và cuộn thực sự sửa đổi lựa chọn. Tôi hiểu điều này xảy ra bởi vì con trỏ luôn phải hiển thị và nó giúp sử dụng lệnh 'o' trong khi ở chế độ trực quan, nhưng điều này rất trực quan với các ứng dụng GUI tiêu chuẩn. Tôi thấy nhiều người sử dụng gVim chỉ vì nó hoạt động như Vim, nhưng tại sao không sử dụng Vim console? Thiết lập môi trường Linux trong Windows và / hoặc sử dụng thiết bị đầu cuối tốt như mintty là điều rất dễ thực hiện.
imiric

2
Thay vì "thiết lập môi trường Linux trong Windows", tại sao bạn không sử dụng gVim? Không cần thiết lập.
dùng1686

Đây là một cuộc thảo luận thú vị khác về việc có GUI hiện đại cho Vim: Groups.google.com/group/vim_use/browse_thread/thread/ trộm
imiric

Câu trả lời:


12

vim được thiết kế để sử dụng bàn phím hiệu quả, không sử dụng chuột. do đó, tôi thấy khiếu nại của bạn về một "gui" xấu hơi khó xử. nếu bạn không thích vim hoặc nếu bạn không muốn tìm hiểu cách mọi thứ được thực hiện trong vim, điều đó thật tốt. nhưng sau đó bạn phải sử dụng một trình soạn thảo khác vì vim không phù hợp với yêu cầu của bạn.

Vì vậy, tôi nghi ngờ sẽ có bất kỳ phiên bản gui nào của vim phù hợp với mong đợi của bạn về một trình soạn thảo "đồ họa" đàng hoàng sẽ trông như thế nào hoặc nên hành xử như thế nào.


3
hoặc bạn chỉ cần học 100% vim và được thực hiện với vấn đề biên tập viên cho đến hết thời gian :)
akira

3
Có / có / lý do để sử dụng gVim thay vì Vim chỉ trong bảng điều khiển. Hai ví dụ: 1) Có các kết hợp meta Vim không thể nhìn thấy ngoại trừ trong GUI, do các giới hạn trong trình giả lập thiết bị đầu cuối và thư viện xử lý thiết bị đầu cuối. 2) Hỗ trợ màu rộng hơn đáng kể. Bỏ qua một bên, tôi nghĩ thật vô cùng bất công khi mong đợi Vim đột nhiên hành xử như mọi ứng dụng GUI khác chỉ vì nó có GUI. Vim có thể sẽ luôn phải vi phạm "quy tắc" khả năng sử dụng, hoặc không còn là Vim nữa. Nếu đó không phải là điều bạn muốn, tôi phải nhắc lại những người khác: Tìm một biên tập viên khác.
Heptite

5
@imric: Khi tôi nói rằng "nó sẽ không còn là Vim nữa", tôi thực sự có nghĩa là nó không thể là Vim nữa và "tuân thủ" trong chế độ GUI. Vim là một bản sao vi nâng cao và vi tồn tại theo nghĩa đen trước khi GUI tồn tại. Nó có giao diện người dùng rất độc đáo và vâng, điều đó mâu thuẫn với các nguyên tắc sử dụng GUI hiện tại. Để có được (tất cả) những gì bạn muốn, bạn đang yêu cầu một trình soạn thảo thực sự, thực sự, không hành xử theo cách vi / Vim dự định hoạt động. Một quy tắc mà Bram Moolenar (người tạo và chủ sở hữu bản quyền của Vim) dành cho Vim là, càng nhiều càng tốt, console và GUI Vim nên hoạt động tương tự nhau.
Heptite

3
@imric: tại sao bạn lại muốn sử dụng vim nếu không phải vì nó "kiêu ngạo và không công bằng"? Ý tôi là, đó là vim .. bạn sử dụng nó vì nó làm công việc như vậy, tương tự cho emacs. như tôi đã nói: nếu công cụ xung đột với những gì bạn muốn: sử dụng một công cụ khác.
akira

2
Cá nhân, GVim của tôi được thiết lập trông giống hệt Vim của tôi nên tôi không có menu, không có thanh cuộn, phông chữ / màu giống nhau ... Lý do duy nhất đôi khi tôi sử dụng GVim thay vì Vim là khi tôi sử dụng chuột và bánh xe đi một cách lỏng lẻo qua một số tập tin (ví dụ như khi tôi đang uống cà phê hoặc bia). Nó không xảy ra nhiều, nhưng đôi khi, đôi khi. Tôi không thể tưởng tượng được tại sao người ta lại muốn một Vim không hoạt động như Vim. Tốt hơn là sử dụng một trình soạn thảo khác đã được thiết kế với GUI.
cedbeu

7

Tôi đồng ý với câu trả lời và ý kiến ​​của Akira.

GUI thân thiện với các quy ước duy nhất cho Vim là MacVim, rõ ràng là một ứng dụng chỉ dành cho Mac.

Tôi không chắc nó là "tốt nhất của cả hai thế giới", nhưng phiên bản beta mới nhất của Sublime Text 2 có chế độ "cổ điển" rất ấn tượng bao gồm rất nhiều tính năng Vim hữu ích (chuyển động, đối tượng văn bản) và ánh xạ những thứ khác ( /hoặc ?ví dụ) cho các tính năng bản địa của nó. Tôi thấy thiết kế tổng thể của nó hơi khó chịu vì vậy tôi không thấy mình sớm chuyển sang sử dụng nó, nhưng, một lần nữa, chế độ cổ điển rất ấn tượng.


1
Phải, MacVim dường như có GUI Vim tốt hơn nhiều . Nhưng từ những gì tôi hiểu, nó đòi hỏi khá nhiều công việc để làm cho nó trông liền mạch trong OS X, và gVim là một quái vật hàng chục năm tuổi mà hầu như không có bản cập nhật. Tôi đã thử chế độ Vim của Sublime Text, và trong khi nó thực hiện nhiều lệnh di chuyển và chèn, nó vẫn bị thiếu.
imiric

Trên MacOS X, các UI tốt và mạch lạc là điều tối quan trọng trong khi không ai quan tâm đến điều đó trên Linux và Windows. Đó là lý do tại sao nó quan trọng với những người đứng sau MacVim và họ đã trải qua công việc khó khăn cần thiết. Nhưng nhiệm vụ có lẽ không phức tạp vì các hướng dẫn / truyền thống / tập quán đã được thiết lập và cách thức thực thi chúng thông qua các công cụ dev chính thức. Trên máy tính để bàn Linux này, ứng dụng của tôi có ít nhất 2 cách để đặt tên cho menu chính ( "File" hoặc một số từ liên quan đến chức năng của ứng dụng) và ít nhất là 4 phím tắt cho "Quit" / "Đóng cửa sổ" ( <C-q>, <S-C-q>, <C-w>, :q...) . Tôi biết đào
romainl

Lần đầu tiên, nó giống như trên các cửa sổ. Tôi nghĩ rằng thật khó để có được trải nghiệm tích hợp VÀ được tích hợp tốt trong một môi trường lộn xộn như vậy mà không có một loại lãnh đạo khuyến khích tiền tệ hoặc độc đoán. OK, xin lỗi vì những lời tán tỉnh, trở lại lịch trình thường xuyên.
romainl

2

Bạn có thể nhận được một plugin cho một IDE cung cấp cho nó các tổ hợp phím VIM. VÍ DỤ

Đây là một IDE web rất thú vị dành cho các nhà phát triển web, bao gồm git, có chế độ liên kết phím VIM được tích hợp:

Mặt khác, tôi phát triển trên mac và tôi là một fan hâm mộ lớn của MacVim và tôi đồng ý rằng gVim cực kỳ xấu trên * nix và tôi co rúm mỗi khi phải chạy vim trong vỏ ssh trên máy chủ.

Theo như VIM như các trình soạn thảo không phải là một IDE riêng biệt, một ứng dụng GUI khác (chỉ dành cho mac, xin lỗi) là:


Cảm ơn những lời đề nghị của bạn, nhưng tôi đã quyết định gắn bó với console Vim cho tất cả các nhu cầu đang phát triển của tôi, thay vì phải vật lộn với gVim. Tôi đã mở shell của mình mọi lúc, tôi chỉ có một cửa sổ tmux khác chạy Vim, và nó giúp chuyển đổi giữa trình soạn thảo sang shell và quay lại rất nhanh và thuận tiện. Thêm vào đó, không có quy tắc sử dụng bị phá vỡ trong giao diện điều khiển. :-) Tôi đang suy nghĩ về việc chuyển sang Mac sớm và sẽ thử MacVim.
imiric

2

Bạn có thể sử dụng VisualStudio Code và nó có một số plugin bổ sung nhiều chức năng của Vim cùng với nhiều tính năng. Nó là một trình soạn thảo rất tốt bên cạnh đó là mở và miễn phí và nó có các hương vị Windows, MacO và Linux.


1
Nếu bạn là một fanboy Vim khó tính, có thể bạn sẽ không tìm thấy bất kỳ plugin VS Code Vim nào thỏa mãn.

1

Nếu bạn sử dụng công nghệ truy cập như trình đọc màn hình và muốn có sức mạnh vim, bạn có thể dùng thử dự án của tôi: https://code.google.com.vn/p/phonim/ nó sử dụng tập lệnh JAWS và giao diện gVim OLE. Mặc dù hoàn toàn khả thi, nó vẫn còn nhiều điều mong muốn, nhưng ngay cả quyền truy cập hạn chế này vào sức mạnh của vim cũng đáng giá.

Để cải thiện tình hình cho gVim, tất cả những gì cần thiết là dành cho người có hiểu biết đúng đắn về việc cung cấp phụ trợ vim với giao diện người dùng hiện đại với thành phần soạn thảo có hỗ trợ UIAutomation và MSAA thích hợp.


Không có vấn đề, đã chỉnh sửa. Vâng, một chút giận dữ, nhưng bạn thấy đấy, tôi yêu vim và thực sự muốn có nhiều người được hưởng lợi từ nó :-).
Kerneels Roos

1

Vim dự định sẽ được sử dụng mà không cần GUI. Nhưng nếu bạn quan tâm đến thanh menu và thanh công cụ trong gvim trông không đúng chỗ. Bạn có thể vô hiệu hóa nó chỉ cần chèn

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

vào vimrc của bạn thì nó sẽ biến mất. về phần thưởng nếu bạn sử dụng các cửa sổ thấp hơn 10 gvim của bạn đã thay đổi kích thước tốt hơn (so với các cửa sổ mặc định cmd) và có hỗ trợ phối màu tốt hơn và trông ổn.


1

Có lẽ một cái gì đó giống như Oni là những gì bạn đang tìm kiếm. Tôi đã không sử dụng cá nhân, nhưng nó dựa trên neovim , vì vậy bạn không nên có một bộ tính năng nướng một nửa.

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.