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. Dockers安装nginx

    方法一.通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西. runoob@runoob:~$ mkdir -p ~/nginx/www ~/n ...

  2. Xtrabackup--备份mysql

    Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁): ...

  3. Pycon 北京2019

  4. ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法

    所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-bat ...

  5. Python操作excel工具

    python操作excel的工具类有很多,下面举几个常见的工具类: 一. 1.xlrd 只能读取excel操作,支持xls和xlsx两种格式的 2.xlwt 只能写入excel操作,只支持 xls格式 ...

  6. 004 API约定

    在具体的学习前,我还是决定学一下,REST风格中在ES中的约定. 1.多重索引 先准备数据: 如果不小心,json里的值写错了,修改过来,重新执行即可. PUT index1/_doc/1 { &qu ...

  7. c语言字符串分割函数(转)

    源:C语言实现split以某个字符分割一个字符串 void split(char *src, const char *separator, char **dest, int *num) { /* sr ...

  8. Kotlin集合——Map集合

    Kotlin集合——Map集合 转 https://www.jianshu.com/p/da5cc9072f1e Kotlin的Map集合用于保存key-value对,其也被分为可变的和不可变的. 一 ...

  9. Python适配器模式代码

    Python设计模式之适配器模式,代码,思考等 # -*- coding: utf-8 -*- # author:baoshan class Computer: def __init__(self, ...

  10. Python3基础 str : 字符串的逆序

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...