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. 关于cshtml中的js对动态编译支持的问题

    问题:MVC4中支持对ViewBag.ViewDate等的动态编译,但是在js中对它的支持就是有问题.虽然是可以动态编译,但是动态编译之后,断点无法获取. $.getJSON("/api/A ...

  2. Android ADB使用之详细篇

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...

  3. iOS音频篇:AVPlayer的缓存实现

    授权转载,作者:明仔Su(简书) 在上一篇文章<使用AVPlayer播放网络音乐>介绍了AVPlayer的基本使用,下面介绍如何通过AVAssetResourceLoader实现AVPla ...

  4. 使用pypi镜像源加速第三方库在线安装

    用easy_install和pip来安装第三方库很方便 它们的原理其实就是从Python的官方源pypi.python.org/pypi 下载到本地,然后解包安装. 不过因为某些原因,访问官方的pyp ...

  5. 创建线程(Background Thread)的N种方式

    第一.Thread类 Thread类是实例化线程的主要方法:一个Thread实例管理一个线程,即执行序列.通过简单实例化一个对象,就可以创建一个线程,然后通过Thread对象提供的方法对线程进行管理. ...

  6. VB.NET中使用代表对方法异步调用

    按照我们常规的思维方式,计算机应该是干完一件事,然后再干下一件.用术语来说,这种执行任务的方式叫做同步执行(Synchronous Execution).既然这样,那么为什么要引入异步执行的概念呢? ...

  7. unique函数 (STL)

    转自http://www.cnblogs.com/heyonggang/archive/2013/08/07/3243477.html 类属性算法unique的作用是从输入序列中“删除”所有相邻的重复 ...

  8. Java获取 JVM 运行信息

    import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; impor ...

  9. 解决codeforces访问慢的问题

    转载至:http://blog.csdn.net/wmx16835/article/details/38639451 前阵子打Codeforces(以下简称CF),每次比赛的时候都要等待网页刷新.不是 ...

  10. Centos 7安装gvim

    sudo yum install vim-X11 download vimrc from github