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. IOS设置button 图片 文字 上下、左右

    [btn setImage:imgNor forState:UIControlStateNormal]; [btn setImage:imgSel forState:UIControlStateSel ...

  2. 设置UITabBarController的背景颜色

    if (IOS7) { self.tabBarController.tabBar.barTintColor = kTAB_BAR_GB_COLOR; }else{ self.tabBarControl ...

  3. 【转】与BT下载相关的概念

    1. DHT DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法.在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整 ...

  4. node.js在windows下的学习笔记(9)---文件I/O模块

    开发中我们经常会有文件I/O的需求,node.js中提供一个名为fs的模块来支持I/O操作,fs模块的文件I/O是对标准POSIX函数的简单封装. 1.将"hello world" ...

  5. gradle编译出错:Execution failed for task &#39;:app:compileTestDebugJava&#39;.

    今天更新了android studio,从0.5.3升级到0.6.1版本号,结果在IDE中编译时没有问题.可是在命令行时编译就会出现下面错误: :app:compileTestDebugJava FA ...

  6. 根据Android架构分层推荐开发书籍

    Android系统的架构可以分为六个部分.笔者根据自己的体会为大家推荐每个部分对应的精品书籍,不喜勿喷.  1.Android Application <Android Developer Do ...

  7. iOS开发——新特性OC篇&IOS9 SDK新特性

    iOS9 SDK新特性 WWDC 2015苹果开发者大会是移动开发者一年一度的盛会,InfoQ中文站除了第一时间整理Keynote内容分享给大家之外,还邀请了资深的一线开发者分享他们的收获.本文为王巍 ...

  8. 获取用户ip接口

    <script type="text/javascript" charset="gb2312" src="http://counter.sina ...

  9. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  10. ajax检查用户名

    Ajax实现的效果 究竟Ajax能实现什么功能呢?今天下午学习了一下Ajax,现在跟大家分享一下我的学习心得.Ajax是什么?工作机制又是什么?可能不大准确,只是我个人看了视频学习后的一点点看法. A ...