zoukankan      html  css  js  c++  java
  • Linux高级运维 第五章 Vim编辑器和恢复ext4下误删除的文件-Xmanager工具

    5.1  vim主要模式介绍,vim命令模式。

    确保系统已经安装了VIM工具

    [root@panda ~]# rpm -qf `which vim`
    
    [root@panda ~]# rpm -qf `which vi`

    扩展:

    问:vi和vim是同一个软件包安装的吗?

    答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

    首次进入文件    ---- 命令模式

    出现 “Insert” ---- 编辑模式

    输入:          ---- 命令行模式

    A:从编辑模式到命令行模式怎样切换?        

           编辑模式->esc->命令模式->: ->命令行模式

    B:字符操作(怎样进入编辑模式?)

    进入编辑模式 a i o  A I O

    说明:

    i 当前字符之前插入 (光标前)

    I 行首插入  (行首)

    a 当前字符之后插入 (光标后)

    A 行尾插入(行尾)

    o下一行插入 (另起一行)

    O上一行插入(上一行插入)

    x 向后删除一个字符        等同于delete

    X 向前删除一个字符           

    u 撤销一步   每按一次就撤销一次

    r 替换

    5.1.2 在命令模式下做的操作:

    光标定位

    hjkl  左下上右

    0 和 home键表示切换到行首, $和end键表示切换到行尾

    gg 快速定位到文档的首行 ,  G定位到未行

    3gg 或者 3G  快速定位到第3行

    /string(字符串)   -----找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh

    /^d  ----^意思表示以什么开头 ,,查找以字母d开头的内容

    /t$   -----$意思表示以什么结尾,,查找以字母t结尾的内容

    vim + a.txt  打开文件后,光标会自动位于文件的最后一行

    如何对文本进行编辑

    删除、复制、粘贴、撤销

    y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位)  

    复制N行: Nyy  ,比如: 2yy ,表示复制2行

    dd(删除,以行为单位,删除当前光标所在行)

    删除N行: Ndd  ,比如: 2dd ,表示删除2行

    p : P粘贴

    剪切: dd

    x 删除光标所在位置的字符

    D 从光标处删除到行尾

    撤销操作

    ctrl+r  还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样

    r 替换,或者说用来修改一个字符

     

    总结:vim如何进入其它模式

    a A  o O  i I 都是可以进行插入,编辑模式

    : 进入命令行模式

    v 进入可视模式

    ctrl+v 进入可视块模式

    V 进入可视行模式

    R 擦除、改写,进入替换模式

    你进入以上模式后,想要退出 ,按esc

    扩展:插入模式中的操作

    ctrl+p可以进行补全操作,所需要的内容必须是在当前打开的文件内存在的,它只针对当前文件

    5.1..3 V模式(列)

    进入v模式 移动光标选择区域、

    编程的时候需要进行多行注释:
           1)、ctrl+v 进入列编辑模式

           2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来

           4)、然后按大写的I

           5)、再插入注释符或者你需要插入的符号,比如"#"

           6)、再按Esc,就会全部注释或添加了

     

    删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。

    5.1.4 命令行模式操作

    :w 保存 save

    :w! 强制保存

    :q 没有进行任何修改,退出 quit

    :q! 修改了,不保存,强制退出

    :wq 保存并退出

    :wq! 强制保存并退出

    :x 保存退出

    例: wq! 强制保存并退出

    [root@xuegod63 ~]# ll /etc/shadow

    ----------. 1 root root 1179 9月  19 12:57 /etc/shadow

    [root@xuegod63 ~]# vim /etc/shadow

    调用外部文件或命令

    假设:我想要写入我的网卡MAC地址,,我要查看一下,当前在vim编辑文档,照着写。这样好麻烦。

    在命令行模式下操作:

    :!ifconfig 调用系统命令

    !+命令

    读取其他文件。(把其他文件中的内容追加到当前文档中)

    :r /etc/hosts

     

    文本替换

    格式 : 范围(其中%所有内容)   s分隔符 旧的内容 分隔符 新的内容  (分隔符可以自定义)

    默认是每一行的第一个符合要求的词   (/g全部)

    :1,3 s/bin/xuegod    替换第1到3行中出现的第一个bin进行替换为xuegod

    :1,3 s/bin/xuegod/g  替换第1到3行中查找到所有的bin进行替换为xuegod

    :3 s/xue/aaaaa     #只把第3行中内容替换了

    :% s/do/xuegod/g      将文本中所有的do替换成xuegod

    :% s/do/xuegod/gi      将文本中所有的do替换成xuegod, 并且忽略do的大小写

    :% s@a@b@g          将文本中所有的a替换成b

    5.1.5 自定义vim使用环境

    临时设置

    :set nu  设置行号

    :set nonu 取消设置行号

    :noh   取消高亮显示

    永久设置环境

    vim /etc/vimrc  设置后会影响到系统所有的用户

    ~/.vimrc   #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个

    例:

    [root@xuegod63 ~]# cat  /root/.vimrc 

    set nu

    [root@xuegod63 ~]# vim  /root/.vimrc

     

    vim打开多个文件

    方法1:以上下形势,打开两个文档

    [root@xuegod63 ~]# vim -o /etc/passwd /etc/hosts

  • 相关阅读:
    文章截断显示方法
    mysql数据库基础知识和认识
    js 返回上一页和刷新以及页面跳转
    编译原理根据项目集规范族构造LR(0)分析表
    编译原理LR(0)项目集规范族的构造详解
    编译原理复习
    FIRST集合、FOLLOW集合及LL(1)文法求法
    UML时序图
    UML活动图(二)
    UML活动图(Activity Diagram)
  • 原文地址:https://www.cnblogs.com/aqicheng/p/10570167.html
Copyright © 2011-2022 走看看