在Linux下,可以键入vimtutor命令,有一个包含实操的vim教程。

1.VI的三种命令模式
  1)Command(命令)模式,用于输入命令;
  2)Insert(插入)模式,用于插入文本;
  3)Visual(可视)模式,用于视化的的高亮并选定正文;

2.文件的保存和退出
  2.1):w  保存;
  2.2):w  filename 另存为filename;
  2.3):wq! 保存退出;
  2.4):wq! filename 注:以filename为文件名保存后退出;
  2.5):q! 不保存退出;
  2.6):x 应该是保存并退出 ,功能和:wq!相同

3.光标移动
  3.1)j 向下移动一行;
  3.2)k 向上移动一行;

3.3)h 向左移动一个字符;
  3.4)l 向右移动一个字符;

3.5)ctrl+b  向上移动一屏;
  3.6)ctrl+f  向下移动一屏;

3.7)向上箭头    向上移动;
  3.8)向下箭头    向下移动;
  3.9)向左箭头    向左移动;
  3.10)向右箭头    向右移动;

3.11)$ 移至行尾
  3.12)gg 移动至文档开始
  3.13)GG 移动到文档尾部
  3.14)ctrl + f 向前翻页
  3.15)ctrl + b 向后翻页

4.插入模式
  4.1)i  在光标之前插入;
  4.2)a  在光标之后插入;

4.3)I 在光标所在行的行首插入;
  4.4)A  在光标所在行的行末插入;

4.5)O  在光标所在的行的上面插入一行;
  4.6)o  在光标所在的行的下面插入一行;

4.7)s  删除光标后的一个字符,然后进入插入模式;
  4.8)S  删除光标所在的行,然后进入插入模式;

5.文本内容的删除
  5.1)x 一个字符;
  5.2)#x 删除几个字符,#表示数字,比如3x;
  5.3)dw 删除一个单词;
  5.4)#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
  5.5)dd 删除一行;
  5.6)#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
  5.7)d$ 删除光标到行尾的内容;
  5.8)J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

6.恢复修改及恢复删除
  6.1)u  撤消修改或删除操作;

7.可视模式
  可视模式是vim提供的,vi没有可视模式,如果我们想键入vi ***.txt时调用vim,则可以输入以下命令:
  echo alias vi=vim >> /etc/profile
  下次登录后,使用vi命令打开文件就直接调用vim了

8.复制及粘帖
  8.1)yy 复制当前行
  8.2)#yy 复制多行,#用数字表示,比如3yy表示复制三行;
  8.3)如果在可视模式下,y可以复制选定的内容

8.4)p在光标之后粘帖
  8.5) shift + p 在光标之前粘帖

9.查找和替换
  9.1)/SEARCH  注:正向查找,按n键把光标移动到下一个符合条件的地方;
  9.2)?SEARCH  注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

9.3):s /SEARCH/REPLACE/g  注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
  9.4):%s /SEARCH/REPLACE  注:把文档中所有SEARCH替换成REPLACE;
  9.5):#,# s /SEARCH/REPLACE/g  注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;

linux vi基本操作的更多相关文章

  1. linux的基本操作与常见命令

    linux的基本操作与常见命令: jdk的安装: 步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的) 查看虚拟机版本:sudo uname --m i686 //表示是3 ...

  2. Linux——vi命令详解

    转载 Linux--vi命令详解   原文链接:https://blog.csdn.net/cyl101816/article/details/82026678 vi编辑器是所有Unix及Linux系 ...

  3. Linux vi/vim(转载)

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

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

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

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

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

  6. linux vi 工具的使用

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

  7. linux vi修改后如何保存

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

  8. linux vi查找命令

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

  9. 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 ...

随机推荐

  1. MyBatis的getMapper()接口、resultMap标签、Alias别名、 尽量提取sql列、动态操作

    一.getMapper()接口 解析:getMapper()接口 IDept.class定义一个接口, 挂载一个没有实现的方法,特殊之处,借楼任何方法,必须和小配置中id属性是一致的 通过代理:生成接 ...

  2. 设计模式学习之路——Decorator装饰模式(结构模式)

    子类复子类,子类何其多 假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能,比如水陆两栖功能,比如卫星定位功能等等. 动机 ...

  3. 工行ATM转账——事务操作

    今儿去工行ATM给已朋友转账,遇到这么个情况: 选择对外转账后输入转入账号(输入两次),接着提示输入转入金额(输入一次金额),按确定,系统提示交易中,3秒左右,提示“输入账号无效”,系统自动中断了操作 ...

  4. JavaScript基本语法(五)

    BOM 浏览器对象模型 BOM (浏览器对象模型),它提供了与浏览器窗口进行交互的对象. 一.window对象 Window对象表示整个浏览器窗口. 所有浏览器都支持 window 对象.它表示浏览器 ...

  5. Wireshark查看https的通讯

    如果有服务端的证书,那我们可以分析web下https的通讯情况,在特别的场景下有一定的用处,如外部审计 如下是在wireshark或tshark中配置查看https的设置 wireshark验证 ts ...

  6. 转一篇简洁的UIView动画编程方法

    iOS  中的 UIView 动画编程其实还是很简单的,像 CSS3 一样,在给定的时间内完成状态连续性的变化呈现.比如背景色,Frame 大小,位移.翻转,特明度等. 以前我使用的编程方式都是用下面 ...

  7. SJGestureUnlock快速集成手势解锁

    前言:如果页面显示不完整或图片看不了还请移步:简书 SJGestureUnlock.h 常用自定义属性 @interface SJGestureUnlock : UIView @property (n ...

  8. ASP.NET获取真正的客户端IP地址的6种方法

    Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真 ...

  9. 将String转化成Stream,将Stream转换成String

    using System;using System.IO;using System.Text;namespace CSharpConvertString2Stream{     class Progr ...

  10. SQL Challenge ——快速找到1-100之间缺失的数

    有个经典的题目:1-100之间的数字(不重复)存放在表里,共95行一列,但是里面缺了5个数字,怎么用SQL最快找出那五个数字. 我们先来看看Oracle数据库如何实现,如下所示,我们先准备测试环境和数 ...