如何在Windows上使gVim像在Linux上一样?


13

我是Linux上Vim编辑器的经常用户,现在我想在Windows上使用它。

我下载了Windows的Vim,恰好是gVim。Vim的rx某些功能在gVim 7.4中不起作用,例如可视块,命令和其他几种组合键。

我想在Windows上使用Linux上的相同/原始Vim。该版本也可用于Windows吗?或者,我可以使用类似于Unix格式的设置吗?



7
另外,检查_vimrc文件中是否有类似的行source $VIMRUNTIME/mswin.vim。该文件使许多配置文件对MSWindows友好(包括许多映射)。
罗夫洛

7
我每天在Windows上使用gvim,通过cmder控制台使用gvim GUI和非图形vim。在关闭mswin.vim配置文件并进行其他一些调整之前,我也感到沮丧。我只是删除了该程序安装的_vimrc文件,然后将Linux .vimrc复制到Windows,然后从那里进行了复制。
丹·琼斯

6
其他评论者都提到了这一点,但实际上没有人直言不讳:在Windows Vim中,可视块效果很好。您只需要禁用通过ctrl-v粘贴映射覆盖键组合的“ Windows友好”键绑定。Windows Vim的其他问题也有可能(可能是)源自同一问题,尽管您没有提及它们的全部含义,所以很难确定。
Rich

4
Windows上的OOTB gvim与Linux上的工作原理相同(一些选项的模式缺省不同)。您必须对其进行不同的配置。
2013年

Answers:


14

当我必须在Windows上工作时(这比我想要的更多),我使用Cygwin来使终端比原来的Windows命令行少一些。Cygwin提供了一个环境,该环境试图通过标准Linux命令接近Bash控制台,当然,它绝不是完美无缺的。

请参见Cygwin 的项目页面。在安装过程中,您将在一个窗口中结束,您可以在其中选择要安装的软件包。搜索栏,可以查找要安装的软件包,以及其他有用的东西(如gittmuxcurlwget等),你可以输入vim和选择喜欢的包vimvim-commonvim-docgvim。这将安装一个Vim编辑器,与您在Linux上所使用的非常接近。

安装完所有内容后(有时可能会有点长),您将能够启动Cygwin,该终端将显示一个终端,您将能够照常启动Vim并使用Linux .vimrc和常规的插件管理器。主要缺点是颜色的兼容性,通常需要对其进行调整,但看起来仍然cr脚。

请注意,我出于习惯使用Cygwin,但是存在其他解决方案(例如cmder)。它们都不是完美无缺的,因此您可能想尝试几种方法并找到自己喜欢的方法。

还要注意薄荷味是使Cygwin少一点烂酱的好方法。


1
它有几个问题。它不能正确显示unicode字符。一些多字节字符被隐藏。
SibiCoder

1
是的,这就是为什么我指定“它们都不是完美无瑕的”的原因:到目前为止,Cygwin(及其等效产品)只是解决方法。我不是Windows专家,但Canonical和Microsoft之间的新合作也许会带来一些更好的选择。
statox

这些天,我正在使用babun,尽管我认为基本的Cygwin并不像香草安装一样新鲜。
罗尔夫(Rolf)

自Windows 10以来,尤其是自从它们添加到它的额外更新(curl,openssh,正确的文本溢出,24位颜色支持)以来,直接的DOS提示符现在更好了。DOS / powershell提示中的字体渲染通常是Windows终端应用程序中见过的最好的字体。另外,如果您安装了Windows版Git,那么它几乎包含了您需要,添加C:\Program Files\Git\usr\bin或类似于您的路径的所有Linux命令行工具。
icc97

11

从Windows 10周年更新开始,您可以在Ubuntu终端上使用Bash来运行Linux子系统,在其中您可以apt install使用Ubuntu内的任何常用软件。Windows文件系统已安装,因此您可以在外壳内使用Vim编辑文件。


2
切记,您仍然可以通过Windows控制台访问Vim,这在颜色和语法突出显示方面非常有限。即使使用了创作者更新程序(该更新程序应该为控制台带来256种颜色),我也没有设法改善语法突出显示。
icc97

@ icc97我不完全记得我所做的事情(我不太了解颜色和终端),但是我能够在vim上获得看起来不错的颜色,并使用出现在屏幕上的蓝底黑字解决了该问题。 ubuntu终端输出上的bash。现在有点彩色,但效果很好。同样使用Xming,gVim可以在Windows的Ubuntu上正常工作(我刚刚测试了界面并尝试保存文件等)。
Formagella

@Formagella我的色彩有点挑剔。我花了几个小时试图使日晒色工作于类似Linux Vim的标准-我写下了本期的内容。但是,GVim在Windows中具有非常完美的语法突出显示(粗体/斜体),因此我停止了使用它的苦苦挣扎。鉴于您在dos提示符下,只需突出显示OK语法就可以了,这对于SSH会话非常有用,但是对于全职编辑,我放弃了。
icc97

1
现在有一个版本Mintty的可充当终端猛砸在Ubuntu在Windows和Solarized的实现设计Mintty。我是刚刚做的,这是一个相对轻松的经历!
Amndeep7 '11

@Formagella我终于在Windows控制台中正常使用了颜色,并在Vim中进行了修复。但是从Vim 8.1 + 24位颜色方案开始,您可以在普通的DOS提示符和WSL提示符下获得漂亮的颜色。我有一个单独的答案,尝试了各种Windows控制台colorschemes并进行了一些工作。
icc97 '18 -10-12

4

作为Roflo和Rich在他们的评论中提及了这里,并在这里,有暂时无法使用的视觉块(我不知道你的问题rx命令)是因为系统范围的vimrc( $VIM\_vimrc)来源$VIMRUNTIME\mswin.vim定义类似Windows的风格映射Ctrl+ v为粘贴,Ctrl+ c用于复制,Ctrl+ x用于剪切。

解决此问题的最简单方法是_vimrc在主目录中创建文件(请注意,Windows版本的vim使用_vimrc而不是.vimrc)。如您所见:h vimrc,vim在多个位置查找vimrc,只使用它找到的第一个,而忽略其余位置。总是首先搜索/使用主目录中的一个。

最少的步骤:

  • 打开gvim或vim
  • :e ~/_vimrc
  • :w

0

Windows 10的1803版本发生了另一个相当小但不少的重大更新。他们增加了对控制台的24位支持(cmd / powershell提示)。在Vim 8.1(https://www.vim.org//download.php/#pc)中,他们添加了对它的支持termguicolors这意味着您可以在Vim控制台中获得完整的24位颜色支持。我最近发布了使色彩支持正常工作答案

但是,这意味着在DOS提示符下完全支持运行Vim-因此,您无需安装任何Linux子系统或Vim以外的任何其他依赖项即可使Vim正常工作。我发现进度仍然有些慢,但是很高兴看到进度。

在此处输入图片说明

在Vim控制台(在Windows 10 build 1803+中)中可以运行的东西:

  • 航空公司与电力线字体
  • 24位colortheme(例如,vim-solarized8,投标)
  • 几乎任何插件(例如,任何Tim Pope插件,FZF和Ripgrep)
  • vimdiff
  • 控制台窗口会与文本正确正确地对齐,这比GVim更好

无效的事情/问题:

  • 比GVim慢
  • 粗体/斜体字体
  • UTF-8字符是有限制的-例如,某些默认航空公司图标不会显示
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.