a)vi编辑器 (visual Interface简称) Linux常用,输出,删除,查找,替换,块操作,定制

b) vim编辑器 (vi IMproved简写)是vi增强版本,在vi上增加了很多功能,如代码的关键字高亮等。vim兼容所有的vi指令

如何使用?(以下是vi为例,用vim也一样的)

直接vi filename, 如果说main.c 不存在在,下面会出现 [New File] 直接:q 是不保存的

1) 用打开main.cc文件

vi main.c

2) 查看当前的文本文件(在ssh登录服务器使用)

ll
    1. vi 的三种模式:

      • 命令模式:可移动光标,修改,删除,复制,搜索
      • 插入模式:a i o
      • 扩展模式,由 : 进入 退出,保存,查找 替换
    2. 移动光标:

      • 左右上下: hjkl 或者 方向键
      • w 跳到下个字符
      • b 跳到上个字符
      • ( 跳到上个句子
      • ) 跳到下个句子
      • { 跳到下个段落
      • } 跳到上个段落
    3. 命令模式下 复制 删除 修改:
      cc : 修改一行,也就是开启Insert模式
      cl : 修改一个字符
      cw : 修改一个词 ,注意:也就是从光标开始向后开始修改

      dd : 删除一行 D:也可以
      dl : 删除一个字符, 光标后
      dw : 删除一个词 光标后

      yy : 复制一行
      yl : 复制一个字符 ,光标后
      yw : 复制一个词 ,光标后开始复制一个词

    4. 撤销操作

      • u 撤销最近一次修改 undo
      • ctrl+r 取消最后一次撤销 redo
      • U 撤销所有的修改
    5. 查找操作:

      • /searchText 由光标向后搜索 (进入命令模式 : )
      • ?searchText 由光标向前搜索
      • n 由光标向下一步搜索
      • N 由光标向前搜索
    6. 粘贴操作:

      • p 粘贴 复制或者修改过或删除的内容(即使删除 系统认识下次会用到 也复制上饿了)
      • p 粘贴在行上方,
      • P(大写) 粘贴在行下方
    7. 范围操作

      • dto 删除从光标到字符o的所有字符
      • ro 将光标下的字符替换成o (修改字符方式可以这种比cl快)
      • dw 删除由光标开始后的一个词
      • 6dd 删除6行文字
      • 6yy 复制6行文字
      • 6x 删除6个字符
      • R 替换
    8. 保存 退出 强制退出

      • :wq 保存并退出
      • :w! 强制保存
      • :q! 强制退出
      • :w 保存
      • :q 退出
      • :wq! 强制保存并退出
    9. 快速文件内定位

      • G 跳到文件最后一行
      • 6G 跳到文件的第6行
      • ctrl+d 滑动到文件的下半屏
      • CTRL+u 滑动到文件的上半屏
    10. 快速屏幕内定位

      • H 跳到本屏幕的第一行
      • M 跳到本屏幕中间一行
      • L 跳到本屏幕最后一行
      • z+Enter 让当前一行成为屏幕的第一行
      • z- 让当前一行成为屏幕的最后一行
    11. 查找并批量替换

      • set 来查找
      • 默认当前行查找
      • :s/a/b 就是把字符a替换成字符b(仅替第一个)
      • :s/a/b/g 把当前光标下一行中的a全都替换成b
      • :1,20s/a/b/g 在1-20行中的a全都替换成b
      • :1,¥s/a/b/g 在整个文件中的a全都替换成b
    12. 读取和保存

      • :r filePath 把filePath路径下文本粘贴在光标后
      • :1,20 w fileName.txt 在1-20行文本内容写到fileName.txt(出现在你当前命令的路径下)
      • :1,$ w fileName.txt 在整个文本内容写到fileName.txt(出现在你当前命令的路径下)
      • :1,20 w>> fileName.txt 在1-20行文本内容继续粘贴到fileName.txt(出现在你当前命令的路径下)
    13. 设置

      • :set 设置常用的配置选项
      • :set all 显示所有的配置选项
      • :set number 设置显示行号
    14. 恢复文件

      • vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:
      • O 只读打开,不改变文件内容
      • E 继续编辑文件,不恢复.swp文件保存的内容
      • R 将恢复上次编辑以后未保存文件内容
      • Q 退出vi
        * D 删除.swp文件
      • 或者使用vi -r 文件名来恢复未保存的内容

vi编辑器经典技巧 -备的更多相关文章

  1. Linux vi编辑器使用技巧

    vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能. ...

  2. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  3. vi编辑器的常见使用技巧

    光标移动 在普通模式下, 1.按 h 向左移动光标 按 h + 数字n 可以向右移动 n个字符   比如 h + 5  就是向左移动5个字符 2.按j向下移动光标 3.按k向上移动光标 4.按 l 向 ...

  4. vi编辑器使用记录

    01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...

  5. 普通Linux用户1分钟上手vi编辑器

    *导读:普通用户只要花1分钟看第二部分即可.高级用户请忽略本文* 目录 1. 编辑器之战 2. vi的使用 2.1 vi的3个模式 2.2 vi的3个模式切换 2.3 vi最基本的命令 2.4 vi的 ...

  6. vi 常用 文本编辑 技巧

    归纳常用的Vi/Vim 文本编辑技巧,便于以后查阅. 一.把空格替换为换行 :% s/ /\r/g 二.把空行删除 :g/^$/d 三.vim以16进制打开和编辑文件 先用vim以二进制格式打开需要编 ...

  7. ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?(图文详解)

    不多说,直接上干货! 问题详情 ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?  解决办法 是由于预装的vim软件没更新,运行   sudo apt-get install vi ...

  8. linux中vi编辑器(转载)

    三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入“i ”进入输入模式: 末行模式:按“:”进入末行模式: 在输入模式切换至末行模式 ...

  9. vi编辑器使用

    显示行号 set nu 取消行号 set nonu 定位到某一行 gg 定位到首行 G 定位到最后一行 在VI编辑器中切换调用外部shell命令 :!ifconfig   在编辑过程中,看ip地址 插 ...

随机推荐

  1. 浅谈C#抽象类和C#接口

    原文地址:http://www.cnblogs.com/zhxhdean/archive/2011/04/21/2023353.html 一.C#抽象类: C#抽象类是特殊的类,只是不能被实例化:除此 ...

  2. Linux下安装GCC5.3.0(亲测有效)

    对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧..知识不系统的坏处啊! 首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的 ...

  3. JAVA 并发实现六(Volatile的使用)

    Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量. 这两种机制的提出都是为了实现代码线程的安全性.其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低 ...

  4. 安装 Android 运行环境

    如果你恰好有一些旧的. 过时的 Android SDK 版本,请务必把所需的包更新至下面提到的版本并安装所有缺少的部分. 安装和配置 SDK 安装最新的 JDK. 使用 brew install an ...

  5. spring + shiro + cas 实现sso单点登录

    sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码 系统模块说明 cas: 单点登录模块,这里直接拿的是cas的项目改了点样 ...

  6. (转)三星i9500/Galaxy S4 刷基带教程

    一.手机基带是什么? 三星手机的基带用通俗的话来说就是手机中的一个负责信号调节并进行传输给系统的电路设置,基带的好坏直接影响到在同等信号强度下,手机的获取信号的能力. 二.为什么要刷基带? 常说的基带 ...

  7. javax.management

    软件包 javax.management 的描述 提供 Java Management Extensions 的核心类. Java Management Extensions (JMXTM) API ...

  8. 飞行模式下不让打开FM

     android 判断手机当前是否是飞行模式,在AirplaneModeEnabler中 提供了isAirplaneModeOn方法来判断当前是否是Airplane mode:public stati ...

  9. 实战:推断mysql中当前用户的连接数-分组筛选

    #connets.sh #!/bin/sh #ocpyang@126.com #依据输入參数u或d来显示出相应的username或数据库名中用户的连接数. #也能够输入u 详细username或d 详 ...

  10. Intellj IDEA 启动参数调优

    (修改前记得备份) 修改IntellJ/bin/idea.exe.vmoptions修改成 -Xms512m -Xmx512m -Xmn164m -XX:MaxPermSize=250m -XX:Re ...