vi/vim常用命令

  vim其实就是vi的升级版,vi里的所有命令vim里都可以用,一般使用来说几乎没什么差别。

  注:本篇文章区分大小写!

  

vi / vim三级模式的关系: 

  命令行模式

  任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。

  编辑/插入/文本编辑模式

在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

  末行模式

  末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。

  

  ①:从命令模式进入到末行模式一般就是准备保存/不保存退出,输入“:”自动跳到终端此页的末尾。如图

    

  ②:从末行模式到命令模式,“Esc”。

  ③:命令模式到编辑模式可以有多种,通常 press “ i ”。

  ④:编辑模式到命令模式,“Esc”。

vi / vim命令:

   vi [filename] :打开文件,若文件不存在则新建文件并打开。

  插入内容:

    i: 插入光标前一个字符

    I: 插入行首

    a: 插入光标后一个字符

    A: 插入行未

    o: 向下新开一行,插入行首

    O: 向上新开一行,插入行首

  移动光标:

     h: 左移

    j: 下移 

    k: 上移 

    l: 右移

    M: 光标移动到屏幕中间行 

    L: 光标移动到屏幕最后一行行首 

    G: 移动到指定行,行号 -G

    w: 向后一次移动一个字 

    b: 向前一次移动一个字

    {: 按段移动,上移 

    }: 按段移动,下移

    Ctrl+d: 向下翻半屏 

    Ctrl+u: 向上翻半屏
  
    Ctrl+f: 向下翻一屏     Ctrl+b: 向上翻一屏     gg: 光标移动文件开头     G: 光标移动到文件末尾

  删除命令:

    x: 删除光标后一个字符,相当于 Del 

    X: 删除光标前一个字符,相当于 Backspace

    dd: 删除光标所在行,n dd 删除指定的行数 

    D: 删除光标后本行所有内容,包含光标所在字符 

    d0: 删除光标前本行所有内容,不包含光标所在字符

    dw: 删除光标开始位置的字,包含光标所在字符

  撤销命令:

    u: 一步一步撤销 

    Ctrl+r: 反撤销

  重复命令:

    .: 重复上一次操作的命令

  文本行移动:

    >>: 文本行右移 
  
   <<: 文本行左移
    
 复制粘贴:
    yy: 复制当前行,n yy 复制 n 行 

    p: 在光标所在位置向下新开辟一行,粘贴

  可视模式:

    v: 按字符移动,选中文本
  
   V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动

  替换操作:

    r: 替换当前字符 

    R: 替换当前行光标后的字符

  查找命令:

    /: str查找
    n: 下一个
    N:上一个

VI/VIM行号显示:

   需要时启用:

    在vim命令行模式下输入  :set nu  取消显示:在vim命令行模式下输入:  set nonu

      永久自动显示:

          终端:vim   ~/.vimrc  打开后是一个空文件,添加 set nu,保存退出,重新启动vi/vim。

  替换命令(并不常用):

    把abc全部替换成123:     末行模式下,将当前文件中的所有abc替换成123  :%s/abc/123/g

    末行模式下,将第一行至第10行之间的abc替换成123    :1, 10s/abc/123/g

vi / vim的区别:

https://www.cnblogs.com/KiraEXA/p/5994078.html

Linux(Ubuntu)常用命令(五)—— vi/vim常用操作的更多相关文章

  1. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

  2. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  3. 想法子记忆Vi/Vim常用操作及指令

    本笔记有特殊目录,点击开启: 专有目录 在Linux系统中编辑文本总是离不开一位老帮手--Vi.而因为其诞生的年代有些久远,有些操作在现在看来可能有点"反直觉". 于是我决定写这样 ...

  4. Linux命令之vi/vim(一)

    vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但不具备windows下word的排版功能.Vim是Vi improved的缩写,是vi的改进版. vi和vim的区别: 多级撤销.在vi中按u ...

  5. linux vi(vim)常用命令汇总(转)

    前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...

  6. Linux常用命令 - 五种创建文件命令详解

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 创建文 ...

  7. vi/vim 常用命令总结

    目录 Linux vi/vim编辑 vim键盘图 vim的三种模式 命令模式.输入模式.输出模式 vim使用实例 vi/vim按键说明 第一部分:一般模式可用的光标移动.复制粘贴.搜索替换等 第二部分 ...

  8. Vi/Vim常用命令(附快捷切换方法)

    vi/vim有两种模式,正常(命令行)模式 和编辑模式,在命令行模式下,任何键盘输入都是命令,在编辑模式下,键盘输入的才是字符. 启动/关闭Vi/Vim 启动:vi 打开 Vi/Vim编辑器vi 文件 ...

  9. 【转】VI/VIM常用命令

    原文网址:http://www.blogjava.net/woxingwosu/archive/2007/09/06/125193.html Vi是“Visual interface”的简称,它在Li ...

随机推荐

  1. init函数和匿名函数

    init函数: 基本介绍: 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用. 案例说明: //init函数,通常可以 ...

  2. LeetCode #237. Delete Node in a Linked List 删除链表中的节点

    https://leetcode-cn.com/problems/delete-node-in-a-linked-list/ 非常巧妙的一道题. 题目没有给head,心想没有head我怎么才能找到要删 ...

  3. Solution for NULL pointer dereference

    •mmap_min_addr forbids users from mapping low addresses 1. First available in July 2007 2. Several c ...

  4. hdu 4001 To Miss Our Children Time( sort + DP )

    To Miss Our Children Time Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Jav ...

  5. wireshark自动化之tshark命令行

    tshark是wireshark安装目录下命令行工具 使用tshark可以通过自动化方式调用wireshark tshark -a duration:30 抓包30秒-w cap.cap 保存为cap ...

  6. BZOJ 1683.City skyline 城市地平线

    传送门 从左到右扫一遍,考虑什么时候会和之前形成同一幢房子从而不用统计 显然是当前的高度和之前某个点高度相同,并且它们之间没有更矮的建筑 考虑用一个单调栈维护一个单调上升的房子轮廓,然后对于扫到的每一 ...

  7. Centos上Docker的安装及加速

    #环境 :内核的版本必须大于3.10 #安装docker yum install epel-release -y yum install docker-ce ##安装docker-ce #配置文件 d ...

  8. ltp-ddt realtime_cpuload_10p 涉及的cpuloadgen交叉编译及安装

    1.下载源码 https://github.com/ptitiano/cpuloadgen/archive/v0.94.tar.gz 解压 tar -zxvf cpuloadgen-0.94.tar. ...

  9. Mybatis-Generator demo

    使用Mybatis-Generator自动生成Dao.Model.Mapping相关文件(转) https://www.cnblogs.com/smileberry/p/4145872.html == ...

  10. gps位置坐标转百度坐标

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...