Làm cách nào tôi có thể khiến gVim trên Windows hoạt động như trên Linux?


13

Tôi là người dùng thường xuyên của trình soạn thảo Vim trên Linux và bây giờ tôi muốn sử dụng nó trên Windows.

Tôi đã tải xuống Vim cho Windows, tình cờ là gVim. Một số tính năng của Vim không hoạt động trong gVim 7.4 như khối trực quan, rxlệnh và một số tổ hợp phím khác.

Tôi muốn Vim tương tự / nguyên bản từ Linux sẽ được sử dụng trên Windows. Phiên bản đó có sẵn cho Windows không? Hoặc, tôi có thể sử dụng các cài đặt tương tự định dạng Unix không?


2
Hãy thử Vim từ tuxproject.de/projects/vim/x64
muru

6
Ngoài ra, kiểm tra _vimrctập tin của bạn cho một dòng nói như thế nào source $VIMRUNTIME/mswin.vim. Tệp đó cho phép nhiều công cụ cấu hình thân thiện với MSWindows (bao gồm nhiều ánh xạ).
Roflo

7
Tôi sử dụng gvim hàng ngày trên Windows, cả gvim GUI và vim phi đồ họa thông qua bảng điều khiển cmder. Tôi cũng đã nản lòng cho đến khi tôi tắt tập tin cấu hình mswin.vim và thực hiện một vài điều chỉnh khác. Tôi chỉ đơn giản là xóa tệp _vimrc đã được cài đặt cùng với chương trình và sao chép Linux .vimrc của tôi sang Windows, sau đó đi từ đó.
Dan Jones

6
Những người bình luận khác đã ám chỉ điều này, nhưng thực tế không ai nói điều đó hoàn toàn: khối hình ảnh hoạt động tốt trong Windows Vim. Bạn chỉ cần vô hiệu hóa các ràng buộc khóa "thân thiện với Windows" ghi đè lên tổ hợp ctrl-vphím bằng ánh xạ dán. Có thể (rất có thể?) Rằng các vấn đề khác của bạn với Windows Vim xuất phát từ cùng một vấn đề, mặc dù bạn không đề cập đến tất cả những gì chúng rất khó nói.
Giàu

4
OOTB gvim trên Windows hoạt động giống như trên Linux (mặc định modulo khác nhau cho một vài tùy chọn). Bạn phải có cấu hình khác nhau.
Antony

Câu trả lời:


14

Khi tôi phải làm việc trên Windows (thường xuyên hơn tôi muốn), tôi sử dụng Cygwin để có được một thiết bị đầu cuối ít tệ hơn một chút so với dòng lệnh Windows gốc. Cygwin cung cấp một môi trường cố gắng gần với bảng điều khiển Bash với các lệnh Linux tiêu chuẩn, và tất nhiên nó còn lâu mới hoàn hảo.

Xem trang dự án của Cygwin. Trong quá trình cài đặt, bạn sẽ kết thúc trên một cửa sổ cho phép bạn chọn gói nào bạn muốn cài đặt. Thanh tìm kiếm cho phép tìm kiếm các gói cài đặt, trong số những công cụ hữu ích khác (như git, tmux, curl, wget, vv), bạn có thể gõ vimvà chọn gói như vim, vim-common, vim-doc, gvim. Điều này sẽ cài đặt trình soạn thảo Vim khá gần với những gì bạn đã sử dụng trên Linux.

Khi mọi thứ đã được cài đặt (đôi khi có thể hơi lâu), bạn sẽ có thể khởi động Cygwin sẽ hiển thị một thiết bị đầu cuối và bạn sẽ có thể khởi động Vim như bình thường và sử dụng Linux .vimrcvà trình quản lý plugin thông thường của bạn. Hạn chế chính là khả năng tương thích của màu sắc thường cần phải được điều chỉnh và trông vẫn rất tệ.

Lưu ý rằng tôi sử dụng Cygwin theo thói quen, nhưng các giải pháp khác ( ví dụ như cmder ) tồn tại. Không ai trong số họ là hoàn hảo, vì vậy bạn có thể muốn thử một vài và tìm thấy yêu thích của bạn.

Cũng lưu ý rằng bạc là một cách tốt để làm cho Cygwin bớt một chút nhảm nhí.


1
Nó có một số vấn đề. Nó không hiển thị các ký tự unicode đúng cách. Một số ký tự nhiều byte bị ẩn.
SibiCoder

1
Yup chính xác là lý do tại sao tôi chỉ định rằng "Không ai trong số họ là hoàn hảo": cho đến nay Cygwin (và tương đương) chỉ là cách giải quyết. Tôi không phải là chuyên gia Windows nhưng có lẽ công việc hợp tác mới giữa Canonical và Microsoft sẽ dẫn đến một số lựa chọn thay thế tốt hơn.
statox

Tôi đang sử dụng babun những ngày này mặc dù tôi nghĩ rằng cygwin cơ bản không mới như cài đặt vanilla.
Rolf

Vì Windows 10 và đặc biệt là các bản cập nhật bổ sung mà họ đã thêm vào nó (curl, openssh, tràn văn bản chính xác, hỗ trợ màu 24 bit) mà giờ đây, dấu nhắc DOS tốt hơn. Hiển thị phông chữ trong lời nhắc của DOS / powershell thường là tốt nhất mà tôi từng thấy cho các ứng dụng đầu cuối của Windows. Ngoài ra, nếu bạn cài đặt Git cho Windows thì nó chứa hầu hết tất cả các công cụ dòng lệnh linux mà bạn cần, thêm C:\Program Files\Git\usr\binhoặc tương tự với đường dẫn của bạn.
icc97

11

Kể từ Windows 10 Anniversary Update, bạn có thể sử dụng thiết bị đầu cuối Bash trên Ubuntu để chạy hệ thống con Linux, nơi bạn có thể apt installsử dụng bất cứ thứ gì bạn sử dụng bên trong Ubuntu. Hệ thống tệp Windows của bạn được gắn kết để bạn có thể sử dụng Vim bên trong trình bao để chỉnh sửa các tệp của mình.


2
Nghĩ rằng bạn vẫn đang truy cập Vim thông qua bảng điều khiển Windows, vốn rất hạn chế với màu sắc và cú pháp tô sáng. Ngay cả với bản cập nhật của người tạo được cho là mang 256 màu vào bảng điều khiển, tôi vẫn không thể cải thiện cú pháp tô sáng.
icc97

@ icc97 Tôi không nhớ chính xác những gì tôi đã làm (Tôi không hiểu rõ về màu sắc và thiết bị đầu cuối) nhưng tôi có thể có được màu sắc đẹp trên vim và khắc phục sự cố với văn bản màu xanh đen xuất hiện trong bash trên đầu ra thiết bị đầu cuối Ubuntu. Bây giờ nó có một chút màu sắc nhưng nó hoạt động tốt. Ngoài ra với Xming gVim hoạt động tốt trong Ubuntu trên Windows (Tôi vừa kiểm tra giao diện và thử lưu tệp, v.v.).
Formagella

@Formagella Tôi là một chút của nitpicker với màu sắc của tôi. Tôi đã dành hàng giờ cố gắng để làm cho các màu mặt trời hoạt động theo một tiêu chuẩn tương tự của Linux Vim - tôi đã viết lên một số điều tôi đã làm trong vấn đề này . Tuy nhiên, GVim có tô sáng cú pháp khá hoàn hảo (và in đậm / in nghiêng) trong Windows nên tôi đã ngừng vật lộn và chỉ sử dụng nó. Cho rằng bạn đang ở trong dấu nhắc dos chỉ cần làm nổi bật cú pháp OK là rất tốt và nó rất hữu ích cho các phiên SSH, nhưng để chỉnh sửa toàn thời gian tôi đã từ bỏ.
icc97

1
Giờ đây đã có phiên bản Mintty hoạt động như thiết bị đầu cuối cho Bash trên Ubuntu trên Windows và triển khai Solarized được thiết kế cho Mintty. Tôi đã làm điều đó ngay bây giờ và đó là một kinh nghiệm tương đối không đau!
Amndeep7

@Formagella Cuối cùng tôi đã có màu sắc hoạt động chính xác trong bảng điều khiển Windows, nó đã được sửa trong Vim . Nhưng kể từ Vim 8.1 + một colourscheme 24 bit, bạn có thể có được màu sắc đáng yêu trong dấu nhắc DOS và dấu nhắc WSL đơn giản. Tôi có một câu trả lời riêng rằng các thử nghiệm với các bảng điều khiển Windows khác nhau và có một vài hoạt động.
icc97

4

Như Roflo và Rich đã đề cập trong bình luận của họ ở đâyđây , vấn đề của bạn là không thể sử dụng khối trực quan (tôi không chắc rxlệnh đó là gì ) vì các $VIM\_vimrcnguồn vimrc ( ) trên toàn hệ thống $VIMRUNTIME\mswin.vimxác định ánh xạ kiểu Windows như Ctrl+ vcho dán, Ctrl+ cđể sao chép, Ctrl+ xđể cắt.

Cách dễ nhất để khắc phục điều này là tạo một _vimrctệp trong thư mục chính của bạn (Lưu ý rằng phiên bản Windows của vim sử dụng _vimrcthay vì .vimrc). Như bạn có thể thấy :h vimrc, vim tìm vimrc ở một số vị trí và chỉ sử dụng vị trí đầu tiên mà nó tìm thấy trong khi bỏ qua phần còn lại. Một trong thư mục nhà luôn được tìm kiếm / sử dụng đầu tiên.

Các bước tối thiểu:

  • mở gvim hoặc vim
  • :e ~/_vimrc
  • :w

0

Một bản cập nhật khá nhỏ nhưng không kém phần quan trọng đã xảy ra với Windows 10 cho bản dựng 1803. Họ đã thêm hỗ trợ 24 bit cho bàn điều khiển (dấu nhắc cmd / powershell). Trong Vim 8.1 ( https://www.vim.org//download.php/#pc ) họ thêm hỗ trợ cho termguicolorscó nghĩa là bạn có thể nhận được 24-bit màu hỗ trợ đầy đủ bên trong Vim console. Gần đây tôi đã đăng một câu trả lời về việc hỗ trợ màu làm việc .

Nhưng điều đó có nghĩa là có khá nhiều hỗ trợ đầy đủ để chạy Vim trong dấu nhắc DOS - vì vậy bạn không cần phải cài đặt bất kỳ hệ thống con Linux nào hoặc bất kỳ phụ thuộc nào khác ngoài chính Vim để Vim hoạt động thuần túy. Tôi thấy nó vẫn còn hơi chậm, nhưng thật tuyệt khi thấy sự tiến bộ.

nhập mô tả hình ảnh ở đây

Những thứ hoạt động trong bảng điều khiển Vim (trong Windows 10 build 1803+):

  • Hãng hàng không có phông chữ Powerline
  • 24-bit colortheme(ví dụ vim-solarized8, đấu thầu)
  • Khá nhiều plugin (ví dụ: bất kỳ plugin Tim Pope, FZF và Ripgrep)
  • vimdiff
  • Cửa sổ giao diện điều khiển khớp với văn bản chảy chính xác - điều này được xử lý tốt hơn GVim

Những điều không hoạt động / vấn đề:

  • Nó chậm hơn GVim
  • Phông chữ in đậm / in nghiêng
  • Các ký tự UTF-8 bị giới hạn - ví dụ: một số biểu tượng Hàng không mặc định không hiển thị
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.