GUI yang lebih baik untuk vim?

15

Saya menikmati menggunakan vim, fitur-fiturnya yang tidak ada habisnya dan cara melakukan sesuatu (sebagian besar). Saya telah menggunakannya dan mematikan (bukan sebagai editor utama saya) selama setidaknya 7 tahun sekarang, jadi sementara saya jauh dari menjadi seorang ahli, saya umumnya tahu cara saya mengatasinya.

Sekarang, sementara saya menyukainya di command-line, saya benar-benar ingin menjadi editor utama saya di Windows dan Linux GUI. Tapi ... gvim ... mengerikan . Ini merusak begitu banyak kegunaan "aturan" pada Windows yang bahkan tidak layak untuk diperjuangkan. Bahkan Cream , dengan perubahannya dan fancy .vimrc, menghemat hari.

Jadi, pertanyaan saya adalah: apakah ada GUI vim modern untuk Windows dan Linux yang membuatnya terlihat dan berperilaku seperti kebanyakan editor GUI? Memiliki Teks Sublim, Kate, TextMate atau GUI Editra dengan fitur vim akan luar biasa. Saya menyadari keempat (serta banyak editor lainnya) memiliki plugin yang semacam merek mereka berperilaku seperti vim, tapi itu tempat dekat (setidaknya untuk Editra dan Sublime Text, tidak yakin untuk orang lain) yang vim nyata.

Vim menjadi open source, saya benar-benar tidak yakin mengapa belum ada perbaikan GUI lengkap. Apakah orang tidak menggunakan gvim?

imiric
sumber
15
Secara pribadi, saya menggunakan gVim di Windows justru karena berperilaku dengan cara yang sama seperti konsol / terminal vimdi Unix.
user1686
1
Akan bermanfaat untuk mengetahui beberapa perincian aturan kegunaan yang Anda temukan gVim salah.
RedGrittyBrick
2
OK, ini satu: memilih beberapa teks dalam mode visual dan menggulir sebenarnya mengubah pilihan. Saya mengerti ini terjadi karena kursor selalu harus tetap terlihat, dan ini membantu menggunakan perintah 'o' saat dalam mode visual, tetapi ini sangat berlawanan dengan intuisi untuk aplikasi GUI standar. Saya melihat banyak orang menggunakan gVim hanya karena berperilaku seperti Vim, tetapi mengapa tidak menggunakan konsol Vim? Menyiapkan lingkungan Linux di Windows dan / atau menggunakan terminal yang bagus seperti mintty sangat mudah dilakukan.
imiric
2
Alih-alih "menyiapkan lingkungan Linux di Windows", mengapa tidak menggunakan gVim saja? Tidak diperlukan pengaturan.
user1686
Inilah diskusi menarik lainnya tentang memiliki GUI modern untuk Vim: groups.google.com/group/vim_use/browse_thread/thread/…
imiric

Jawaban:

12

vim dirancang untuk menggunakan keyboard secara efisien, bukan untuk menggunakan mouse. dengan demikian, saya menemukan keluhan Anda tentang "gui" yang buruk sedikit canggung. jika Anda tidak suka vim atau jika Anda tidak ingin belajar bagaimana hal-hal dilakukan dalam vim, itu baik-baik saja. tetapi kemudian Anda harus menggunakan editor lain karena vim tidak cocok dengan kebutuhan Anda.

jadi, saya ragu akan ada versi gui dari vim yang sesuai dengan harapan Anda tentang seperti apa seharusnya editor "grafis" atau berperilaku.

akira
sumber
3
atau Anda hanya belajar 100% vim dan selesai dengan masalah editor sampai akhir :)
akira
3
Ada / ada / alasan untuk menggunakan gVim alih-alih Vim hanya di konsol. Dua contoh: 1) Ada kombinasi meta yang tidak dapat dilihat oleh Vim kecuali di GUI, karena keterbatasan emulator terminal dan pustaka penanganan terminal. 2) Dukungan warna yang jauh lebih luas. Selain itu, saya pikir itu sangat tidak adil untuk mengharapkan Vim tiba-tiba berperilaku seperti setiap aplikasi GUI lainnya hanya karena kebetulan memiliki GUI. Vim mungkin akan selalu harus melanggar "aturan," kegunaan atau tidak akan menjadi Vim lagi. Jika bukan itu yang Anda inginkan, saya harus mengulangi yang lain: Temukan editor yang berbeda.
Heptite
5
@imric: Ketika saya mengatakan bahwa "itu tidak akan menjadi Vim lagi," Saya benar-benar bermaksud tidak dapat lagi menjadi Vim dan "menyesuaikan" dalam mode GUI. Vim adalah vi clone yang disempurnakan, dan vi secara harfiah ada sebelum GUI ada. Ini memiliki antarmuka pengguna yang sangat unik, dan ya, yang tidak bertentangan dengan pedoman kegunaan GUI saat ini. Untuk mendapatkan (semua) yang Anda inginkan, Anda meminta editor yang benar-benar, tidak berperilaku seperti yang dimaksudkan vi / Vim berfungsi. Salah satu aturan yang dimiliki Bram Moolenar (pencipta dan pemilik hak cipta Vim) untuk Vim adalah, sebanyak mungkin, konsol dan GUI Vim harus berperilaku sama.
Heptite
3
@ imric: mengapa Anda ingin menggunakan vim sama sekali jika bukan karena "sombong dan tidak adil" ui? maksud saya, ini vim .. Anda menggunakannya karena ia melakukan pekerjaan dengan cara yang sama, sama untuk emacs. seperti yang saya katakan sudah: jika alat bertentangan dengan apa yang Anda inginkan: pengguna alat yang berbeda.
akira
2
Secara pribadi, GVim saya diatur agar terlihat persis seperti Vim saya sehingga saya tidak memiliki menu, tidak ada scrollbar, font / warna yang sama ... Satu-satunya alasan saya kadang-kadang menggunakan GVim alih-alih Vim adalah ketika saya menggunakan mouse dan roda untuk pergi longgar melalui beberapa file (ketika saya minum kopi atau bir misalnya). Itu tidak banyak terjadi, tetapi masih, kadang-kadang. Saya tidak bisa membayangkan mengapa seseorang menginginkan Vim yang tidak berperilaku seperti Vim. Lebih baik menggunakan editor lain yang telah dirancang dengan GUI dalam pikiran.
cedbeu
7

Saya setuju dengan jawaban dan komentar Akira.

Satu-satunya GUI yang ramah konvensi untuk Vim adalah MacVim yang, jelas, adalah aplikasi khusus Mac.

Saya tidak yakin itu "yang terbaik dari kedua dunia", tetapi beta terbaru dari Sublime Text 2 memiliki mode "vintage" yang sangat mengesankan yang mencakup banyak fitur Vim yang berguna (gerakan, objek teks) dan memetakan hal-hal lain ( /atau ?misalnya) ke fitur aslinya. Saya menemukan keseluruhan desainnya agak menjengkelkan jadi saya tidak melihat diri saya beralih ke sana dalam waktu dekat tapi, sekali lagi, mode vintage mengesankan.

romainl
sumber
1
Benar, MacVim tampaknya memiliki GUI Vim yang jauh lebih baik. Tapi dari apa yang saya pahami itu membutuhkan sedikit kerja untuk membuatnya terlihat mulus di OS X, dan gVim adalah monstrositas lama yang hampir tidak ada pembaruan. Saya telah mencoba mode Sublime Text's Vim, dan sementara itu mengimplementasikan banyak gerakan dan memasukkan perintah, masih gagal.
imiric
Pada MacOS X, UI yang baik dan koheren sangat penting sementara tidak ada yang peduli tentang itu di Linux dan Windows. Itu sebabnya penting bagi orang-orang di belakang MacVim dan mereka melakukan kerja keras yang diperlukan. Tapi tugas itu mungkin tidak rumit karena pedoman / tradisi / penggunaan yang ditetapkan dan bagaimana ini ditegakkan melalui alat dev resmi. Pada desktop Linux ini, aplikasi saya memiliki setidaknya 2 cara untuk nama menu utama ( "File" atau kata yang berhubungan dengan fungsi aplikasi) dan minimal 4 pintas untuk "Quit" / "Tutup Jendela" ( <C-q>, <S-C-q>, <C-w>, :q...) . Saya tahu ...
romainl
... tangan pertama itu sebagian besar sama pada windows. Saya pikir sulit untuk menghadirkan pengalaman yang dipoles DAN terintegrasi dengan baik dalam lingkungan yang berantakan tanpa semacam insentif moneter atau kepemimpinan otoriter. OK, maaf untuk kata-kata kasar, kembali ke jadwal reguler.
romainl
2

Anda bisa mendapatkan plugin untuk IDE yang memberikannya keybindings VIM. MISALNYA

Inilah IDE web yang sangat keren untuk pengembang web, termasuk git, yang memiliki mode pengikatan kunci VIM bawaan:

Kalau tidak, saya melakukan pengembangan pada mac, dan saya penggemar berat MacVim, dan saya setuju bahwa gVim sangat jelek di * nix, dan saya merasa ngeri setiap kali saya harus menjalankan vim di shell ssh di server.

Sejauh VIM menyukai editor yang bukan IDE yang terpisah, aplikasi GUI (mac only, sorry) lainnya adalah:

Thomas Hunter
sumber
Terima kasih atas saran Anda, tetapi saya memutuskan untuk tetap menggunakan Vim untuk semua kebutuhan saya yang sedang berkembang, alih-alih berjuang dengan gVim. Saya sudah membuka shell saya setiap saat, saya hanya memiliki jendela tmux lain yang menjalankan Vim, dan itu membuat pergantian editor ke shell dan kembali sangat cepat dan nyaman. Plus, tidak ada aturan kegunaan yang dilanggar di konsol. :-) Saya berpikir untuk segera beralih ke Mac, dan akan mencoba MacVim.
imiric
2

Anda dapat menggunakan Kode VisualStudio dan memiliki beberapa plugin yang menambahkan banyak fungsi Vim bersama dengan banyak barang. Ini adalah editor yang sangat bagus selain terbuka dan gratis dan memiliki rasa Windows, MacOs dan Linux.

Marco Santana
sumber
1
Jika Anda adalah fanboy Vim hard-core, Anda kemungkinan tidak akan menemukan plugin VS Code Vim yang memuaskan.
1

Jika Anda menggunakan teknologi akses seperti pembaca layar dan ingin kekuatan vim, Anda dapat mencoba proyek saya: https://code.google.com/p/phonim/ menggunakan skrip JAWS, dan antarmuka gLE OLE. Meskipun bisa diterapkan itu menyisakan banyak yang diinginkan, tetapi bahkan akses terbatas ke kekuatan vim ini bernilai sementara.

Untuk meningkatkan situasi untuk gVim, semua yang diperlukan adalah untuk seseorang yang benar tahu cara memberikan backend vim dengan front end UI modern dengan komponen editor yang memiliki dukungan UIAutomation dan MSAA yang tepat.

Kerne Roos
sumber
Tidak masalah, sudah diedit. Ya, sedikit kata-kata kasar, tapi Anda tahu, saya suka vim dan benar-benar ingin lebih banyak orang mendapat manfaat darinya :-).
Kerneels Roos
1

Vim dimaksudkan untuk digunakan tanpa GUI. Tetapi jika Anda khawatir tentang bilah menu dan bilah alat di gvim yang terlihat tidak pada tempatnya. Anda dapat menonaktifkannya cukup masukkan

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

ke vimrc Anda maka itu akan hilang. pada bonus jika Anda menggunakan windows lebih rendah dari 10 ukuran gvim Anda lebih baik (dari windows default cmd) dan memiliki dukungan skema warna yang lebih baik dan terlihat bagus.

pengguna93
sumber
1

Mungkin sesuatu seperti Oni adalah yang Anda cari. Saya pribadi tidak menggunakannya, tapi ini didasarkan pada neovim , jadi Anda seharusnya tidak mendapatkan set fitur setengah matang.

vimist
sumber