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

Linux高级运维 第五章 Vim编辑器和恢复ext4下误删除的文件-Xmanager工具的更多相关文章

  1. Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复

    4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根  c:\    d:\   e ...

  2. Linux高级运维 第三章 Linux基本命令操作

    3.1  Linux终端介绍.Shell提示符.Bash基本语法 3.1.1  登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...

  3. Linux系统运维笔记(五),CentOS 6.4安装java程序

    Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选  ru ...

  4. Linux高级运维 第八章 部署docker容器虚拟化平台

    8.1  Docker概述 实验环境: CENTOS7.4-63 64位 Dcoker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到 ...

  5. Linux高级运维 第二章 Linux基本操作和自己动手组装服务器

    2.1  Linux网络相关概念和修改IP地址的方法 2.1.1  网卡的命名规则       Centos 6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连 ...

  6. Linux云自动化运维第五课

    Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...

  7. 线上Linux服务器运维安全策略经验分享

    线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...

  8. 【微学堂】线上Linux服务器运维安全策略经验分享

      技术转载:https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&sn=6d403ab4 ...

  9. Linux服务器运维安全策略经验分享

    http://jxtm.jzu.cn/?p=3692 大家好,我是南非蚂蚁,今天跟大家分享的主题是:线上Linux服务器运维安全策略经验.安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折 ...

随机推荐

  1. APP版本更新通知流程测试要点

    一.APP版本更新通知流程图如下: 二.测试注意点: 1.Android更新直接下载APK,IOS引导至APP Store更新页面: 强制更新------只有"立即更新" 1.一般 ...

  2. python 模块之lxml 防xss攻击

    Use lxml.html.clean! It's VERY easy! from lxml.html.clean import clean_html print clean_html(html) S ...

  3. hydra暴力破解ssh服务器密码

    概述 我都没想到,第一次暴力破解服务器密码.竟然是对自己的单位服务器出手..囧,因为还没来得及找测试部要来服务器登录密码,测试部负责人已经下班走了.后来又联系不上,这要更新代码,怎么办..于是就对测试 ...

  4. 阿里微服务架构下分布式事务解决方案-GTS

    虽然微服务现在如火如荼,但对其实践其实仍处于初级阶段.即使互联网巨头的实践也大多是试验层面,鲜有核心业务系统微服务化的案例.GTS是目前业界第一款,也是唯一的一款通用的解决微服务分布式事务问题的中间件 ...

  5. Mac PyCharm激活码(转载CSDN的猪哥66文章)

    对于很多刚接触python的新手来说,各种资源都是非常稀缺的.我也是刚接触python不久的新手,有好的资源就分享出来大家共同进步. 这篇文章是教你怎么安装和破解pycharm的教程,我在2019.4 ...

  6. asp.net core系列 59 Ocelot 构建基础项目示例

    一.入门概述 从这篇开始探讨Ocelot,Ocelot是一个.NET API网关,仅适用于.NET Core,用于.NET面向微服务/服务的架构中.当客户端(web站点.ios. app 等)访问we ...

  7. 设计一下类似SpringIoC的注入工具~Lind.DI

    通过注解(特性)的方式进行对象的注册与注入,方便,灵活! 本篇主要讲如何去实现,下一篇主要讲如何把它集成到mvc和api环境里,实现自动的注入! spring ioc工作的过程大致为,统一的注册组件, ...

  8. Thymeleaf【快速入门】

    前言:突然发现自己给自己埋了一个大坑,毕设好难..每一个小点拎出来都能当一个小题目(手动摆手..),没办法自己选的含着泪也要把坑填完..先一点一点把需要补充的知识学完吧.. Thymeleaf介绍 稍 ...

  9. Linux也有后悔药,五种方案快速恢复你的系统

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个 ...

  10. geodocker-geomesa安装指南

        最近研究geopyspark原本以为大数据研究能告一段落,因为...     开玩笑的,还要一起建设社会主义呢!! 背景     geotrellis作为一个处理遥感数据的框架,对于遥感数据支 ...