一、vi的使用

  1.vi一共分为3种模式,分别是一般模式、编辑模式和命令行模式

  2.一般模式:以vi打开一个文件就直接进入一般模式(也是默认的模式)。

    在这个模式下可以使用上下左右移动光标,还可以删除字符或删除整行,还可以复制、粘贴文件数据

  3.编辑模式

    一般模式下按i,I,o,O,a,A,r,R等任何一个字母进入编辑模式(界面左下方变成INSERT或REPLACE)

    编辑模式下按ESC按键回到一般模式

  4.命令行模式

    <1>一般模式下按 : / ? 按钮中的任意一个可进入命令行模式,此时光标会移动到最下面一行

    <2>该模式可提供数据查找的操作,并且读取、保存、替换大量字符、离开vi、显示行号等操作也是在此模式中完成

    <3>同样是按ESC返回一般模式

二、简单执行

  1. vi test.txt

    若当前目录已存在该文件,则打开,否则新建

  2.按下i、o、a进入编辑模式(左下角变为INSERT)

    此时除ESC外的任意按键都会作为一般的输入

    注意:在vi中TAB键得到的结果与空格符得到的结果是不一样的。

  3.按下ESC返回一般模式

  4.输入 :wq 保存后离开vi

    注意:可以用 :wq!强制保存(要求权限可以改变)

三、一般模式下可用的按键说明

  移动光标

  h j k l 分别为往左 下 上 右移动(上下左右按键也可以)

    若想往下移动30行,可以30j或30下

  ctrl+f 往下翻一页  ctrl+b 往上翻一页

  ctrl+u 往上移动半页

  +光标移动到非空格符的下一行 -光标移动到非空格符的上一行

  n<space> 光标往后移动n个字符 如20<space>

  0或home  移动到行首  $或End  移动到行尾

  H M L  光标分别移动到当前屏幕的第一行 中间行 最后一行

  G  移动到文件的最后一行

  nG  移动到第n行

  gg  移动到第一行(相当于1G)

  .N[enter]  光标向下移动n行

  查找与替换

  /word  向下查找字符串word

  ?word  向上查找字符串word

  n    重复前一次查找操作

  N    反向重复前一次的查找操作

  n1,n2s/word1/word2/g  查找n1-n2行之间的word1并替换为word2

  1,$s/word1/word2/g  第一行到最后一行查找word1并替换为word2

  1,$s/word1/word2/gc  第一行到最后一行查找word1并替换为word2,替换时进行确认

  

  删除、复制与粘贴

  x,X  x向后删除一个字符(Del) X向前删除一个字符(BackSpace)

  nx  连续向后删除n个字符

  dd  删除光标所在行

  ndd  删除光标坐在的向下n行

  d1G  删除光标所在处到第一行的所有数据

  dG  删除光标所在处到最后一行的所有数据

  d$  删除光标所在处到该行的最后一个字符

  d0  删除光标所在处到该行的第一个字符

  yy  复制光标所在行

  nyy  复制光标坐在的向下n行

  y1G  复制光标所在行到第一行的所有数据

  yG  复制光标所在行到最后一行的所有数据

  y0  复制光标所在处到行首的字符

  y$  复制光标所在处到行尾的所有字符

  p  粘贴在下一行  P  粘贴在上一行

  J  将光标所在行和下一行合为一行

  c  重复删除多个数据,例如向下删除10行

  u  复原前一个操作(插销一步)

  ctrl+r  重做上一个操作 小数点也可以 .

  

四、一般模式切换到编辑模式

  i 从光标所在处插入  I 目前所在行的第一个非空格处开始插入

  a 冲光标所在处的后一个字符开始插入  A从光标所在行的最后一个字符处开始插入

  o 从光标所在行的下一行开始插入  O光标所在行的上一行开始插入

  r,R  r替换光标坐在那一个字符一次 R会一直替换光标所在文字

  ESC  从编辑模式退回一般模式

五、一般模式到命令行模式可以用的命令

  :w  保存

  :w!  文件只读时,可强制写入,但要求权限

  :q  退出vi

  :q!  若修改过文件写不想存储, q!强制退出不保存

  :wq  保存后退出

  ZZ  若文件没有更动,则不保存离开,若已经更动,保存后离开

  :w[filename]  另存为

  :r[filename]  在编辑的数据中读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行的后面

  :n1, n2 w[filename]  n1-n2行的内容保存成filename

  :!command  暂时离开vi到命令行下执行command的显示结果

         如 :!ls /home

  :set nu  显示行号

  :set nonu  取消行号

              常用命令 最好记忆

----------------------------------------------------------------------------------

  移动

    ctrl+f

    ctrl+b

    0[Home]

    $[End]

    G

    gg

    N[enter]

  查询与替换

    /word

    n1,n2s/word1/word2/g

    1,$s/word1/word2/g

    1,$s/word1/word2/gc

  删除复制与粘贴

    x X

    dd

    ndd

    yy

    nyy

    p P

    u

    ctrl+r

    .

  一般模式切换到编辑模式

    i I

    a A

    o O

    r R

  一般模式切换到命令行模式’

    :w

    :wq

----------------------------------------------------------------------------------

  

  

vi编辑器使用相关的更多相关文章

  1. 第三天 vi编辑器使用和软件安装

    [复习] 判断题: 查看某文件权限为rwxr-xr-- ,则其所属组权限为只读. 对一个目录有w权限,表示可以修改目录下文件内容. 3..tar.gz格式的压缩包可以使用tar -xjf解压缩 4.m ...

  2. linux vi编辑器操作手册

    简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...

  3. vi编辑器简单应用(摘抄)

    摘抄于 vi编辑器的使用 (2) (3) 1 vi编辑器的基本使用 1.1 vi的启动 打开: $ vi example.c 只读打开 $ vi –R example.c 1.2 vi的工作模式 1. ...

  4. vi编辑器使用记录

    01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...

  5. 利用vi编辑器创建和编辑正文文件(二)

    末行模式下的命令 1.       w:写文件,将编辑的内容保存到文件系统. 2.       w!:如果只读文件,强制写入系统. 3.       q!:退出vi,但文件内容修改的话,系统要提示是否 ...

  6. 非正常关闭vi编辑器时会生成一个.swp文件

    非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...

  7. vi编辑器的使用(2)

    1.4 光标移动 vi编辑器中的很多命令都是基于光标当前位置的,因此,如何移动光标定位到所需要的位置是一项十分重要的工作,下面进行详细介绍(如无特别说明,下面所讲的命令都是在普通模式下执行). 1. ...

  8. Unix\Linux | 总结笔记 | vi编辑器

    0 目录   新建文件夹   常用的命令    三种模式及切换    vi编辑器的启动选项及后续相关操作  其他--替换文本  其他--写入另一个文件     1  新建文件夹  vi [目录名/文件 ...

  9. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

随机推荐

  1. iPhone6搜索如何打开?详细使用方法

    iphone6搜索功能在哪?怎么用呢?当iPhone6中安装了太多的应用或者联系人太多时,我们就可以使用iPhone6搜索功能就能快速找到,但是还有很多朋友对于iphone6搜索功能在哪,怎么用还不太 ...

  2. hdu3652 B-number

    链接 题意求能够整除和包含13的数字. 这个比较简单,保留余数及1,然后标记前面是否出现过13就行. #include <iostream> #include<cstdio> ...

  3. win7 windows server 2008R2下 https SSL证书安装的搭配(搭配https ssl本地测试环境)

    原文:http://www.cnblogs.com/naniannayue/archive/2012/11/19/2776948.html 要想成功架设SSL安全站点关键要具备以下几个条件. 1.需要 ...

  4. 输入一个整型数组,数据元素有正数也有负数,求元素组合成连续子数组之和最大的子数组,要求时间复杂度为O(n)。

    如果不考虑时间复杂度,我们可以枚举出所有子数组并求出他们的和.不过非常遗憾的是,由于长度为n的数组有O(n2)个子数组(即:n + n-1 + ... + 1=n(n+1)/2):而且求一个长度为n的 ...

  5. Technology Remarks

    -----------------------分隔符-----12.10.2016------ 抓视频    关键字补充: Base64编码/解码 出现这样的情况怎么办呢? 网址: abook-hep ...

  6. sqlite数据类型

    sqlite数据类型(时间 日期 double等)     sqlite3支持的数据类型: NULL.INTEGER.REAL.TEXT.BLOB但是,sqlite3也支持如下的数据类型smallin ...

  7. uva 1660 & poj 1966(点连通度)

    Cable TV Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4267   Accepted: 2003 ...

  8. git修改已提交记录的注释

    已提交暂存区但还未提交远端仓库 命令:git commit --amend -m 已提交远端仓库 命令:git rebase 可以参考:http://www.cnblogs.com/dudu/p/47 ...

  9. 使用OpenFileDialog会更改默认程序目录

    这个问题可能只有在特定的程序中会发现:当我们在程序中使用相对路径时是依赖于当前目录的.所以在使用类似代码: XElement rootNode = XElement.Load(@"zips/ ...

  10. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...