vi的三种模式:命令模式、编辑模式、尾行模式

一.命令模式

  1.光标移动

    a、字符级

      左(h)  下(j)  上(k)  右(l)

    b、单词级

      w word移动到下个单词首字母

      b before上个单词首字母

      e end下个单词结尾

    c、行级

      0 行首

      $ 行尾

    d、段落级{ 上  } 下(没必要记忆)

    e、屏幕级 H屏首  L屏尾(没必要记忆)

    f、文档级

      G 文档尾部

      nG 文档第n行

      gg 文档第一行

      crtl+f  <--> pagedown向下翻页

      crtl+b <--> pageup向上翻页

      n+enter      向下移动n行

  2.内容删除

    dd  //删除当前行

    ndd  //自当前行向下删除n行

    x  //删除当前字符

    cw  //删除光标所在字母后面的字符

  3.内容复制

    yy  //复制光标当前行

    nyy  //自当前行复制n行

    p  //对(删除)复制的内容进行粘贴

  4.相关快捷操作

    u  //撤销

    .  //重复上次操作

二.编辑模式  (编辑模式下可以输入任意内容)

  a 光标向后移动一位

  i  当前位置

  o 另起新行

  s 删除光标所在字符

  r 替换光标所在字符

三.尾行模式  (用于保存内容、查找替换、设置行号等功能性操作)

  :q    //quit退出vi编辑器

  :w   //write保存修改的内容

  :wq  //保存并退出

  :q!  //强制退出,当对文本内容作了修改而不想要保存时

  :w!  //强制保存,当没有文本的写权限时

  :set number  或  :set nu  //显示行号

  :set nonumber  或  :set nonu  //取消显示行号

  :/内容/  或  /内容  //查找指定内容  //n将光标移动到下一个目标  //N上一个

  :n  //跳转到第n行

  :s/targetContent/newContent  //替换当前行第一个targetContent为newContent

  :s/targetContent/newContent/g  //整行相应内容替换

  :%s/targetContent/newContent  <==> :1,$s/word1/word2/g //整个文本相应内容替换

  :n1,n2s/word1/word2/gc      //:100,200s/word1/word2/g   把100行到200行之间的word1替换为word2,并提示是否替换  c->confirm

Linux之vi三种模式常用操作的更多相关文章

  1. vi/vim 三种模式的操作

    来源:http://www.runoob.com/linux/linux-vim.html ps:刚刚进入vi/vim 是命令模式 一.命令模式 i 切换到输入模式,以输入字符. x 删除当前光标所在 ...

  2. vi三种模式的切换

    基础上vi/vim共分为三种模式,分别是命令模式,输入模式和底线命令模式. 一.命令模式 用户刚刚启动vi/vim,便进入了命令模式. 在此状态下敲击键盘动作会被vim识别为命令,而非输入字符.比如我 ...

  3. 转载:Linux的vim三种模式

    一般模式:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字. 编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式:在一般模式下按: ...

  4. Linux的vim三种模式及命令

    一般模式:在Linux终端中输入"vim 文件名"就进入了一般模式,但不能输入文字.编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式 ...

  5. Vi三种模式详解

    命令行模式 (command mode/一般模式) 任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式:我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时 ...

  6. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  7. VIM 三种模式和常用命令

    引言 大数据开发工作中,周围的同事不是用 VIM 就是 Emacs,你要是用 UltraEdit 或 notepad++ 都不好意思跟人家打招呼...什么插件呀.语法高亮呀.拼写检查呀,能给它开的都给 ...

  8. vim(vi)下的三种模式及其相关命令

    vim(vi)下的三种模式1.命令行模式 2.末行模式 3.插入模式 三种模式的联系及其相互转换 在我们输入vi命令进入编写程序的页面后,我们看到的是命令行模式,在我们输入“a”.“i”.“o”.“O ...

  9. Linux初学之vmware Workstation 网络连接三种模式

    简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...

随机推荐

  1. OSCache-JSP页面缓存(2)

    如果在jsp中使用如下标签 <cache:cache key="foobar" scope="session"> some jsp content ...

  2. C++中使用TCP传文件

    在两个文件中都定义文件头和用到的宏: #define MAX_SIZE 10 #define ONE_PAGE 4096 struct FileHead { ]; int size; }; 在客户端发 ...

  3. Tornado抽象方法抽象类

    #!/usr/bin/env python #抽象方法抽象类 import abc class Foo(metaclass=abc.ABCMeta): def f1(self): raise Exce ...

  4. JQuery实现瀑布流页面

    views.py from django.shortcuts import render,HttpResponse from app01 import models import json # Cre ...

  5. Reporting Service中配置oracle 数据连接

    一.安装配置报表服务器 数据源 1.安装oracle客户端32位“Oracle - OraClient11g_home1_32bit” 2.配置监听及tnsnames.ora 3.配置ODBC 添加一 ...

  6. java代理模式与装饰者模式

    静态代理和装饰者模式的区别: 先来看一下装饰者模式的定义:装饰者模式动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 总结一下采用装饰者模式是为了增强或拓展原对象的功能. ...

  7. Java 实现分页功能

    driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test?allowMultiQueries=true&useUnic ...

  8. opennebula 安装指定参数

    [root@opennebula opennebula-]# ./install.sh -u oneadmin -g oneadmin -k -d /home/oneadmin/ -u 指定用户-g ...

  9. 19-字符串匹配(kmp || substr,find)

    链接:https://www.nowcoder.com/acm/contest/77/C来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...

  10. C++ 重载操作符- 01 简单的入门

    重载操作符的定义 这篇博客是对 重载操作符 的一个概要性的介绍. 重载操作符是C++语言的高级功能,当我们写一个类的时候,可以根据需要学一个重载操作符,如果 不需要,我们可以不写. 大量的操作符都可以 ...