vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻.

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode).

1) 命令行模式command mode)   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。     2) 插入模式(Insert mode)   只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。     3) 底行模式(last line mode)   将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。     不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

工具/原料

 
  • Linux

方法/步骤

 
  1.  

    首先进入Linux的命令行界面.在目录下创建一个用于测试的文本文件(touch filename).我这里就新建了一个test12文本文件.当然这个名字是可以随便取得.

  2.  

    用"vi test12"命令进入vi命令行模式(vi filename). 如果要想编辑文本文件.必须要转换到插入模式下,也就是按一下键盘上的"i"就可以了.这样你就可以编辑文本,删除文本中的内容.按键盘上的上下左右键.来回移动了.就跟你在windows 系统中编辑文本一样.

  3.  

    输入你要输入的内容.如果你想退出文本编辑模式.并且保存刚刚编辑的文本.首先点击一下键盘上的"ESC",然后输入":wq!"这样就将文本保存了.然后推出了vi编辑器.如果不想保存就按一下键盘上的"ESC",输入":q!".如果你不确定是否成功.可以通过"cat filename" 命令来查看.

  4.  

    光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",

    "ctrl+b":屏幕往后移动一页

    "ctrl+f":屏幕往前移动一页

    "ctrl+u":屏幕往后移动半页

    "ctrl+d":屏幕往前移动半页

    输入任何一个整数,然后输入"shift+G" 就可以到这一页的开头了.

    按键盘上的大写"G"移动到文章的最后.

    按"$"符号将光标移动到行尾

    "^"将光标移到行头

    "w":将光标移到下一行头

    "b":跟"w"相反.移到上一行行头

    "e":将光标移到下一行尾.

    如果想让文本显示行号.就在命令行 模式下,在文本最后输入":set nu"命令.就可以了

  5.  

    复制   「yw」:将光标所在之处到字尾的字符复制到缓冲区中。   「yy」:复制光标所在行到缓冲区。   「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。   「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

  6.  

    查找

    用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.

  7.  

    替换   「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

  8. 8

    恢复上一次操作   「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.

    ====================================

    总结:

    vim进入后,按“i”进入编辑模式,编辑完成按“ESC”,然后按:wq!  保存后退出

Linux中vi编辑器的使用详解的更多相关文章

  1. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  2. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  3. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  4. Linux中/proc目录下文件详解(转贴)

      转载:http://www.sudu.cn/info/index.php?op=article&id=302529   Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...

  5. linux中vi编辑器的使用

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...

  6. linux中vi编辑器

    vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系 统中的文本编辑程序.它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户 ...

  7. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种 ...

  8. linux中vi编辑器(转载)

    三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入“i ”进入输入模式: 末行模式:按“:”进入末行模式: 在输入模式切换至末行模式 ...

  9. Linux中grep和egrep命令详解

    rep / egrep 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...

随机推荐

  1. 【shell】shell基础

    一.数据类型 1.shell变量 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 2) 环 ...

  2. 【问题】Difference between ">/dev/null 2>&1" and "2>&1 >/dev/null"

    https://www.unix.com/shell-programming-and-scripting/125947-difference-between-dev-null-2-1-2-1-dev- ...

  3. asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别 转载自:http://blog.csdn.net/luoyeyu1989/article/details/8275866

    首先,MVC和三层架构,是不一样的. 三层架构中,DAL(数据访问层).BLL(业务逻辑层).WEB层各司其职,意在职责分离. MVC是 Model-View-Controller,严格说这三个加起来 ...

  4. idea java快速生成返回值

    ctrl+alt+V 或者

  5. BZOJ 4008 亚瑟王(概率DP 奥妙重重)

    题意 中文题面,就不解释了 分析 显然这道题直接求期望太麻烦,想想转化问题(这转化太神了). 定义f(i,j)f(i,j)f(i,j)表示第iii张卡总共被经过jjj次的概率,有转移方程式 f(i,j ...

  6. 12、Spring Boot 2.x 集成 MongoDB

    1.12 Spring Boot 2.x 集成 MongoDB 完整源码: Spring-Boot-Demos

  7. python自动华 (一)

    Python自动化 [第一篇]:Python简介和入门 Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单” ...

  8. Java 相同类型强制转换异常

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010750497/article/det ...

  9. JavaMail使用SMTP协议发送电子邮件(详解)

    Properties props = new Properties(); props.setProperty("mail.transport.protocol", "sm ...

  10. Shell 04 字符串处理、正则表达式

    一.字符串的处理   1.字符串截取 1.1 s{}表达式  ${变量名:起始位置:长度} (从0开始) n=number (n="number") echo ${#n}   -- ...