1. 格式说明

  • <xxx>:尖括号的含义表示这是一个占位参数,也就是必须有的参数,实际输入的内容是 xxx
  • [xxx]:方括号的含义表示这是一个可选参数,也就是可有可无,实际输入的内容是 xxx
  • 每行中前边是用法表达式,然后是四个空格,后边是用法解释。即组成格式为:用法表达式 + 四个空格 + 用法解释用法表达式中有空格,就是需要加空格,没有空格,就表示不需要加空格。例如有些占位参数后边是没有空格的,它就是不需要空格,有些是有空格的,就表示必须有空格。
  • ...:表示前边的参数可以有多个

2. vim 的进入与退出

进入 vim

  • vim filename  打开或新建文件,并将光标置于第一行首
  • vim +n filename  打开文件,并将光标置于第 n 行首
  • vim + filename  打开文件,并将光标置于最后一行首
  • vim + /pattern filename  打开文件,并将光标置于第一个与 pattern 匹配的串处
  • vim -r filename  在上次正用 vim 编辑时发生系统崩溃,恢复 filename
  • vim filename ....  打开多个文件,依次进行编辑

退出 vim

  • ∶q!  离开 vim,并放弃刚才编辑的内容
  • ∶wq  存盘并退出
  • ∶w  存盘但不退出,等待用户继续键入命令
  • ∶q  退出 vim,若文件被修改过,会要求确认是否放弃修改的内容。此命令可以与w
  • ∶w filename  另存为名为 filename 的文件

3. 编辑命令

插入删除替换恢复

  • i   在光标所在位置前插入新的字符
  • A  在光标所在行尾开始插入新的字符
  • x  删除光标后的字符
  • X  删除光标前的字符
  • r  替换光标所在字符
  • R  替换当前字符及其后的字符,直至按 ESC 键
  • s  删除光标所在的字符,并同时进入输入模式
  • S  删除光标所在的行,并同时进入输入模式
  • o  在当前行之下新开一行
  • O  在当前行之上新开一行
  • u  恢复刚才被修改的文本
  • U  恢复对光标所在行的所有修改

剪切

  • d  配合可视化使用,剪切选中的内容,单独使用无效
  • dd  剪切当前行
  • <n>dd  剪切 n 行
  • d<n>G  剪切当前行至第 n 行的内容
  • dH  剪切从当前行至所显示屏幕顶行的全部行
  • dL  剪切从当前行至所显示屏幕底的全部行
  • d<command>  剪切从当前行至命令 command 所指定行的全部行,例如: dggdG
  • d$  从当前光标剪切至行末,包含光标
  • d0  从当前光标剪切至行首,不包括光标
  • d<n>l  从当前光标向右剪切 n 个字符,包含光标
  • d<n>B  从当前光标反向剪切 n 个单词,不包括光标
  • dw  从光标处剪切至一个单子/单词的末尾,包括空格
  • de  从光标处剪切至一个单子/单词的末尾,不包括空格

复制

  • y  复制当前行和下一行
  • yy  复制当前行
  • <n>yy  复制 n 行
  • +y  复制选中内容到 + 寄存器,也就是系统的剪贴板,供其他程序用
  • y<n>G  复制当前行至第 n 行的内容
  • yH  复制从当前行至所显示屏幕顶行的全部行
  • yL  复制从当前行至所显示屏幕底的全部行
  • y<command>  复制从当前行至命令 command 所指定行的全部行,例如: yggyG
  • y$  从当前光标复制到行末,包括光标
  • y0  从当前光标复制至行首,不包括光标
  • y<n>l  从当前光标向右复制 n 个字符,包含光标
  • y<n>B  从当前光标反向复制 n 个单词,不包括光标
  • yw  从光标处复制至一个单子/单词的末尾,包括空格
  • ye  从光标处复制至一个单子/单词的末尾,不包括空格

粘贴

  • p  粘贴复制的内容到光标所在位置
  • "<n>p  粘贴 n 号寄存器的内容到光标所在位置
  • "+p  粘贴系统剪贴板的内容到光标所在位置
  • ":p  粘贴上一个Vim命令
  • "/p  粘贴上一次的搜索关键词

寄存器

  • :reg  查看寄存器以及寄存器里边的内容,第一列是寄存器的名字,第二列是寄存器的内容;其中 "+ 寄存器表示系统剪切板,没有的话使用 +d +y "+p 无效
  • vim 提供了 10 类寄存器,可在 vim 中输入 :help registers 查看帮助
    • 匿名寄存器 ""
    • 编号寄存器 "0 到 "9
    • 小删除寄存器 "-
    • 26 个命名寄存器 "a 到 "z
    • 3 个只读寄存器 ": ". "%
    • Buffer 交替文件寄存器 "#
    • 表达式寄存器 "=
    • 选区和拖放寄存器 "* "+ "~
    • 黑洞寄存器 "_
    • 搜索模式寄存器 "/

搜索

  • /<name>  查找光标之后的名为 name 的字符串,查找到之后高亮显示
  • :noh  取消高亮显示

光标跳转

  • gg  跳到文件首
  • G  跳到文件尾
  • <n>gg / <n>G / :<n>  跳到第 n 行
  • Shift + 6:跳到行首
  • Shift + 4:跳到行尾

显示当前正在编辑的文件

  • Ctrl + g  显示当前正在编辑的文件名
  • :f  显示当前正在编辑的文件名
  • :pwd  显示当前正在编辑文件的路径

vim 翻页

  • Ctrl + f  向下翻一页,f=forward
  • Ctrl + b  向上翻一页,b=backward
  • Ctrl + d  向下翻半页,d=down
  • Ctrl + u  向上翻半页,u=up
  • Ctrl + e  向下滚动一行
  • Ctrl + y  向上滚动一行
  • zz  让光标所在的行居屏幕中央
  • zt  让光标所在的行居屏幕最上一行,t=top
  • zb  让光标所在的行居屏幕最下一行,b=bottom

其它

  • :set number / :set nu  显示行号
  • 永久显示行号:打开 vim 配置文件 ~/.vimrc ,在里边添加 set nu ,即可永久显示行号
  • :set nonumber / :set nonu  取消显示行号
  • :set ff  显示换行符格式
  • :set ff=unix  把换行符设置为 unix 格式;在 Windows 下编写的 shell,需要把换行符换成 unix 才能运行

4. 多文件编辑

  • 打开多个文件 vim filename1 filename2 ...
  • 在打开的文件间切换
    • :bn  下一个文件
    • :bp  上一个文件
    • :b<n>  切换至第 n 个文件
    • :ls  列出打开的文件,带编号

5. 多窗口多文件编辑

  • 如果在终端中开没有打开 vim

    • 纵向分割显示: vim -O filename1 filename2 ...
    • 横向分割显示: vim -o filename1 filename2 ...
  • 如果已经用 vim 打开了一个文件,想要在窗口中同时再打开另一个文件
    • 纵向分割显示: :split filename:sp filename
    • 横向分割显示: :vsplit filename:vs filename
  • 关闭窗口
    • :q  关闭光标所在窗口
    • :q!  关闭光标所在窗口并放弃修改
    • :qa  关闭所有窗口
    • :qa!  关闭所有窗口并放弃修改
    • :w  保存当前窗口已修改内容
    • :wa  保存所有窗口已修改内容
  • 在打开的窗口之间切换: Ctrl + w w ,即按住 Ctrl 键,再按两下 w 键

6. 可视化模式

为了便于选取文本,vim 引入了可视(Visual)模式。 要选取一段文本,首先将光标移到开始位置,在命令模式下按 v 进入可视模式,然后把光标移到结束位置,即可选中这段内容,然后使用剪切或复制命令,即可剪切或复制该段内容。需要注意,光标所在字符是包含在选区中的。

  • v  进入字符可视化模式,文本选择是以字符为单位的
  • V  进入行可视化模式,文本选择是以行为单位的
  • Ctrl + v  进入块可视化模式, 可以选择一个矩形内的文本

常见用法:

  • ggVG  全选


未完 ......

点击访问原文(进入后根据右侧标签,快速定位到本文)

vim 常用命令总结(排版精良,内容优质)的更多相关文章

  1. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  2. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

  3. vim常用命令总结(转)

    vim常用命令 -------------------------------------------------------------------------------------------- ...

  4. 转 vim常用命令总结

    vim常用命令总结 vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束 ...

  5. Linux 之 Vim常用命令

    Vim常用命令 参考教程:[千峰教育] 终端编辑命令工具: vi/vim.emacs等. vim简介: vim是vi的扩展,被誉为终端编辑之神. vim安装: yum install -y vim 工 ...

  6. Vim常用命令及配置方案

    Vim常用命令及配置方案   几句话 很久之前就接触到vim,初学那阵觉得vim很酷炫,但确实对新手不是很友好.我也就简单看了下基本操作就上手了,但又不是长期在vim下工作,这就导致了每一次重新使用v ...

  7. linux最强编辑神器vim常用命令大全:编辑、插入、删除、替换、保存...

    我说vim是编辑器之神大家没有意见吧 下面分享一些vim常用命令,大家可以收藏一下 进入vim:  vim配置: vim中光标移动: vim中屏幕滚动: vim中插入文本类: 文本替换: 格式 : 范 ...

  8. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  9. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  10. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

随机推荐

  1. Ubuntu16.04 RYU pip命令安装

    pip命令安装方法 sudo apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev ...

  2. Assignment6:白盒测试方法

    常用的软件测试方法有两大类:静态测试方法和动态测试方法. 其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试:而软件的动态测试是通过输入一组预先按照一定的 ...

  3. OpenMP基本概念【转】

    OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的并行程序设计.编译器根 ...

  4. 部署gerrit环境完整记录【转】

    开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下:提前安装好java环境,mysql环境,nginx环境测试系统:centos6.5下载下面三个包,放到/ ...

  5. Jenkins自动化版本构建

    1.拉取代码 2.更新父版本 更新依赖版本 3.打包并推送到maven私库 4.版本控制后提交代码并打成docker镜像 PS:修改pom.xml项目版本,这里我没使用插件,直接使用脚本进行修改,这样 ...

  6. 实战c++中的string系列--std:vector 和std:string相互转换(vector to stringstream)

    string.vector 互转 string 转 vector vector  vcBuf;string        stBuf("Hello DaMao!!!");----- ...

  7. IsNull、rs、sum

    <% 'response.write (IsNull(rs("month_finish_count_price"))) If IsNull(rs("month_fi ...

  8. php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?

    本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg) ...

  9. 004-行为型-11-解析器模式(Interpreter)

    一.概述 提供了评估语言的语法或表达式的方式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文.这种模式被用在 SQL 解析.符号处理引擎等. 意图:给定一个语言,定义它的文法表示,并定义一个 ...

  10. ES6深入浅出-13 Proxy 与 Reflect-1.Reflect 反射

    阮一峰  http://es6.ruanyifeng.com/#docs/reflect MDN有一些简陋的介绍 https://developer.mozilla.org/zh-CN/docs/We ...