vi( Visual Interface )

vim( VI iMproveed ):为纯文本(ASCII)全屏编辑器,也是模式化编辑器.

vim的三种模式:

1)编辑模式(命令模式)

2)输入模式

3)末行模式

三种模式之间的切换:

1)编辑模式-->输入模式:

i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
    
I:在当前光标所在行的行首,转换为输入模式;
A:在当前光标所在行的行尾,转换为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式.

2)输入模式-->编辑模式:

ESC键1次.

3)编辑模式-->末行模式:

:

4)末行模式-->编辑模式:

ESC键一次或连续ESC键2次.

图片说明(来源网络)

一、打开文件
# vim /path/to/somefile
    vim +#             :打开文件,并定位于第#行;
    vim +               :打开文件,定位至最后一行;
    vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首;
                        说明: # 为十进制正整数    PATTERN 代表模式匹配;
    文件打开后默认处于编辑模式.

二、关闭文件
  1)、末行模式关闭文件

:q  退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :x               --> 相当于

2)、编辑模式下退出
     ZZ: 保存并退出

三、移动光标(编辑模式)

1)、逐字符移动

h: 左
 l: 右
 j: 下
 k: 上
 #h: 移动#个字符

2)、以单词为单位移动

w: 移至下一个单词的词首
    e: 跳至当前或下一个单词的词尾
    b: 跳至当前或前一个单词的词首   
    #w:

3)、行内跳转

0: 绝对行首
    ^: 行首的第一个非空白字符
    $: 绝对行尾

4)、行间跳转

#G:跳转至第#行;
    G:最后一行
    gg: 首行
    
    末行模式下,直接给出行号即可  :#

四、翻屏

Ctrl+f: 向下翻一屏(forward)
Ctrl+b: 向上翻一屏(back)

Ctrl+d: 向下翻半屏(down)
Ctrl+u: 向上翻半屏(up)

五、删除单个字符

x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符

六、删除命令: d  --delete

d命令跟(所有)跳转命令组合使用(#最前,d次之,跳转最后)
#dw, #de, #db, #d$

dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行

末行模式下:(d在末尾)                (作为独立的地址参数,删除该行)
StartADD,EndADDd                  (StartADD,startaddress--startline)
    .: 表示当前行
    $: 最后一行
    +#: 向下的第#行             
    -#: 向上的第#行

七、粘贴命令 p --paste   (最后一次的删除内容保存于内存中,可用于粘贴)

p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,
   如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,
   如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

八、复制命令 y   (yank)
    用法同d命令
    
九、修改:先删除内容,再转换为输入模式
    c: 用法同d命令      (change)
    C:直接将光标处至行位删除,再转换为输入模式

十、替换:r    --replace

r: 替换单个字符
R: 连续替换单个字符

十一、撤消编辑操作 u      (undo)

u:撤消前一次的编辑操作
    连续u命令可撤消此前的n次编辑操作    (内存中保存50次)
#u: 直接撤消最近#次编辑操作

撤消最近一次撤消操作:Ctrl+r

十二、重复前一次编辑操作

.       (点号)

十三、可视化模式

 v 字符选择,会将光标经过的地方反白选择(-- VISUAL --)
V 行选择,会将光标经过的行反白选择(-- VISUAL LINE --)
[Ctrl]+v 区块选择,可以用长方形的方式选择资料(-- VISUAL BLOCK --)
y 将反白的地方复制起来
d 将反白的地方删除掉
以上三种模式可对已选文本做各种普通模式下的操作,通过选择指定文本可进行批量的插入、删除、替换操作(如注释掉脚本中的多行)

十四、查找

/PATTERN             向下匹配
?PATTERN             向上匹配
    n                      按照匹配方向的下一个
    N                      按照匹配方向的上一个

十五、查找并替换

在末行模式下使用s命令  (与sed命令一样)
ADDR1,ADDR2s@PATTERN@string@gi                    (g--global, i--ignore case)
1,$        表示全文
%          表示全文

Linux中vim编辑器的总结的更多相关文章

  1. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  2. Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全

    Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...

  3. 【Linux】Linux中VIM编辑器的使用

    vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...

  4. Linux中vim编辑器的缩进的功能键

    vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...

  5. Linux中vim编辑器莫名下方出现H的问题

    在使用vim编辑文件的时候,不知道自己是按了哪个快捷键,导致了,每次编辑文件时,下方命令行出现数字+H的格式命令,使得整个文件没法编辑,强制退出后进入不能解决问题,各种文件的编辑都不行,找不出原因,最 ...

  6. linux中vim编辑器的翻页命令

    Linux jdk查看文件的最后一行         输入$回车 查看文件的第一行          输入0或者1回车 向前翻页                 Ctrl + f     f为forw ...

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

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

  8. Linux中vim编辑器常用命令

    移动光标 Ctrl+f:屏幕向下移动一页,相当于[Page Down]按键Ctrl+b:屏幕向上移动一页,相当与[PageUp]按键 0或功能键[Home]:数字‘0’:移动到这一行的最前面的字符处$ ...

  9. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键   f 的英文全拼为:forward: ...

随机推荐

  1. UILabel常见用法

    //创建一个UILabel UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50 , 100 , 200 , 560)]; // ...

  2. POJ3087(模拟)

    #include"iostream" #include"string" #include"map" using namespace std; ...

  3. mount error(12): Cannot allocate memory解决办法

    http://hi.baidu.com/zhangbin101004/item/e459f4d1f818dfbd33db903b 今天囧了啊,在ubuntu挂载的文件夹里面解压数据库,结果linux嫌 ...

  4. 【转】 Pro Android学习笔记(七二):HTTP服务(6):HttpURLConnection

    目录(?)[-] Http Get的使用方式 基础小例子 Cookie的使用 重定向 HTTP POST的小例子 基础小例子 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载 ...

  5. uboot启动参数设置分类及方法

    一.nfs启动内核与根文件系统,内核与根文件系统都在nfs上 bootargs=noinitrd root=/dev/nfs rw nfsroot=192.168.0.1:/home/tekkaman ...

  6. ML 徒手系列 最大似然估计

    1.最大似然估计数学定义: 假设总体分布为f(x,θ),X1,X2...Xn为总体采样得到的样本.其中X1,X2...Xn独立同分布,可求得样本的联合概率密度函数为: 其中θ是需要求得的未知量,xi是 ...

  7. Android精品源码分享第四波袭来,免费下载!

    今天又汇总了几个优质的源码分享出来给大家!希望可以帮到需要的朋友~1.Android实现-带动画的饼图控件 分享的是Android技术相关的源码内容,希望对大家的Android学习有帮助.带动画的饼图 ...

  8. JAVA基础知识总结1(概述)

    JAVA概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器. 1994年将Oak语言更名为Java. J ...

  9. [51nod1247]可能的路径(思维题)

    题意:给定(a,b),(x,y)  ,(a,b)可以通向(a-b,b) (a+b,b) (a,a+b) (a,a-b) 求能否到达(x,y) 解题关键:类似于更相减损,变换过程中gcd是一样的. #i ...

  10. JSP有哪些动作?

    JSP使用动作来动态的插入文件,实现重定向和对JavaBean的引用等功能.它公有6个基本动作:jsp:include,jsp:useBean,jsp:setProperty,jsp:getPrope ...