1.vi使用
三模式:一般模式,插入模式,命令模式

保存和退出vi:

 命令模式下 :w  保存
              :w   新文件  保存到新文件 类似另存为,新文件存在,报错
              :w!  新文件  保存到新文件,新文件存在,覆盖
              :q  不保存退出
              :q! 强制退出,不保存修改
              :wq 保存退出

光标移动:

 插入模式下,方向键可以移动
 一般模式下:方向键
                         0 移动到当前行字符串的行首
                         $ 移动到行尾
                         nw 向右移动n个字符  n数字 ,w 向前forword缩写
                         w 向右移动一个字,单词
                         nb 向左移动n个字符,b 是back的缩写
                         b 向左移动一个字或单词
                         ( 移动到本句的句首,已经在句首则移动到前一句句首
                         ) 移动到下一句句首
                         { 移动到本段段首
                         } 移动到下段段首
                         1G 文件首行行首
                         G 文件末行行首
                         nG 第n行的行首
                         ctrl+g 报告光标的位置

文本删除:

 命令模式下:
                      x 删除光标位置的一个字符
                      nx 删除从光标开始的第n个字符
                      dw 删除光标所在的一个字或单词
                      ndw 删除从光标开始的第n个字或单词
                      db 删除光标前一个字
                      ndb 删除从光标开始的前n个字
                      d0 删除从光标前一个字符到行首所有字符
                      d$ 删除光标所在字符到行尾所有字符
                      dd 删除光标所在的当前行
                      ndd 删除从当前开始的第n行
                      d( 删除从当前字符开始到句首的所有字符
                      d) 删除从当前字符开始到句尾的所有字符
                      d{ 段首
                      d} 段尾

文本查找和替换:

 命令模式下查找:
                     ?String <enter> 要查找的String 回车
                     n 向文件头方向重复上一个查找命令
                     N 向文件尾方向重复上一个查找命令
 命令行模式下替换:
                     s/oldstr/newstr newstr替换旧的oldstr,在光标的当前行,只替换一次
                     s/oldstr/newstr/g            当前行全部替换
                     1,10s/oldstr/newstr/g   替换第1-10行
                     1.$s/oldstr/newstr/g   整个文件替换

文本的复制和粘贴: y yunk    p paste

                     yw 光标所在的字复制到缓冲区
                     nyw 光标开始的第n个字符复制到缓冲区
                     yb 向左复制一个字
                     nyb 向左的第n个字
                     y0 光标的前一个字符到行首的所有字符
                     y$ 光标所在到行末所有字符
                     yy 复制当前行
                     nyy 从当前行开始的第n行
                     p 在光标所在的位置后插入文本
                     P 在光标位置前面插入文本
                     np 在光标后插入文本,复制n次
                     nP 在之前插入文本, 复制n次

Linux Vi的使用的更多相关文章

  1. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  2. 关于linux vi命令替换的使用说明

    转自:http://os.51cto.com/art/200907/140987.htm vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法( ...

  3. linux vi 中按了ctrl+s后没法退出

    linux vi 中按了ctrl+s后无法退出 Linux 中使用vi编辑文件 不小心按了Ctrl + S (习惯了) 结果终端就跟死了一样, 解决办法: Ctrl+Q

  4. linux vi 工具的使用

    linux vi 工具的使用 1.打开文件 vi filename 如果存在该文件,则打开,不存在,则删除 2. 进入vi后,按i建,可以输入内容, 按ESC 在按: ,输入wq保存并退出. 3.移动 ...

  5. linux vi修改后如何保存

    linux vi修改后如何保存 按ESC键去到命令模式,然后: :w?? 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并 ...

  6. linux vi查找命令

    linux vi查找命令   div id="article_content" class="article_content">  使用vi编辑器编辑长文 ...

  7. Linux :: vi E212: Can't open file for writing

    Linux :: vi E212: Can't open file for writing sysct1.conf 可能无写权限!查看方法:ls -lh /etc/sysct1.conf如果没有,则c ...

  8. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  9. Linux vi 编辑器常见命令的使用

    Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...

  10. Linux vi 文本代码时显示行号或不显示行号

    Linux vi 文本代码时显示行号或不显示行号 前提  安装了vim $vi ~/.vimrc 显示的话加上 set nu 不想显示的话可以注释掉 "set nu 之后 $source ~ ...

随机推荐

  1. 【22】将成员变量声明为private

    1.为什么要将成员变量声明为private,语法一致性,只通过方法暴露接口. 2.使用方法,可以对成员变量更精确的控制.比如:为所有可能的实现提供弹性,不同实现可以替换:控制可读可写:验证约束条件:处 ...

  2. ThinkPHP Volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. volist标签(循环输出数据) 闭合 非闭合标签 属性 name(必须):要输出的数据模板变量 id(必须):循环变量 offset(可 ...

  3. Project Management - 1) Schedule Your Project

    1. 根据项目的理解,列出主要的里程碑. (初始甘特图) 2. 多使用即时贴,甘特图可以贴在墙上以供项目组成员提醒. 3. 切忌过早细化项目日程,这样会让老板或出资人以为项目中几乎没有风险, 他们会把 ...

  4. JSON数据格式以及与后台交互数据转换实例

    /* 作者:烟大阳仔 时间:20131013 介绍:主要了解一下json的格式,看看数据是怎么存储的 */ <!DOCTYPE html PUBLIC "-//W3C//DTD HTM ...

  5. 上struts2的xml在&lt;result type=&quot;redirect&quot;&gt;参数问题

    今天做项目,我遇到了一个精彩的问题. 我需要在struts的xml中的<action>的<result>中配置type="redirect".同一时候须要传 ...

  6. 安装完zend server后,无法访问http://localhost:10081/ZendServer/的解决办法

    安装完ZendServer后,默认会设置http://localhost:10081/ZendServer/为ZendServer的后台管理页面, 但对于ZendServer5.0.2(其它版本未知) ...

  7. 深入理解C++中的mutable关键字

      mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破const的限制而设置的.被mutable修饰的变量,将 ...

  8. SQL Abstraction and Object Hydration

    SQL Abstraction and Object Hydration In the last chapter, we introduced database abstraction and a n ...

  9. MySQL(5):数据表操作

    表名的前缀: 两个student表,为了区分相同逻辑表名的不同应用,给逻辑表名,增加前缀 //学生管理 create table info_student ( name varchar(20), st ...

  10. table tr分离并加圆角和阴影

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...