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. 查看nginx版本和安装的模块

    查看nginx版本 # nginx -v nginx version: nginx/1.12.2 查看nginx配置了哪些模块 # nginx -V nginx version: nginx/1.12 ...

  2. FastJson中文乱码

    初学springboot使用fastJson替换默认的jackson后出现中文乱码 解决方式1: import java.util.ArrayList; import java.util.List; ...

  3. 剑指 offer面试题22 栈的压入和弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...

  4. VM虚拟机安装的XP如何全屏

    首先安装install VMwear Tools..,如图:

  5. idea里面Java文件显示一个x

    idea里面Java文件显示一个x,编译时过滤了,setting->builder->compiler->excludes

  6. SPDY以及示例

    SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 .Google最早是在Chromium中提出的SPDY协议[1].目前已经被用于Google Chrome浏览器中来访问Google ...

  7. iOS-----简易地CocoaAsyncSocket使用

    CocoaAsyncSocket使用 代理的.h文件 //GCDAsyncSocketDelegate执行代理对象 #import <Foundation/Foundation.h> #i ...

  8. 解决使用SecureCRT出现的Generic clipboard failure错误【自己亲身经历】

    2016年11月8日:[解决办法]把金山词霸卸载了 血的教训浪费了好几个小时 相关文章 1.RecureCRT could not get data from the Clipboard 和SAP快捷 ...

  9. DesignPattern(五)行为型模式(上)

    行为型模式 行为型模式是对在不同对象之间划分责任和算法的抽象化.行为模式不仅仅关于类和对象,还关于它们之间的相互作用.行为型模式又分为类的行为模式和对象的行为模式两种. 类的行为模式——使用继承关系在 ...

  10. 《DSP using MATLAB》示例 Example 9.11

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...