vim和bash

Vim程序编辑器

基本上vi共分为三种模式,分别是一般指令模式、编辑模式与指令列命令模式

一般指令模式:打开一个文件就进去了,他可以删除,复制,粘贴等操作,但不能编辑。光标到最后一行在按wq保存。

vim 文件名(不管文件存不存在,都可以打开)

编辑模式:按下任意键进去编辑模式,会到一般模式按esc

命令行模式按: / ?任意一个都可以到最后一行。然后就可以输入命令。

按下crte+z 可以退出vim程序编辑器

Kill -9 % 1 这个命令是可以模拟短线停止vim工作的命令。

Vim可以多人编写。

如果vim不正常结束的话可以按r来保护你未保存的工作,但是等你结束后还要删除你原来不正常结束的工作。

[O]pen Read-Only打开此档案成为只读。

(R)ecover:就是载入暂存档的内容,用在你要救回之前未储存的工作。

(D)elete it:删除文档

(Q)uit:按下q就离开vim

(A)bort:忽略这个编辑行为,与quit差不多

记住按键说明:

块选择:

v       字元选择,会将游标经过的地方反白选择!

V      列选择,会将游标经过的列反白选择!

[Ctrl]+v    区块选择,可以用长方形的方式选择资料

y       将反白的地方复制起来

d      将反白的地方删除掉

p      将刚刚复制的区块,在游标所在处贴上

多文件编辑

:n     编辑下一个档案

:N     编辑上一个档案

:files         列出目前这个vim 的开启的所有档案

 

1透过vim hosts /etc/hosts指令来使用一个vim开启两个档案;

2vim 中先使用 :files 文件数据。

3vim 的环境下输入:n 会来到第二个编辑的档案,亦即/etc/hosts 内;

4/etc/hosts 下按 G 到最后一列,再输入『 p 』贴上;

5按下多次的 u 来还原原本的档案资料;

6最终按下 :q 来离开vim

 

多窗口功能

在指令列模式输入:sp 文件名字      即可

ctrl+w+↑ctrl+w+↓就可以在两个窗口上切换。

BASH

BASH是一个shellshell 是一个命令语言解释器,提示符下输入的每个命令都由shell先解释然后传给Linux

命令行如果太长可以(\)来说明,全局变量=环境变量,自定义变量=局部变量

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串,是变量的显示  命令行 echo $变量名称

命令别名:alias {“别名”=‘命令 参数’}例如讲ls –al | more的别名改为lm

alias lm=‘ls –al | more’。去掉别名就是:unalias lm

Type:

他是用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。

-p:如果给出的指令为外部指令,则显示其绝对路径;

如何设置变量的内容

echo ${myname}

空行

myname=变量名称的内容

echo ${myname}

结果就是显示你输入的变量名称

在shell中,一个变量名称没有被设置的话,默认的内容是空

 

 

1变量与变量内容以一个等号=来连结,如下所示:

myname=VBird

 

2等号两边不能直接接空白,如下所示为错误:

myname =  VBird或myname=VBird Tsai

 

3变量名称只能是英文字母与数字,但是开头不能是数字,如下为错误:

2myname=VBird

 

4变量内容若有空白可使用双引号"或单引号‘将变量内容结合起来,但

双引号内的特殊字元如$等,可以保有原本的特性,如下所示:

var="lang is $LANG"则echo $var可得lang is zh_TW.UTF-8

单引号内的特殊字元则仅为纯文字,如下所示:

var=‘lang is $LANG‘则echo $var可得lang is $LANG

5 可以用/来代替特殊符号

6若该变为扩增变内容时,则可用"$变名称"或${变}累加内容,如下所示:

PATH="$PATH":/home/bin或PATH=${PATH} :/home/bin

比如让name的内容多出 yes可以:

name=${name}yes

7若该变量需要在其他子程序执行,则需要以export来使自定义变量变成环境变量

export PATH

例如:我想要name=tian在下一个shell程序中运行。

name=tian

bash

echo $tian

exit

export tian

bash

echo $name

exit

8取消变量的方法为使用unsetunset变量名称例如取消myname的设定:

unset myname

 

环境变量的功能

env可以列出环境变量和常见环境变量说明

RANDOM:变量($RANDOM),在BASH的环境下, RANDOM介于0~32767之间,echo $RANDOM时,系统就会主动的随机取出一个介于0~32767的数值。

Declare –I number=$RANDOM*10/32767;echo $number

set可以查看所有的变量。

PS1(数字1):就是命令提示,执行某个指令后,最后要再次出现提示时,就会主动去读取这个变量值了。PS1的默认指令是[\[email protected]\h \W]\$

$(关于本shell PID),是个变量。想要知道我们的shell 的PID ,就可以用:echo $$ ,出现的数字就是你的PID 号码。

?:问号是特殊的变量,他是上一个执行的指令所回传的值。当执行指令时,指令都会回传一个代码。如果成功的执行该指令,则会回传一个0值,如果执行过程发生错误,就会回传错误代码。但是(?)只和上一个命令有关

export自订变量转成环境变量

export是自定义变量转换成为环境变量的命令。

命令行:export  变量名称

变量键盘读取、数组与声明:read,array,declare。

read 后面直接接变量名称,下面会出现一个空白行让你输入,输入的就转化问变量内容了。加上-t可以设置空白行存在的时间,不设置就默认30s。加上-t,就会有提示出现

read  [-pt]  变量名称

p:后面可以接提示符

t:后面可以接等待的秒数

declare/typeset是声明变量的类型,后面直接加变量会吧所有的变量名称于内容显示出来。

Declare  [-aixr]  变量名称

-a :将后面名为变量定义成为阵列(array)
类型

-i :将后面变量定义成为整数数字(integer)
类型

-x :用法与export 一样,就是将变量变成环境变量;

-r :将变量设定成为readonly 类型,不可被更改内容,也不能重设。

例如:

sum=100+500

echo $sum(×)

Declare –I sum=100+500

echo $sum     (√)

array是变量类型,建议直接以$数组来读取。

Ulimit是文件系统及程序的限制关系

Ulimit  [-SHacdfltu] 数值

-H :严格的设定,必定不能超过这个设定的数值;

-S :soft limit ,警告的设定,可以超过这个设定值,但是若超过则有警告讯息。大于-S但小于-H就会警告

-a :后面不接任何选项与参数,可列出所有的限制额度;

-c :当某些程式发生错误时,系统可能会将该程式在记忆体中的资讯写成档案(除错用),

这种档案就被称为核心档案(core file)。此为限制每个核心档案的最大容量。

-f :此shell 可以建立的最大档案容量(一般可能设定为2GB)单位为Kb

-d :程序可使用的最大断裂内存(segment)容量;

-l :可用于锁定(lock) 的内存量

-t :可使用的最大CPU 时间(单位为秒)

-u :单一使用者可以使用的最大进程(process)数量。

变量内容的删除、替换于代替

删除命令:${变量名称#/*想要删除的部分}

$是关键字,用在删除模式

#是代表从变量的最前面开始想右删除,切删除最短(第一个/与第二个/之间的数据)的那个。

但是在PATH变量中,目录用:隔开,所以删除的就是(/)和(:)中间的数据。(如果是两个#是话,就是删除最长(第一个/与最后一个/之间的数据)的那个)。

%是代表从变量最后面开始向左删除。用法和#一样

替代命令:echo ${变量名称/想要被替代的变量内容/替代的变量}-----只有第一个会被替代

如果是两个//就是所符合的内容都会被替代:echo ${变量名称//想要被替代的变量内容/替代的变量}。---------------------所有的都会被替代

例如想要把path变量的sbin代替称大写的SBIN。

(1)(/)

echo ${path/sbin/SBIN}

/usr/local/ SBIN :/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin

(2)(//)

echo ${path//sbin/SBIN}

/usr/local/bin:/usr/bin:/usr/local/ SBIN
:/usr/ SBIN :/home/dmtsai/.local/bin
:/home/dmtsai/bin

测试变量是否存在:新变量=${就变量-变量的内容}

例如要判断test这个变量是否存在,若不存在就给予test的内容为root

echo
${test }

(出现一行空白,所以test可能不存在,也可能是空字串)

test=${test-root}

echo
${test}

root

命令别名:alias,unalias

Alias  “别名=‘命令参数

比如吧lm当做ls –l | more的命令别名

alias “lm”=’la –l |
more’

unalias就是取消命令别名的,直接在后面加命令别名就可以

例如取消上面的命令别名

unalias  lm

历史命令(history)

-----(histfiles也就是保存历史命令的文件)

n :数字,列出最近的n个命令列表的意思!

-c
:删除历史命令

-a
:将目前新增的history 指令新增入histfiles 中

-r
:将histfiles 的内容读到目前这个shell 的history 记忆中;

-w
:将目前的history 记忆内容写入histfiles 中!

Bash的登录与欢迎信息:/etc/issue         /etc/motd

/etc/issue 是记录登录界面上几行提示字符串的地方。

cat /etc/issue  可以查看提示字符串。

想要让使用者登入后取得一些讯息,直接vim进去/etc/motd里,再输入你想发的讯息。

bash的环境配置文件

原文地址:https://www.cnblogs.com/t1486712342/p/9405322.html

时间: 2024-10-10 21:29:43

vim和bash的相关文章

vim&find&bash&

vim 文本编辑器 一 vim是什么? Vim 是一个文本编辑器软件,可以对文本文件执行快速的增加.删除.修改,以及支持使用正则表达式对文本文件的内容进行匹配过滤等操作,同时支持高亮显示语法等程序编辑功能,并可进行多文件同时编辑或多屏幕编辑. 文本文件是指,存储的内容不包含除字符本身根据指定的编码规则所能被转化为计算机识别的二进制内容以外的其他内容和属性的文件. Vim 是vi编辑器的增强版本,在大多数的linux发行版中被内置,并且大多数软件接口默认调用的文本编辑器为vim,所以vim 是熟练

Linux学习4——Vim和Bash

一.写在前面  本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 三.基本概念 1.什么是Vi? Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.更多 2.什么是Vim? Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.Vim是纯粹的自由软件.更多 3.为什么要学习Vim

vim编写Bash脚本

vim编写Bash脚本,可以说是类unix系统下的原生应用啊,想到初vi编辑器可是每个unix自带的哦. 缩进:在.vimrc中添加 filetype plugin indent on 未完待续,以后多写点.

vim、bash等

使用vim编辑多个文件 vim file1 file2 file3 ... :next查看或编辑后一个文档的内容 :prev查看或编辑前一个文档的内容 :first查看或编辑第一个文档的内容 :last查看或编辑最后一个文档的内容 vim -o|-O file1 file2 file3 -o:水平显示多个文件 -O:垂直显示多个文件 Ctrl+w arrow(箭头) 光标移动 Ctrl+w,s讲一个文件水平分屏显示 Ctrl+w,v将一个文件垂直分屏显示 :qa 全部退出 :wa 全部保存 将其

vim find bash 文件系统

一 vim vi visual interface 全屏文本编辑器 行文本编辑器sed 全屏:vi/vim  nano vim = vi improved  模式:  编辑模式,命令模式  输入模式  末行模式 编辑模式-->输入模式  i   insert,原地插入  a append,之后插入  o 新起一行插入  I 行首插入  A 行尾插入  O 当前行上方插入新行 输入模式-->编辑模式  按ESC键 编辑模式-->末行模式  按  :wq 保存退出 末行模式-->编辑模

linux下vim和bash配置文件 源文件

1. ~/.vimrc "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible set autoread " 文件修改之后自动载入 set completeopt=longest,menu " 自动完成 set history=1000 "记录历史的行数 set backspace=2 " 设置退格键可用,正常处理indent, eol, start等 set vb t_vb= "当vim进行编辑时,如果

vim 文本编辑器、shell脚本:

vim 文本编辑器:    三种主要模式:        命令模式(默认):移动光标,剪切/粘贴文本        插入(编辑)模式:修改文本 输入i 进入插入模式        扩展模式:保存,退出等        快键           i: insert, 在光标所在处输入        I:在当前光标所在行的行首输入        a: append, 在光标所在处后面输入        A:在当前光标所在行的行尾输入        o: 在当前光标所在行的下方打开一个新行      

vim golang dev

1.vundle 2. Plugin 'fatih/vim-go' 3 vim +GoInstallBinaries 4 cd $GOPATH/src/github.com/nsf/gocode/vim./update.bashgocode set propose-builtins truegocode set lib-path "/home/anjun/go/path/pkg/linux_amd64"

ubuntu下定制Vim/Gvim及使用技巧

vim是linux下的编辑器之神,是玩linux的必备工具,同样emacs是神的编辑器,两个编辑器是各有千秋,看个人的喜好,青菜萝卜各有所爱.我是比较喜欢vim,用vim编写bash,perl,python脚本,以及修改配置文件等等,本文就主要介绍在Ubuntu下gvim环境的搭建,希望对大家有所帮助. 一. Ubuntu安装gvim方法 安装gvim的方法,最简单方法是在Ubuntu软件中心搜索gvim,然后点击安装即可,如下图: 如果使用命令行可以打开终端,输入sudo apt-get in