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

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

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

评论

从tuxproject.de/projects/vim/x64中尝试Vim

另外,检查您的_vimrc文件是否显示类似于源$ VIMRUNTIME / mswin.vim的行。该文件使许多配置文件对MSWindows友好(包括许多映射)。

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

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

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

#1 楼

当我必须在Windows上工作时(这比我想要的更多),我使用Cygwin来使终端比原来的Windows命令行更糟糕。 Cygwin提供了一个环境,该环境试图通过标准Linux命令接近Bash控制台,当然,它绝不是完美无缺的。在安装过程中,您将在一个窗口中结束,您可以在其中选择要安装的软件包。搜索栏允许查找要安装的软件包,以及其他有用的东西(例如gittmuxcurlwget等),您可以键入vim并选择vimvim-commonvim-docgvim等软件包。这将安装一个Vim编辑器,非常接近您在Linux上使用的编辑器。

一旦安装了所有内容(有时可能会有点长),您就可以启动Cygwin,它将显示一个终端,您将能够照常启动Vim并使用Linux .vimrc和通常的插件管理器。主要缺点是颜色的兼容性,通常需要对其进行调整,但仍显得笨拙。

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

还请注意,薄荷味是使Cygwin少一点点app脚的好方法。

评论


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

– SibiCoder
16年5月22日在14:13

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

–statox♦
16年5月22日在14:34

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

–罗夫
17年9月1日在7:40



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

–icc97
18-10-12在8:23

#2 楼

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

评论


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

–icc97
17年8月31日在17:01

@ icc97我不记得我到底做了什么(我不太了解颜色和终端),但是我能够在vim上获得看起来不错的颜色,并用出现在ubuntu终端输出上的bash。现在有点彩色,但效果很好。同样使用Xming,gVim可以在Windows的Ubuntu上正常工作(我刚刚测试了界面并尝试保存文件等)。

– Formagella
17年9月13日在13:25



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

–icc97
17年9月13日在13:36



现在有一个Mintty版本可以用作Windows上Ubuntu上Bash的终端,以及为Mintty设计的Solarized实现。我是刚刚做的,这是一个相对轻松的经历!

–Amndeep7
17年11月15日在6:06

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

–icc97
18-10-12在8:28

#3 楼

正如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


#4 楼

Windows 10的1803版本发生了进一步的相当小但同样重要的重大更新。他们增加了对控制台的24位支持(cmd / powershell提示)。在Vim 8.1(https://www.vim.org//download.php/#pc)中,他们添加了对termguicolors的支持,这意味着您可以在Vim控制台中获得完整的24位颜色支持。我最近发布了使颜色支持正常工作的答案。子系统或Vim本身以外的任何其他依赖项,以使Vim正常工作。我发现它仍然有些慢,但是很高兴看到进度。



在Vim控制台(在Windows 10 build 1803+中)中有效的东西:


具有Powerline字体的航空公司
24位colortheme(例如vim-solarized8,tender)
几乎所有插件(例如,任何Tim Pope插件,FZF和Ripgrep)
vimdiff
控制台窗口可以正确捕捉,文本正确流动-比GVim更好的处理方法
它比GVim慢
粗体/斜体字体
UTF-8字符是有限的-例如一些默认的航空公司图标不显示