14 个 Vim 启动参数和启动方法详解

本贴最后更新于 2082 天前,其中的信息可能已经渤澥桑田

打开 Vim 最简单的方式是在 bash 命令行下直接输入 vim 后按回车键启动。除此之外,Vim 还有非常多实用而又不为人熟知的启动参数。本文以打开当前目录下的 test.txt 文件为例举例说明 Vim 常用的 14 个启动参数的含义和作用。

  • vim -o[n] test.txt:以水平方向分割 n (可省略,缺省为 1) 个窗口的方式打开 test.txt

  • vim -O[n] test.txt:以垂直方向分割 n (可省略,缺省为 1) 个窗口的方式打开 test.txt (Vim 屏幕分割)

VIM 分割屏幕

  • vim + test.txt:打开文件 test.txt 并跳转到从文件的最末行

  • vim +n test.txt:打开文件 test.txt 并跳转到文件的第 n

  • vim -c cmd test.txt: 在打开文件 test.txt 前,先执行指定的 Vim 命令 cmd

  • vim -x test.txt:以加密方式打开文件 test.txt,并在屏幕左下角提示输入密码两次才可进行操作,保存文件退出后必须输入正常密码才能正确打开 test.txt 文件,否则会显示乱码

vim 加密文件

  • vim -r test.txt: 恢复上次异常退出的 test.txt 文件,如果 test.txt 的 swap 文件不存在,会提示 No swap file found for test.txt 并退出 Vim

  • vim -M test.txt:以只读方式打开 test.txt 文件,且不可以强制保存该文件

  • vim -R test.txt: 以只读的方式打开文件 test.txt,但可以强制保存该文件

  • vim -b test.txt:以二进制模式打开 test.txt,该模式下一些特殊字符 (如换行符 ^M) 都可以显示出来。如删除 Vim 文件中显示的 ^M 字符一文所介绍,通过 -b 参数以二进制模式打开文件后便可将 ^M 显示出来

  • vim +/target test.txt:打开 test.txt 并将光标移动到找到的第一个 target 字符串上

  • vim u myvimrc test.txt:使用 myvimrc 配置文件打开文件 test.ext 而不是加载 ~/.vimrc 文件,vim -u NONE test.txt 表示在启动 Vim 打开 test.txt 文件时不加载任何 Vim 配置文件

  • vim -i myviminfo test.txt:打开 test.txt 文件时从 myviminfo 文件中读取历史命令而不是从默认的 ~/.viminfo 文件中读取,推荐阅读 viminfo 文件介绍与使用

  • vim -d test.txt test2.txt:使用 Vim 同时打开 test.txt 和 test2.txt 两个文件并 diff 两个文件的差异。Vim 屏幕将被垂直分割为两个窗口,被 diff 的两个文件中连续相同的行将被折叠起来。默认 Vim 配色下,只在某一文件中存在的行以蓝色背显示,而在另一文件中的对应位置将显示绿色;两个文件中都存在但包含差异的行会以粉色背景显示,而引起差异的文字将用红色背景突出显示

vimdiff

除上述常用的 Vim 启动参数,还可以在命令行下输入 vim --hep 获取到 Vim 所有启动参数的介绍。除了了解怎么启动 Vim,你还可以看 14 种退出 Vim 的方法及区别

  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    957 引用 • 944 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • sts
    2 引用 • 2 回帖 • 247 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 830 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 648 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    7 引用 • 28 回帖
  • RemNote
    2 引用 • 16 回帖 • 26 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 91 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    29 引用 • 230 回帖 • 128 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 118 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 313 关注
  • AWS
    11 引用 • 28 回帖 • 8 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    125 引用 • 74 回帖 • 2 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 3 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    337 引用 • 324 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 5 关注
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖 • 1 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 560 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    730 引用 • 1284 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 367 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 634 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 685 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 524 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 150 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 44 关注