VIM编辑器


 vi是Visual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作。

用户可以根据自己的需要对vim进行定制,这是其他编辑程序所没有的。 vim不是一个排版程序,它不像WORD或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。

vim是全屏幕文本编辑器,它没有菜单,只有命令。

vim的启动与退出

在系统提示符后输入vim和想要编辑(或建立)的文件名,便可进入vim 如果只输入vim,而不带文件名,也可以进入vim

要退出vim,在命令模式下键入如图所示命令。

vim的工作模式


vim有3种基本工作模式:编辑模式、插入模式和命令模式。

进入vim之后,首先进入的就是编辑模式,进入编辑模式后vim等待编辑命令输入而不是文本输入,也就是说这时输入的字母都将作为编辑命令来解释。

在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vim当作文件内容保存起来,

并将其显示在屏幕上。在文本输入过程中(插入模式下),若想回到命令模式下,按ESC键即可。 在编辑模式下,用户按“:”键即可进入命令模式,

此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。

使用vim命令

在编辑模式下,输入如表所示的命令均可进入插入模式

文件相关命令

使用下表中的命令可以在Vi中进行文件相关的操作

文本的复制、删除和移动

使用下表中的命令,可以进行文本的相关操作

了解shell的基本概念


Shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。

Shell最重要的功能是命令解释,从这种意义上来说,Shell是一个命令解释器。

Linux系统中的所有可执行文件都可以作为Shell命令来执行。

将可执行文件作一个分类,如表所示

Shell完成命令的解释过程

当用户提交了一个命令后,Shell首先判断它是否为内置命令,如果是就通过Shell内部的解释器将其解释为系统功能调用并转交给内核执行。

若是外部命令或实用程序就试图在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。

在查找该命令时分为两种情况: 用户给出了命令路径,Shell就沿着用户给出的路径查找,若找到则调入内存,

若没有则输出提示信息 用户没有给出命令的路径,Shell就在环境变量PATH所制定的路径中依次进行查找,若找到则调入内存,若没找到则输出提示信息

Shell的主要版本

Shell支持具有字符串值的变量。

Shell变量不需要专门的说明语句,通过赋值语句完成变量说明并予以赋值。

在命令行或Shell脚本文件中使用$name的形式引用变量name的值。

在Shell中,变量的赋值有下列句法格式:

name=string name是变量名,它的值就是string,“=”是赋值符号。变量名是以字母或下划线开头的字母、数字和下划线字符序列。

通过在变量名(name)前加$字符(如$name)引用变量的值,引用的结果就是用字符串string代替$name。

在定义变量时,若string中包含空格、制表符和换行符,则string必须用’string’或者”sting”的形式,即用单(双)引号将其括起来。

双引号内允许变量替换,而单引号内则不可以。

shell变量的定义和引用

Shell变量的作用域

与程序设计语言中的变量一样,Shell变量有其规定的作用范围。

Shell变量分为局部变量和全局变量: 局部变量的作用范围仅仅限制在其命令行所在的Shell或Shell脚本文件中 全局变量的作用范围则包括本Shell进程及其所有子进程 可以使用export内置命令将局部变量设置为全局变量

Shell变量作用域举例

在当前Shell中定义变量var1

在当前Shell中定义变量var2并将设为全局

引用变量的值

显示当前Shell的PID

Shell变量作用域举例

调用子Shell ,并显示子Shell的PID

由于var1没有被export,在子Shell中已无值

由于var2被export,所以在子Shell中仍有值

返回主Shell,并显示变量的值

Shell变量作用域举例(综合)

Shell变量作用域举例(综合)

Shell的环境变量

环境变量是指由Shell定义和赋初值的Shell变量。

Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。

所有环境变量都是全局变量,并可以由用户重新设置。

在Bash中,设置环境变量用set命令,命令的格式是:set 环境变量=变量的值

Shell的环境变量举例

设置用户的主目录为/home/john,可以用以下命令:

不加任何参数地直接使用set命令可以显示出用户当前所有环境变量的设置,如:

Linux-vim编辑器与shell的简介的更多相关文章

  1. 4.Vim编辑器与Shell命令脚本

    第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...

  2. Linux 就该这么学 CH04 VIM编辑器和Shell命令脚本

    0 概述 1 Vim编辑器 在linux 中一切都是文件,而配置一个服务就是修改其配置文件的参数. vim 编辑器有三种模式:命令模式,末行模式和编辑模式. 命令模式:控制光标移动,对文件进行操作. ...

  3. Linux vim编辑器使用详解

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...

  4. Linux Vim编辑器使用简单讲解

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[root@linuxidc.com ~]# rpm -qf `whic ...

  5. Vim编辑器与Shell命令脚本

    章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...

  6. Vim编辑器与shell脚本

      目录                                                          Vim文本编辑器 Shell脚本 Shell编程变量 流程控制语句 计划任务 ...

  7. 第4章 Vim编辑器与Shell命令脚本

    章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...

  8. 4.linux vim 编辑器的基本操作

    一.vim编辑器基本操作       1.vim 编辑器 :  三种工作模式                              命令模式           a.i.o             ...

  9. Linux就该这么学28期——Day05 vim编辑器与Shell命令脚本 (yum配置 网卡配置)

    vim 三种模式: 命令模式 按行操作 dd 剪切.删除 5dd dG   全删 yy 复制光标所在行 p 粘贴 u 撤销操作 / 搜索 /ab n  下一个 N   上一个 输入模式 a 当前光标处 ...

随机推荐

  1. (CLR via C#学习笔记)任务和并行操作

    一 任务 可以调用ThreadPool的QueueUserWorkItem方法发起一次异步的计算限制操作.但这个技术有很多限制.最大的问题是没有内建的机制让你知道操作在什么时候完成和操作完成时的返回值 ...

  2. [Checking for libstdc++-4.4.4-13.el6-i686; Not found. Failed] 的解决。

    单纯 yum install libstdc++-4.4.4.i686 是不行的. 应该安装 yum install libstdc++-devel.i686 顺带就能装上需要的lib 真够变态的. ...

  3. WPF特效和例子

    https://www.cnblogs.com/AaronYang/p/4710428.html

  4. Redis集群搭建笔记

    系统为CentOS7,创建9001-9006 6个文件夹,复制 redis-server redis.conf 文件到6个新文件夹下 redis.conf文件配置如下: port 9001 daemo ...

  5. ubuntu16 Intellij Idea Install&config

    1,下载idea二进制文件,有免费和不免费的. https://www.jetbrains.com/idea/download/#section=linux 2,解压下载文件. tar -xvzf . ...

  6. “之”字形输出二叉树 python

    “之”字形输出二叉树即第1层从左到右输出,第2层从右到左输出,第3层从左到右输出......第2*n层从右到左输出,第2*n+1层从左到右输出,如下图所示二叉树,“之”字形输出的结果为:1-3-2-4 ...

  7. 强化学习 车杆游戏 DQN 深度强化学习 Demo

    网上搜寻到的代码,亲测比较好用,分享如下. import gym import time env = gym.make('CartPole-v0') # 获得游戏环境 observation = en ...

  8. create newline in Github Bio

    /********************************************************************************* * create newline ...

  9. Linux软件包安装(rpm、yum、apt-get)

    转载自:https://blog.csdn.net/wzq__janeGreen_/article/details/81774924 rpm/yum适用于Redhat.CentOS.Suse等平台: ...

  10. .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型

    .NET 中提供了很多判断某个类型或实例是某个类的子类或某个接口的实现类的方法,然而这事情一旦牵扯到泛型就没那么省心了. 本文将提供判断泛型接口实现或泛型类型子类的方法. 本文内容 .NET 中没有自 ...