Bagaimana saya bisa mendapatkan gVim di Windows untuk berperilaku seperti di Linux?

13

Saya sering menggunakan editor Vim di Linux dan sekarang saya ingin menggunakannya di Windows.

Saya mengunduh Vim untuk Windows, yang kebetulan adalah gVim. Beberapa fitur Vim tidak berfungsi di gVim 7.4 seperti blok visual, rxperintah, dan beberapa kombinasi tombol lainnya.

Saya ingin Vim yang sama / asli dari Linux untuk digunakan pada Windows. Apakah versi itu juga tersedia untuk Windows? Atau, bisakah saya menggunakan pengaturan yang mirip dengan format Unix?

SibiCoder
sumber
2
Coba Vim dari tuxproject.de/projects/vim/x64
muru
6
Juga, periksa _vimrcfile Anda untuk baris yang mengatakan sesuatu seperti source $VIMRUNTIME/mswin.vim. File itu memungkinkan banyak hal konfigurasi menjadi MSWindows-friendly (termasuk banyak pemetaan).
Roflo
7
Saya menggunakan gvim setiap hari di Windows, baik GUI gvim dan non-grafis vim melalui konsol cmder. Saya juga frustrasi sampai saya mematikan file konfigurasi mswin.vim dan membuat beberapa tweak lainnya. Saya hanya menghapus file _vimrc yang diinstal dengan program dan menyalin Linux .vimrc saya ke Windows, kemudian pergi dari sana.
Dan Jones
6
Komentator lain telah menyinggung ini, tetapi tidak ada yang benar-benar mengatakannya: blok visual berfungsi dengan baik di Windows Vim. Anda hanya perlu menonaktifkan ikatan kunci "Windows friendly" yang mengesampingkan ctrl-vkombinasi tombol dengan pemetaan tempel. Ada kemungkinan (kemungkinan?) Bahwa masalah Anda yang lain dengan Windows Vim berasal dari masalah yang sama, meskipun Anda tidak menyebutkan semuanya, jadi sulit untuk mengatakannya secara pasti.
Kaya
4
OOTB gvim di Windows berfungsi sama seperti di Linux (modulo standar berbeda untuk beberapa opsi). Anda harus mengonfigurasinya secara berbeda.
Antony

Jawaban:

14

Ketika saya harus bekerja pada Windows (yang lebih sering daripada yang saya inginkan), saya menggunakan Cygwin untuk mendapatkan terminal sedikit lebih jelek dari baris perintah Windows asli. Cygwin menyediakan lingkungan yang mencoba dekat dengan konsol Bash dengan perintah Linux standar, dan tentu saja itu jauh dari sempurna.

Lihat halaman proyek Cygwin. Selama instalasi, Anda akan berakhir di jendela yang memungkinkan Anda memilih paket mana yang ingin Anda instal. Bar pencarian memungkinkan untuk mencari paket untuk menginstal, antara hal-hal yang berguna lainnya (seperti git, tmux, curl, wget, dll) Anda dapat mengetik vimdan pilih paket seperti vim, vim-common, vim-doc, gvim. Ini akan menginstal editor Vim cukup dekat dengan apa yang Anda gunakan di Linux.

Setelah semuanya terinstal (yang kadang-kadang bisa sedikit lama) Anda akan dapat memulai Cygwin yang akan menampilkan terminal, dan Anda akan dapat memulai Vim seperti biasa dan menggunakan Linux .vimrcdan manajer plugin yang biasa. Kelemahan utama adalah kompatibilitas warna yang sering perlu diubah dan masih terlihat jelek.

Perhatikan bahwa saya menggunakan Cygwin karena kebiasaan, tetapi solusi lain (seperti cmder misalnya) ada. Tidak ada yang sempurna, jadi Anda mungkin ingin mencoba beberapa dan menemukan favorit Anda.

Perhatikan juga bahwa permen adalah cara yang baik untuk membuat Cygwin tidak terlalu jelek.

statox
sumber
1
Ini memiliki beberapa masalah. Itu tidak menunjukkan karakter unicode dengan benar. Beberapa karakter multi-byte disembunyikan.
SibiCoder
1
Yup itulah tepatnya saya sebutkan bahwa "Tidak satu pun dari mereka yang sempurna": sejauh ini Cygwin (dan yang setara) hanyalah solusi. Saya bukan ahli Windows tapi mungkin kerja kolaborasi baru antara Canonical dan Microsoft akan menghasilkan beberapa alternatif yang lebih baik.
statox
Saya menggunakan babun hari ini meskipun saya pikir cygwin yang mendasarinya tidak sesegar instalasi vanilla.
Rolf
Sejak Windows 10 dan terutama karena pembaruan tambahan yang telah ditambahkan ke dalamnya (curl, openssh, overflow teks yang benar, dukungan warna 24-bit) bahwa prompt DOS langsung lebih baik sekarang. Render font dalam DOS / powershell prompt biasanya yang terbaik yang pernah saya lihat untuk aplikasi terminal Windows. Plus jika Anda menginstal Git untuk Windows maka itu berisi hampir semua alat baris perintah linux yang Anda butuhkan, tambahkan C:\Program Files\Git\usr\binatau mirip dengan jalur Anda.
icc97
11

Pada Pembaruan Ulang Tahun Windows 10, Anda dapat menggunakan terminal Bash di Ubuntu untuk menjalankan subsistem Linux di mana Anda dapat menggunakan apt installapa pun yang Anda gunakan di dalam Ubuntu. Sistem file Windows Anda sudah terpasang sehingga Anda dapat menggunakan Vim di dalam shell untuk mengedit file Anda.

Chad Gilbert
sumber
2
Ingatlah bahwa Anda masih mengakses Vim melalui konsol Windows, yang sangat terbatas dengan warna dan penyorotan sintaksis. Bahkan dengan pembaruan pembuat yang seharusnya membawa 256 warna ke konsol saya belum berhasil meningkatkan penyorotan sintaksis.
icc97
@ icc97 Saya tidak ingat persis apa yang saya lakukan (saya tidak mengerti warna dan terminal dengan baik) tapi saya bisa mendapatkan warna yang terlihat baik-baik saja di vim dan memperbaiki masalah dengan teks biru-hitam yang muncul di bash pada keluaran terminal ubuntu. Sekarang agak berwarna tetapi berfungsi dengan baik. Juga dengan Xming gVim berfungsi dengan baik di Ubuntu pada Windows (Saya baru saja menguji antarmuka dan mencoba menyimpan file dll.).
Formagella
@ Formagella Saya agak sedikit rewel dengan warna saya. Saya menghabiskan waktu berjam-jam untuk mencoba warna-warna solarisasi yang bekerja dengan standar serupa Linux Vim - saya menulis beberapa dari apa yang saya lakukan dalam masalah ini . Namun GVim memiliki highlight sintaks yang cukup sempurna (dan tebal / miring) pada Windows jadi saya berhenti berjuang dan hanya menggunakannya. Mengingat Anda berada di dos prompt hanya memiliki penyorotan sintaksis OK sangat bagus dan sangat berguna untuk sesi SSH, tetapi untuk pengeditan penuh waktu saya menyerah.
icc97
1
Sekarang ada versi Mintty yang tersedia untuk bertindak sebagai terminal untuk Bash di Ubuntu pada Windows dan implementasi Solarized dirancang untuk Mintty. Saya melakukannya sekarang dan itu adalah pengalaman yang relatif tidak menyakitkan!
Amndeep7
@ Formagella Akhirnya saya dapat warna yang berfungsi di konsol Windows, butuh perbaikan di Vim . Tetapi pada Vim 8.1 + colourscheme 24-bit Anda bisa mendapatkan warna-warna indah di DOS prompt dan WSL prompt. Saya punya jawaban terpisah yang bereksperimen dengan berbagai skema warna Windows konsol dan membuat pasangan bekerja.
icc97
4

Seperti yang disebutkan oleh Roflo dan Rich dalam komentar mereka di sini dan di sini , masalah Anda karena tidak dapat menggunakan blok visual (saya tidak yakin apa rxperintahnya) adalah karena $VIM\_vimrcsumber-sumber vimrc ( ) seluruh sistem $VIMRUNTIME\mswin.vimyang mendefinisikan pemetaan gaya Windows seperti Ctrl+ vuntuk tempel, Ctrl+ cuntuk salinan, Ctrl+ xuntuk dipotong.

Cara termudah untuk menyiasatinya adalah dengan membuat _vimrcfile di direktori home Anda (Perhatikan bahwa versi Windows menggunakan vim _vimrcalih-alih .vimrc). Seperti yang Anda lihat :h vimrc, vim mencari vimrc di beberapa lokasi dan hanya menggunakan yang pertama ia temukan sementara mengabaikan sisanya. Yang ada di direktori home selalu dicari / digunakan terlebih dahulu.

Langkah minimal:

  • buka gvim atau vim
  • :e ~/_vimrc
  • :w
doubleDown
sumber
0

Pembaruan lebih lanjut yang cukup kecil tapi tidak kalah besar terjadi pada Windows 10 untuk 1803 build. Mereka menambahkan dukungan 24-bit untuk konsol (cmd / powershell prompt). Dalam Vim 8.1 ( https://www.vim.org//download.php/#pc ) mereka menambahkan dukungan untuk termguicolorsyang berarti Anda bisa mendapatkan dukungan warna 24-bit penuh di dalam konsol Vim. Baru-baru ini saya memposting jawaban agar dukungan warna berfungsi .

Tapi apa artinya adalah bahwa ada cukup banyak dukungan penuh untuk menjalankan Vim di DOS prompt - jadi Anda tidak perlu menginstal subsistem Linux atau dependensi lain di luar Vim itu sendiri untuk mendapatkan Vim murni berfungsi. Saya merasa ini masih agak lambat, tapi senang melihat perkembangannya.

masukkan deskripsi gambar di sini

Hal-hal yang berfungsi di konsol Vim (di Windows 10 build 1803+):

  • Maskapai dengan font Powerline
  • 24-bit colortheme(mis. Vim-solarized8, tender)
  • Cukup banyak plugin apa pun (mis. Plugin Tim Pope, FZF, dan Ripgrep)
  • vimdiff
  • Jendela konsol terpasang dengan benar dengan teks mengalir dengan benar - ini lebih baik ditangani daripada GVim

Hal-hal yang tidak berhasil / masalah:

  • Ini lebih lambat dari GVim
  • Huruf tebal / miring
  • Karakter UTF-8 terbatas - mis. Beberapa ikon Maskapai Penerbangan standar tidak ditampilkan
icc97
sumber