开发工具桌面应用【免费下载链接】macvimVim - the text editor - for macOS项目地址https://gitcode.com/gh_mirrors/ma/macvim点击查看免费下载VimVi IMproved是 UNIX 经典编辑器 Vi 的全面改进版本本仓库根目录下的 README_vim.md 正是来自 Vim 上游项目的原始说明文档由 Vim 之父 Bram Moolenaar 维护。本文以该文档为骨架结合本仓库的源码src/version.h、src/INSTALL与官方参考手册runtime/doc/vi_diff.txt、runtime/doc/help.txt、runtime/doc/uganda.txt深度展开帮助你完整理解 Vim 的定位、核心能力、编译安装流程、文档体系与许可机制并厘清它与上游 Vi、与本仓库 macOS 前端 MacVim 之间的关系。说明本仓库是 MacVim 项目即 Vim 的 macOS 下游分支。项目自身 README.md 明确指出MacVim is a downstream fork of Vim... The original Vim README can be found at README_vim.md因此 Vim 上游官方 README 被原样保留在仓库中作为理解整个编辑器内核的权威入口。Vim 是什么Vi 之上的一整套改进Vim 是经典 UNIX 编辑器 Vi 的大幅改进版本新增了大量特性多级撤销multi-level undo、语法高亮syntax highlighting、命令行历史、在线帮助、拼写检查、文件名补全、块操作、脚本语言等同时还提供了图形用户界面GUI。即便如此Vim 始终保持与 Vi 的兼容性——那些把 Vi 练进了手指 的老用户不会感到陌生。两个关键定位值得注意面向纯文本与程序编辑所有命令都使用普通键盘字符输入熟练的十指打字者可以工作得飞快用户还可以把功能键映射为命令也可以使用鼠标。POSIX 兼容的 vi 实现当以最小特性集编译时通常称为vim.tinyVim 提供一个大部分POSIX 兼容的 vi 实现许多 Linux 发行版正是用它作为默认的 vi 编辑器。这一点在 runtime/doc/vi_diff.txt 的 POSIX compliance 章节中有更细致的说明。从源码可确认当前仓库对应的版本VIM_VERSION_MAJOR 9、VIM_VERSION_MINOR 2、VIM_VERSION_BUILD 286即Vim 9.2build 286发布于 2026 年 2 月 14 日见 src/version.h。这也是 README 末尾This is README.md for version 9.2 of Vim: Vi IMproved所声明的版本。若想了解 Vim 9 引入的全新脚本语法体系可阅读 README_VIM9.md——其中展示了 Vim9 script 通过编译为指令序列带来的性能提升简单循环从旧脚本的约 5 秒降至约 0.07 秒。核心能力全景Vim 在 Vi 之上新增了什么runtime/doc/vi_diff.txt 第 4 节 The most interesting additions 系统列出了 Vim 相对 Vi 最有价值的增强。以下按主题归纳为一张速查表能力说明关键命令/选项Vi 兼容模式默认行为与真正的 Vi尽量一致可显式关闭:set nocompatible、vim -N、cpoptions多级持久撤销可沿时间轴前进/后退支持撤销树分支u、CTRL-R、undolevels默认 1000、undofile图形用户界面菜单、鼠标、滚动条可自定义菜单:menu、:help gui多窗口与缓冲区分屏、隐藏缓冲区、标签页:split、:tabnew、:hidden终端窗口内嵌终端模拟器可运行命令/shell/调试器:terminal语法高亮数百种语言文件类型可导出 HTML:syntax、:colorscheme、:highlight文本属性插件可高亮任意文本区间prop_type_add()、prop_add()拼写检查约 50 种语言源码中只检查注释与字符串spell、spelllang折叠将行区间折叠为一行:fold、zf、foldmethodDiff 模式高亮两版本差异并互相移动文本vimdiff、:diffthis插件与包放置插件文件即可扩展功能:add-plugin、:packadd异步通信与定时器后台进程消息交换、启动 job、定时触发channel、job、timer宏录制录制键入序列到寄存器并回放q{c}、{c}可视化模式先选中文本再施加操作v、V、CTRL-V、d/c/y//等帮助系统窗口内查看帮助标签可超链接跳转:help、F1、helpfile命令行编辑/历史/补全光标键编辑、历史记录、Tab 补全history、wildchar、CTRL-N/CTRL-P插入模式补全补全关键字、文件名、字典词、整行等CTRL-N、CTRL-X ...扩展搜索模式支持\n、x\{2,4}、\s等:help pattern目录/远程/压缩包浏览编辑目录、ftp/http/ssh 远程文件、zip/tarnetrw、:e dir/快速编译循环运行编译并跳转首个错误:make、:cn、:cl、errorformat跨文件搜索用 Vim 正则搜索多个文件:vimgrep智能缩进C 语法识别、注释自动格式化cindent、cinoptions、自动命令按文件名/事件自动执行命令autocmd脚本与表达式强大的脚本语言支持调试与性能分析:if、:for、:let、:tryviminfo持久保存命令行历史、标记、寄存器viminfo、0打印输出含语法高亮的文本:hardcopy二进制编辑不损坏二进制文件地编辑vim -b、binary多语言支持UTF-8、双字节/多字节编码文件:help multi-langVi 中不存在可视化模式其 visual 一词指的是 Normal 模式因此上述表格中凡标有{not in Vi}语义的能力均为 Vim 新增。详细的逐项对比含 Vi 行为与 Vim 行为的差异注释可查阅 runtime/doc/vi_diff.txt。与 Vi 的兼容性细节缺失选项、极限值与 Vi 特性Vi 有而 Vim 没有的选项runtime/doc/vi_diff.txt 第 2 节列出了 Unix Vi 中存在、但 Vim 中未实现的选项。尝试:set它们不会报错但取值不会被使用也无法显示典型包括autoprint(ap)、beautify(bf)、flash(fl)、graphic(gr)、hardtabs(ht)、mesg、novice、open、optimize(op)、redraw、slowopen(slow)、sourceany、w300/w1200/w9600。Vim 的极限值LimitsVim 对可编辑文件几乎不设障碍关键上限如下最大行长度2147483647 字符更长行会被拆分最大行数2147483647 行最大文件大小32 位长整型下为 2147483647 字节约 2 GB64 位下大得多同时还受交换文件可用磁盘空间限制文件路径长度Unix 与 Win32 为 1024 字符其他系统 256 字符映射左端lhs最大 50 字符高亮类型数量上限超过 30000。内存使用可用maxmem单个缓冲区与maxmemtot所有缓冲区控制单位为 KB它们并非硬限制而是指示 Vim 何时将文本移入交换文件。若不想使用交换文件可将updatecount设为 0或启动时加-n参数。受支持的 Vi 特性Vi 原有的 Ex 命令、Normal 模式命令h/j/k/l、w/e/b、f/t、d/x/y/p、~等、插入模式命令CTRL-D、CTRL-T、CTRL-V、CTRL-W等以及大量选项autoindent、shiftwidth、tabstop、tags、wrapscan等在 Vim 中全部保留完整清单见 runtime/doc/vi_diff.txt 第 6 节。总体而言当compatible选项被设置、且cpoptions包含全部标志时Vim 的行为与 Vi 几乎一致去掉相应标志即可逐项切换到 Vim 的改进行为。命令行参数Vim 相对各家 Vi 变体的独有扩展runtime/doc/vi_diff.txt 第 7 节对比了 Elvis、Nvi、POSIX、Vi、Vile 与 Vim 的命令行参数。一个显著差异是只有 Vim 允许在文件名之间与之后放置选项。下表精选日常最常用的 Vim 参数参数含义vim file1 file2打开多个文件-c {command}加载缓冲区后执行 Ex 命令最多 10 个-c{command}等价于-c {command}-从 stdin 读取文件批处理模式用-s--结束选项解析其后均为文件名--cmd {command}在读取 vimrc 之前执行命令-u {vimrc}从指定文件读取初始化配置-U {gvimrc}读取 GUI 初始化配置-b二进制模式设置binary-C/-N兼容模式 / 非兼容模式-d以 diff 模式启动vimdiff-e/-EEx 模式 / 改进 Ex 模式gQ-g启动 GUI-m/-M禁止写入修改 / 禁止修改-n不使用交换文件-o[N]/-O[N]/-p[N]为每个文件打开 N 个水平/垂直窗口、标签页-R设置readonly只读模式-r恢复模式配合交换文件恢复中断的编辑-S {script}启动后 source 脚本-s {scriptin}从脚本文件读取键入仅非 Ex 模式-t {tag}编辑包含 {tag} 的文件-vNormal 模式启动即 Vi 意义上的 visual 模式-V{nr}指定级别的详细模式-w {name}/-W {name}将键入写入/追加到脚本文件-x请求加密密钥-y简易模式evim-Z受限模式--remote*/--servername客户端-服务器远程编辑在 POSIX 合规方面2005 年官方曾用 POSIX 测试套件验证 Vim绝大多数用例通过。设置环境变量$VIM_POSIX可使 Vim 启动时在cpoptions中加入 POSIX 标志从而尽可能以 POSIX 方式运行。少数与 POSIX 规格不一致的行为如$COLUMNS/$LINES的处理、{/}是否停在大括号处等均可用cpoptions的对应标志修正详见 runtime/doc/vi_diff.txt 第 8 节。分发与获取你可以通过自己偏好的包管理器安装 Vim。macOS 与 Linux 上通常预装了小型版 Vim但若要获得更完整的功能仍需要自行安装。直接检出上游 git 仓库或下载源码归档Windows 用户可获取官方构建的 Windows 可执行程序README 同时建议查阅 Vim 官网的下载页了解当前可用的发行版全景。值得留意的是本仓库MacVim本身也是一种Vim 分发项目 README.md 说明通过 Homebrew 既可以brew install macvim安装带 GUI 的版本也可以brew install --cask macvim-app安装与 GitHub Release 相同的预编译二进制终端内通过mvim命令启动。这与 Vim 上游无 GUI 的 macOS 终端版本形成互补。编译 Vim从源码构建如果你拿到的是二进制发行版则无需编译若是源码发行版所有编译相关材料都在 src 目录中详细指引见 src/INSTALL。以 Unix 为例src/INSTALL 给出的最简步骤是make # 运行 configure、编译并链接 make install # 安装到 /usr/local要点若系统装有 GUI 与 X11 库默认构建会包含它们不想要时可参考Makefile中的说明关闭 GUI 与 X11以获得启动更快的精简版本若缺少这些库相关特性会自动禁用。对无法通过其他方式开关的特性可直接编辑src/feature.h按需调整。从零构建以 Ubuntu 为例先安装git、make、clang、libtool-bin等工具再 clone 源码执行make。更细致的 Unix 步骤与各平台Amiga、Macintosh、Windows、VMS、z/OS、Haiku 等构建指南分别见 src/INSTALL 中列出的INSTALL*.txt文件。安装各平台的系统专属说明Vim 为不同系统提供了专属安装文档存放在 READMEdir 目录中解压归档后在顶层目录同样可见README_ami.txtAmigaREADME_unix.txtUnixREADME_dos.txtMS-DOS 与 MS-WindowsREADME_mac.txtMacintoshREADME_haiku.txtHaikuREADME_vms.txtVMS不同发行版还可能附带其他README_*.txt文件。支持的操作系统状态表哪些fully supported、哪些已停止支持见 runtime/doc/vi_diff.txt 第 9 节Linux 与 MS-Windows 7/8/10/11 为完全支持macOS 支持至 v10.6而 MS-DOS、OS/2、BeOS、Atari MiNT、RISC OS、NeXTSTEP 等已陆续停止支持。文档体系从 vimtutor 到 :helpVim 的文档分为两条路径Vim tutor面向初学者的约一小时交互式课程通常以vimtutor命令启动详情见:help tutor。内置帮助启动 Vim 后直接使用:help尚未安装可执行文件时可先阅读 runtime/doc/help.txt它是指向全部其他帮助文件的索引。用户手册User Manual像一本书一样循序渐进推荐通过:help user-manual学习。runtime/doc/help.txt 给出了:help的高效用法给:help传参并加上下文前缀即可直达目标例如要查的内容前缀示例Normal 模式命令无:help xVisual 模式命令v_:help v_uInsert 模式命令i_:help i_Esc命令行命令::help :quit命令行编辑c_:help c_DelVim 命令参数-:help -r选项:help textwidth正则表达式/:help /[此外输入:help word后按CTRL-D可列出匹配的帮助条目或使用:helpgrep word全文检索。帮助窗口内把光标放在标签如|bars|上按CTRL-]即可像超链接一样跳转CTRL-O跳回。整套在线帮助的入口与结构详见 runtime/doc/help.txt。许可与 CharitywareVim License 要点Vim 是Charityware你可以随意使用和复制但被鼓励向乌干达的贫困儿童捐款。完整条款见 runtime/doc/uganda.txt在 Vim 内执行:help uganda要点如下未修改副本分发不受任何限制但必须包含许可文本Vim 的未修改部分、以及用未修改源码编译的可执行文件同样可以分发修改版本分发修改或扩展版本须满足若干条件核心是许可文本必须原样包含且须以规定方式回馈改动给维护者GPL 兼容许可与 GPL 兼容你可以用 GPL 库编译 Vim 并分发。捐款渠道方面文档说明 Bram Moolenaar 的慈善机构 ICCF Holland 长期支持乌干达 Kibaale Childrens Centre 的儿童教育在 Bram 于 2023 年辞世后相关活动已移交至其姊妹慈善机构 Kuwasha加拿大Vim 用户的捐款仍会直接用于乌干达的儿童救助。贡献、支持与维护信息想帮助改进 Vim请阅读 CONTRIBUTING.md若在 macOS 上使用可直接使用 MacVim本仓库即其镜像其特性包括原生 GUI、全屏模式、触控板手势与 Touch Bar 映射、字体连字与精确文本渲染等详见 README.md遇到问题可先查阅 Vim 文档与技巧 Wiki仍无法解决时可加入邮件列表讨论或直接把 bug 报告发送到 vim-dev 邮件列表vim-devvim.org。主要作者与版本归属Vim 的大部分代码由Bram MoolenaarBramvim.org创作。除代码外其他评论、补丁、建议均可发送至 vim-dev 邮件列表。本仓库对应的版本号由 src/version.h 定义Vim 9.2 build 286并可通过:version命令或Vim -h查看完整版本信息——这也正是 README 标题中所说的Vi IMproved一个持续演进、对 Vi 兼容、面向现代编辑需求的文本编辑器内核。赞分享开发工具桌面应用【免费下载链接】macvimVim - the text editor - for macOS项目地址https://gitcode.com/gh_mirrors/ma/macvim点击查看免费下载相关推荐Vim 9.2 官方仓库深度指南从 Vi 兼容编辑器到 Vim9 脚本的源码级解读Vim 9.2 官方仓库深度指南从 Vi 兼容编辑器到 Vim9 脚本的源码级解读 VimVi IMproved是经典 UNIX 编辑器 Vi 的全面增强开发工具代码编辑器终极指南如何在macOS上安装和使用MacVim打造高效文本编辑体验终极指南如何在macOS上安装和使用MacVim打造高效文本编辑体验 MacVim是Vim文本编辑器的macOS优化版本它提供了原生图形界面同时保留了Vi开发工具桌面应用Solidity 智能合约编程语言仓库全景解读、编译安装与实战示例指南Solidity 智能合约编程语言仓库全景解读、编译安装与实战示例指南 Solidity 是一门面向合约的静态类型高级编程语言专为在以太坊虚拟机EVM上编程语言编译器区块链上一篇芝麻粒自动化工具终极指南如何快速上手Android自动化神器 下一篇5分钟上手Inpaint-Anything一键移除图片中多余物体的超实用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考