Vim和Vi的常用命令

Vim 文本编辑器

  1、Vim 和 Vi:

    两者都是多模式编辑器;

    Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持;

  特点:

     语法加亮:使用不同的颜色加亮代码; 

     多级撤销:Vi 只能撤销一次操作,Vim 可以无限次撤销; 

     可视化操作:可以在终端模式运行,也可以在 Xwindows 模式运行; 

  2、Vim 的三种模式:

    命令模式(Command):默认模式,只能输入指令,不能输入编辑文字;   

    插入模式(Insert):按 i 就会进入入插入模式,此时才可以输入文字,编辑文章, 按 Esc 回到命令模式。并且状态列 - INSERT - 或者 - 插入 - 字样。 

    EX 模式:有一個冒号在那,等待输入命令;在命令模式下 :键可以進入 Ex 模式

二、Vim 插入模式和 Ex 模式 

1、打开文件:

  vim 文件名

    如果文件存在则该文件会被打开;否则在第一保存时文件会被创建; 插入模式,编辑文件:

    按 A 在行尾后补; 

    按 a 在当前处的下一个位置;   

    按 o 在当前行的下面插入一个新行 ;  

    按 O 在当前行的上面插入一个新行 ; 

2、EX 模式,保存、退出 Vim:

  按 : 键可以进入 Ex,屏幕状态行上有一个:标志;

    按 w 保存文件; 

    按 wq 保存退出; 

    按 q!不保存退出; 

三、使用命令模式

1、光标移动: 

  按字符移动:方向键及 h、j、k、l 按一下移动一个字符; 

  数字,方向移动:向这个方向移动 1 个字数倍个; 

  按单词移动:w、b 

  跳到第几行:XG,X 是行数   

  Ctrl-f 向前、向下翻页 

  Ctrl-b 向后、向上翻页 

  G 移至文尾;gg 移至文首 

2、删除内容:

   x 刪除光标所在处字符,在中文指一個中文字。 

  X 刪除光标前的字符。Backspace 鍵,只能在插入模式。 

  dd 刪除一整行(delete line), Xdd:删除 X 行。 

  dG 刪至文档结尾。 

  d1G 刪至文档头。 

3、剪切、粘贴:

  cc 剪切整行,当前行内容剪切走; 

  C 剪切至行尾; 

  p:粘贴,把前一个剪切的内容粘贴到当前位置

4、复制:

  yy 复制所光标在行整行。Xyy 可以复制 X 行 

  yw 复制一个单词。 

  yG 复制到文档结尾。 

  y1G 复制到文档首。 

  y0 复制至行首不含光标所在处的字符。 

  Y 复制至行尾,含光标所在处的字符

5、撤销、重做:

  u:撤销,vim 可以无限制撤销; 

  Ctrl-r:重做上一个被撤销的改变;

6、vim 加密文档: 

  vim –x 文档名 设置以后需要保存文件才能使密码生效,下次打开会提示输入密码

7、搜索查找:

  /字符 :查找指定字符 

  n:向下查找 

  N:向上查找 

8、替换:

  :x,y s/被替换目标/替换内容/ 

    x,y 指定范围,x,y 指行编号;

    :1,5s /安装/anzhung 1 到 5 行上的“安装”被替换成“anzhuang ” 

  %s /被替换目标/替换内容/g 

    %表示全文

    g 替换所有目标,默认一行如果有多个被替换目标则只替换 1 个,加上 g 替换所 有;

    :%s /安装/anzhuang /g 文中所有“安装”替换成“anzhuang 

三、可视模式

1、可视模式:

  可以突出显示字符、行或者大块文本,并对他们进行操作

2、进入可视模式:

  按 v:进入面向字符的可视模式; 

  按 V:进入面向行的可视模式; 

  Ctrl-v:进入面向块的可视模式

3、可视模式下的文本的编辑: 

  c:剪切选中文本,和 p 组合可实现移动文本操作; 

  d:删除选中文本; 

  y:复制选中文本;

四、Vim 多窗口模式: 

1、Vim 同时打开多个文件:

  vim –o 文件 1 文件 2 

2、分屏查看文件

  Ctrl-w,s 水平方向分割窗口   

  Ctrl-w,v 垂直方向分割窗口 

  Ctrl-w,方向键 在不同的窗口之间移动 

  Ctrl+w ,q 即 q 结束分出来的窗口; 

  Ctrl+w ,o 即 only! 只显示光标所在窗口,其他窗口隐藏。;   

  :sp 文档名 新开一个窗口编辑文档

五、配置 vim 

1、配置 vim: 

  set(se) 配置项目(项目简写) 

2、查看相关配置项目:

  set all

3、常用配置项目:

  number /nonumber (nu/nonu):显示或者隐藏行号; 

  set ignorecase (se ic/se noic):搜索文件时是否不区分大小写 

4、查看 Vim 帮助: 

   :help 进入帮助 

  :q 退出帮助 

 

转载于:https://www.cnblogs.com/gaidy/p/9261359.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中 sql语句:start with .. connect by prior.. 用法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就…

多重继承和单重继承

多重继承(Multiple Inheritance, MI)指的是一个类别可以同时从多于一个父类继承行为与特征的功能。与单一继承相对,单一继承指一个类别只可以继承自一个父类。

3分钟学会SVN:SVN快速上手

选择SVN客户端 Windows平台 TortoiseSVN:也叫乌龟SVN,Windows上最流行的SVN客户端,安装后你的右键就会多了几个SVN相关的菜单,非常方便Eclipse插件:在Eclipse中集成SVN插件,适合使用Eclipse开发的用户&…

flask框架(三):flask配置文件

flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为:{DEBUG: get_debug_flag(defaultFalse), 是否开启Debug模式TESTING: False, …

C语言可变参数全解

cstdarg(stdarg.h)可变参数的处理 这个头文件定义了一些宏,可以通过这些宏来逐个访问被调函数的没有名字的参数列表,这些参数的个数 和类型都是不知道的。 一个函数可以通过包含一个逗号和三个点(,...)接收可变数量的额外参数,而不需…

Diango博客--23.单元测试:测试 blog 应用

文章目录1. 前言2. 搭建测试环境3. 测试模型4. 测试视图5. 测试模板标签6. 测试辅助方法和类1. 前言 我们博客功能越来越来完善了,但这也带来了一个问题,我们不敢轻易地修改已有功能的代码了! 我们怎么知道代码修改后带来了预期的效果&…

一般与特殊结构关系 整体与部分结构关系

一般与特殊结构关系又称为分类结构关系,是“is a”关系。 例如:飞机与交通工具都是类,飞机是一种特殊的交通工具。他们之间是“is a”关系。 上层类体现一般性和共性,下层类体现特殊性和具体性。 用这种结构关系来描述现实世界…

简单版:带干扰线的图形验证码生成

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.生成工具类; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; im…

图片格式转换工具与方法

2019独角兽企业重金招聘Python工程师标准>>> 使用ffmpeg进行格式转换 1.jpg 转 I420 ffmpeg -i 001.jpg -pix_fmt yuv420p 001_I420_fromJPG.yuv 2.png 转 I420 ffmpeg -i 222.png -pix_fmt yuv420p 222_I420_fromPNG.yuv 3.bmp 转 I420 ffmpeg -i xxx.bmp -pix_fmt…

Diango博客--24.单元测试:测试评论应用

文章目录1. 前言2. 数据基类3.测试 Comment Model4. 测试视图函数5. 测试模板标签1. 前言 comments应用的测试和blog应用测试的套路是一样的。 先来建立测试文件的目录结构。首先在 comments 应用的目录下建立一个名为 tests 的 Python 包,然后删除 comments 应用…

面向对象设计使用语言选择

面向对象设计的结果既可以用面向对象语言、也可以用非面向对象语言实现。 使用面向对象语言时,由于语言本身充分支持面向对象概念的实现,因此,编译程序可以自动把面向对象概念映射到目标程序中。 使用非面向对象语言编写面向对象程序&#xf…

结合shiro 的图形验证码生成

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 在做用户登录功能时,很多时候都需要验证码支持,验证码的目的是为了防止机器人模拟真实用户登录而恶意访问&#…

利用C语言实现计算机图像处理的方法

1.图像平移 图像平移只是改变图像在屏幕上的位置,图像本身并不发生变化。假设原图像区域左上角坐标为(x0, y0),右下角坐标为(x1, y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0 + dx, y0 &a…

E24- please install the following Perl modules before executing ./mysql_install_db

2019独角兽企业重金招聘Python工程师标准>>> [roott-cet7 scripts]# ./mysql_install_db --basedir/usr/local/mysql/ --datadir/app/data/ --usermysql FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db: Data::Dumpe…

SpringMVC异常报406 (Not Acceptable)的解决办法

使用SpsringMVC&#xff0c;使用restEasy调试&#xff0c;controller请求设置如下&#xff1a; Java代码 RequestMapping(value"/list",methodRequestMethod.GET,producesMediaType.APPLICATION_JSON_VALUE) ResponseBody public List<EditTimeout> list()…

Diango博客--25.使用Coverage统计测试覆盖率

文章目录1. 前言2. 安装 Coverage3. 简单配置 Coverage4. 运行 Coverage5. 完善 Coverage 配置6. 生成 HTML 报告7. 完善单元测试1. 前言 我们完成了对 blog 应用和 comment 应用这两个核心 app 的测试。现在我们想知道的是究竟测试效果怎么样呢&#xff1f;测试充分吗&#x…

面向对象语言的优点

1.一致的表达方法 从前面章节的讲述中可以知道&#xff0c;面向对象开发基于不随时间变化的、一致的表示方法。这种表示方法应该从问题域到OOA&#xff0c;从OOA到OOD&#xff0c;最后从OOD到面向对象编程(OOP)&#xff0c;始终稳定不变。 一致的表示方法&#xff1a; 既有利…

最好的英文词典

辞典对于学外语的作用&#xff0c;怎么强调也不过分。经常接触英语的人都知道&#xff0c;遇到生词不可怕&#xff0c;可怕的是遇到认识的单词&#xff0c;又不明白这句话什么意思。这个时候&#xff0c;辞典的作用就发挥出来了。 今天一位朋友问我一句英文的意思&#xff0c;…

oracle用户创建及权限设置

权限&#xff1a; create session create table unlimited tablespace connect resource dba 例&#xff1a; #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password…

Android动画之逐帧动画(FrameAnimation)详解

今天我们就来学习逐帧动画,废话少说直接上效果图如下: 帧动画的实现方式有两种&#xff1a; 一、在res/drawable文件夹下新建animation-list的XML实现帧动画 1、首先在res/drawable文件夹下添加img00-img24共25张图片 2、新建frame_anim.xml [html] view plaincopy <?xml v…