ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux中vim编辑器的总结

2019-06-09 18:51:59  阅读:177  来源: 互联网

标签:字符 删除 所在 模式 vim 编辑器 Linux 光标


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,$        表示全文
%          表示全文

 

标签:字符,删除,所在,模式,vim,编辑器,Linux,光标
来源: https://www.cnblogs.com/ant-colonies/p/6262380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有