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. Oracle DataGuard数据备份方案详解

    Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...

  2. Project Management - 3) Manage Your Meetings

    1. 取消没有价值的会议 会议是有代价和成本的 不要举行顺序式的多人进度报告会议 eg: 这周做了什么,下周还要做什么? 除了发言人和项目经理外,每个人都会觉得无聊. 这种会议是在拖项目的后腿,赶紧停 ...

  3. cdoj 383 japan 树状数组

    Japan Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/383 Descrip ...

  4. JS 实现2+2=5的代码 实现原理解析

    当我在http://segmentfault.com/q/1010000000531302 看到的时候 先是一惊. 这是代码 g = function () {   H = 3   return H ...

  5. 关于unity3d播放flash动画,使用插件uniswf

    主要就是代码了. 1.using UnityEngine; using System.Collections; using pumpkin.swf; using System.Collections. ...

  6. [Bootstrap] 6. Navigation

    Too Much Navigation? How many of Bootstrap's Navigation Components can we use on a page? 0 1 More th ...

  7. 在iOS中怎样创建可展开的Table View?(下)

    接上篇:在iOS中怎样创建可展开的Table View?(上) 展开和合拢 我猜这部分可能是你最期望的了,因为本次教程的目标将会在在部分实现.第一次我们设法让顶层的cell,在它们点击的时候展开或者合 ...

  8. 信号之sigpending函数

    sigpending函数返回信号集,其中的各个信号对于调用进程是阻塞的而不能递送,因而也一定是当前未决的.该信号集通过set参数返回.(这些信号是已经产生的信号,但因为信号屏蔽字中对其设置了屏蔽位,从 ...

  9. 类 ArrayBlockingQueue<E>(一个由数组支持的有界阻塞队列。)

    类型参数: E - 在此 collection 中保持的元素类型 所有已实现的接口: Serializable, Iterable<E>, Collection<E>, Blo ...

  10. quartz定时任务中常用的cron表达式

    一:定时cron的格式,一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为: 1.秒(0~59) 2.分钟(0~59) 3.小时(0~23) 4.天(月(0~31,但是你需 ...