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. element ui table组件自定义合计栏,后台给的数据

    合计的数据是后台传的,所以用table组件自定义一行用来合计 <el-table border fit v-loading.body="listLoading" elemen ...

  2. #C++初学记录(A==B?##高精度)

    Problem Description Give you two numbers A and B, if A is equal to B, you should print "YES&quo ...

  3. Spring Boot AOP 简易操作日志管理

    AOP (Aspect Oriented Programming) 面向切面编程. 业务有核心业务和边缘业务. 比如用户管理,菜单管理,权限管理,这些都属于核心业务. 比如日志管理,操作记录管理,这些 ...

  4. 系统假死——系统频繁Full gc问题分析

    主要可能的原因: 1,eden区太小,eden和survivor默认比例是8:12,old区太小,新生代和老年代的比例也可以调节的.3,是否程序会分配很多短期存活的大对象,程序本身是否有问题? 进入老 ...

  5. unity疯狂牧场完整项目源码 - Frenzy Farming time management game kit V1.0

    You will love this game kit! Have you ever wondered what it would be like to run your own farm? Look ...

  6. Communications link failure due to underlying exception: ** BEGIN NESTED EXC

    一是将 wait_timeout=31536000 interactive_timeout=31536000 将过期时间修改为1年. 二是在连接URL上添加参数:&autoReconnect= ...

  7. JVM 初始化阶段例子

    创建如下Demo package com.example.jvm.classloader; class Parent{ static int a = 3; static { System.out.pr ...

  8. Type-C转接头 还是别用了,影响速率啊

      今天用Type-C转接USB头传照片真慢! 在数码配件领域,越是不起眼的小外设,隐藏其背后的猫腻和水分也就越多.就拿常见的Micro USB转USB Type-C转接头和TF转SD卡套而言,你觉得 ...

  9. hive匹配中文

    select regexp_extract('ab中文123测试55..', '[\u4e00-\u9fa5]+', 0) 只提出成功第一段中文汉字,结果为: 中文 select regexp_rep ...

  10. 1.0 Android基础入门教程

    1.0 Android基础入门教程 分类 Android 基础入门教程 本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力 ...