问题

在Windows下用VIM来写代码,会不会很蛋痛?

回答
哈哈,这个问题问得太好了!关于在 Windows 下用 Vim 写代码,这绝对是个值得深入探讨的话题,因为它不像表面上看起来那么简单,确实可能让人“蛋疼”,也可能让你欲罢不能。

咱们先别急着下结论,一点一点掰扯开来。

首先,理解 Vim 的“出身”和“气质”

Vim 是从 Unix/Linux 世界走出来的,它的设计哲学和很多操作习惯都深深烙印着那个环境的痕迹。它追求极致的效率,通过键盘快捷键来完成几乎所有的操作,减少鼠标的使用,这在 Unix shell 的环境里是天经地义的,效率杠杠的。

但是,Windows 的操作习惯和 Vim 的“原生”环境那是两码事。Windows 默认的很多行为,比如复制粘贴、窗口管理、文件路径等等,都和 Vim 的设计理念有冲突。

接下来,我们具体看看在 Windows 下用 Vim 可能会遇到的“蛋疼”点:

1. 复制粘贴的“次元壁”:
Vim 的寄存器 vs. 系统剪贴板: Vim 有一套自己的“寄存器”系统,用来存储你 yank (复制) 或 delete (删除) 的文本。默认情况下,Vim 的 yank/delete 操作并不会直接将文本放入 Windows 的系统剪贴板。这意味着,你在 Vim 里按 `yy` 复制了一行,结果在记事本里却粘不出来。反之亦然,你在记事本里复制的东西,也可能无法直接粘贴到 Vim 里。
解决办法(但依然有摩擦): 这不是没有办法解决。你可以通过一些配置,比如 `set clipboard=unnamedplus`,让 Vim 的默认 yank/delete 操作也使用系统剪贴板。但即使这样,有时也会遇到一些微妙的问题,比如粘贴过来的文本格式可能会丢失,或者在你想要 Vim 内部的寄存器操作和系统剪贴板操作分开的时候,会觉得有点别扭。想象一下,你正爽快地在 Vim 里用 `"+y` (粘贴到系统剪贴板) 复制代码块,然后发现 `y` 键本身复制的文本却丢失了,那感觉…

2. 终端模拟器的选择和兼容性:
CMD/PowerShell 的局限: Windows 原生的 CMD 或者 PowerShell 运行 Vim,有时候会有一些显示上的小问题,比如颜色支持不完美,或者一些特殊字符显示异常。
第三方终端的引入: 为了更好的体验,很多 Vim 用户会在 Windows 上安装像 Git Bash(自带了 MinGW 环境,可以模拟 Linux 的一些东西)、ConEmu、Cmder、Windows Terminal 这样的第三方终端模拟器。这又是一个需要折腾的环节,你需要去研究哪个更适合你,如何配置才能让 Vim 在里面跑得顺畅。
Vim 本身的窗口管理: Vim 有一套自己的分屏、窗口切换机制 (`:sp`, `:vs`, `Ctrlw w` 等)。当你习惯了这些在 Linux 终端里流畅切换,到了 Windows 终端里,如果终端模拟器本身对键盘快捷键的捕获处理不好,或者窗口切换逻辑和 Vim 有点冲突,那就会让你怀疑人生。

3. 路径问题和文件系统:
Windows 的路径分隔符: Windows 用反斜杠 `` 作为路径分隔符,而 Linux/Unix 用正斜杠 `/`。Vim 作为一个跨平台工具,通常能处理这两种情况,但有时在某些插件或脚本里,可能会因为对路径的处理方式不同而出现问题。
文件编码: Windows 默认的文件编码可能和 Vim 期望的不一致,特别是中文环境下,可能会遇到乱码问题。虽然 Vim 本身有很好的编码支持,但有时候文件是从别的地方导进来的,或者你用其他 Windows 程序保存的文件,编码就可能成为一个隐藏的坑。

4. 插件生态和配置:
跨平台插件的兼容性: Vim 的强大很大程度上依赖于其丰富的插件生态。虽然很多流行的插件都是跨平台的,但总会有一些插件,尤其是那些依赖特定系统功能的插件,在 Windows 上可能表现不佳,甚至根本无法工作。
配置文件的路径: Vim 的配置文件通常在 `~/.vimrc`,但在 Windows 上,这个路径可能变成 `_vimrc` 在用户目录,或者 `vimrc` 在 Vim 的安装目录。找到并正确配置它,也需要一点点学习。
安装和管理插件: 早期 Vim 插件管理比较麻烦,现在有了 Pathogen, Vundle, vimplug 等插件管理器,能大大简化流程。但即使如此,你仍然需要花时间去了解如何安装、更新和管理这些插件,尤其是在 Windows 上,有时会遇到一些权限或者路径错误。

5. 学习曲线本身:
Vim 的哲学: Vim 的学习曲线本身就比较陡峭。它不是一个“所见即所得”的工具,而是建立在一套命令和模式(Normal mode, Insert mode, Visual mode 等)之上的。如果你之前习惯了鼠标操作的 IDE,转到 Vim,光是适应这种操作模式就要花不少功夫。
Windows 的额外“障碍”: 在 Windows 上用 Vim,你还得额外克服上面提到的那些“原生”不兼容带来的问题,这无疑是为你的学习之路又增加了一些“关卡”。

但是,为什么还有那么多人(包括我在内)愿意在 Windows 下用 Vim 呢?

这就是 Vim 的魅力所在了,一旦你克服了那些“蛋疼”的地方,它带来的效率提升和一种“掌控感”是无与伦比的:

无与伦比的编辑效率: 当你熟练掌握了 Vim 的各种命令组合,你会发现编辑文本的速度比你用鼠标点点点要快得多,而且你甚至不需要移动你的手离开键盘。
强大的定制性: Vim 可以通过 `vimrc` 文件进行深度定制,配合插件,你可以把它打造成任何你想要的 IDE。
轻量级和快速启动: 相比很多重量级的 IDE,Vim 启动速度极快,占用资源也少,尤其是在处理大文件或者在低配机器上时,优势明显。
终端的无缝体验: 如果你经常在 Linux/macOS 环境下工作,或者喜欢在 Windows 的 Git Bash/WSL 里进行开发,Vim 的操作方式可以保持一致,省去了切换思维模式的时间。
一种“仪式感”和成就感: 征服 Vim,尤其是在一个不那么“原生”的环境下,本身就是一种乐趣和成就。那种“我能让这个老古董在 Windows 上跑得飞起”的满足感,是很多“现代”工具给不了的。

所以,到底“蛋疼”吗?

答案是:一开始可能会非常蛋疼,但如果你坚持下来,并且愿意花时间去折腾配置,那么它带来的回报是巨大的。

你可以把它想象成骑自行车:一开始学的时候,可能摔跤、会撞到东西,觉得很难受。但一旦学会了,你会发现它比步行快多了,而且是一种自由的体验。Vim 在 Windows 上的情况,可能就是学自行车的过程中,还额外得先学会怎么把车子的轮胎打好气,怎么把链条擦干净,并且还得在一条有点颠簸的路上骑。

给你的建议:

1. 从轻量级开始: 先尝试在 Windows Terminal 或者 Git Bash 里运行 Vim。
2. 解决核心问题: 优先解决复制粘贴的问题(`set clipboard=unnamedplus`),这会极大地改善你的初期体验。
3. 逐步引入插件: 不要一开始就装几十个插件。先用原生的 Vim 功能,当你觉得某个方面不够用时,再去搜索相应的插件。
4. 学习 Vim 的基本操作: 投入时间学习 Vim 的模式切换、基本的移动 (`h`, `j`, `k`, `l`)、编辑命令 (`i`, `a`, `o`, `d`, `c`, `y`, `p`) 和搜索 (`/`, `?`),这是最重要的。
5. 寻找适合你的配置: 看看别人的 Vim 配置,可以给你很多启发。很多人会分享他们的 `vimrc` 文件。

总而言之,在 Windows 下用 Vim 写代码,绝对不是一条坦途,它需要你付出额外的努力去适应和配置。但如果你能成功“驯服”它,它就能成为你强大的编码伙伴。祝你好运!

网友意见

user avatar

如何在 Windows 命令行环境下安装 Neovim

WSL 2

首先确定你的 Windows 系统是否为 WSL 2,如果不是请先 找教程 升级到 WSL 2

查看方法为在 cmd 中运行 wls -l -v

可以看到我安装的子系统为 Ubuntu-18.04,也是我推荐的系统。

后边的 VERSION 2 表示是在 WSL2 环境,成功后继续下一步。

Windows Terminal

微软应用商店 直接点击 GET 安装


安装后可以在 设置 里进行一系列美化设置,之后最重要的是安装 Nerd fonts

Nerd fonts

简单讲,Nerd fonts 就是打包了各种常见的 ‘iconic fonts’,到你常用的字体里。

这样就可以方便的在命令行下显示这些 icons 了。 很多 Neovim 插件都会用到这些图标


到这里 nerdfonts.com/font-down 找到你喜欢的字体。

比如我在 VSCode 里最常用的是 Fira Code 字体,那么我就安装这个打了 Patch 的FiraCode 字体

github.com/ryanoasis/ne

注意要下载兼容 Windows 的版本 XXXX Windows Compatible.ttf,下载后双击即可安装完成。

Terminal 中点击 设置 外观,在字体选项里,选中刚才安装的字体,保存。



安装过后,命令行里就支持显示这些小图标了,为了测试是否成功,可以到这个网址可以复制小图标

nerdfonts.com/cheat-she

粘贴到命令行里。

看到我的 githubtwitter 小图标了吗,这样就是成功了。

安装 Neovim

由于我的环境的 Ubuntu-18.04 ,所以要用 apt 安装 Neovim,具体方法如下:

       sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install neovim     

如果报错找不到 add-apt-repository 命令,需要先安装下边的包

       sudo apt-get install software-properties-common     

安装成功后,运行 nvim 即可打开,注意确认 nvim 版本必须为 0.5 以上,如果版本过低,说明没有成功添加 ppa:neovim-ppa/stable

需要重新安装,当然你也可以选择安装 unstable 版本

sudo add-apt-repository ppa:neovim-ppa/unstable

安装后可选步骤,替换默认的vim nvim ~/.bashrc

       alias vim='nvim' alias vi='nvim' alias v='nvim'     

目前安装完成,但 vim 的默认配置不尽人意,下一篇介绍基础配置。

本文是 《学习 Neovim 全配置, 逃离 VSCode》 系列的第一篇,下方链接回首页目录

欢迎去本人 Github上订阅


类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有