天天看点

学习笔记(15)vim编辑器

bash中的算数运算

如何实现算数运算

想要实现算数运算,要使用特殊符号或命令,有以下几种方式:

1、let 变量=算术表达式

2、变量=$[算数表达式]

3、变量=$((算数表达式))

4、变量=$(expr arg1,arg2,arg3.....)

算数表达式的常用符号

普通符号:=,-,+,,/

增强型赋值:=,/=,%=,+=,-=

自加和自减运算:++,--

bash的条件测试

测试表达式写法

1、test 测试表达式

2、[ 测试表达式 ]

3[ [ 测试表达式 ] ]

bash测试表达式测试类型

1、数值测试的特殊符号

-gt:表示左数是否大于右数

-ge:表示左数是否大于等于右数

-eq:表示左数是否等于右数

-ne:表示左数是否不等于右数

-lt:表示左数是否小于右数

-te:表示左数是否等于右数

2、字符串测试的特殊符号
  ==:表示等值测试
  >:表示左数是否大于右数
  <:表示左数是否小于右数
  !=:表示左数是否不等于右数
  =~:表示左侧字符串是否能够被右侧的模式所匹配到
  -z:测试字符串是否为空
  -n:测试字符串是否不空
           

bash中的自定义退出状态码

exit [n]:脚本中一旦遇到exit命令,脚本都会立即终止,不在运行,退出状态码取决于exit命令后面的数字

vim编辑器

vim编辑器是vi编辑器的加强版,vi和vim是两个独立的应用程序文件。

但在centos上他们两个确是同一个应用程序,不过在有些嵌入式环境中,vi是不支持vim功能的。

不是所有发行版vi,vim都同时提供的,但是vi和vim的基本功能都是一样的

vim打开时默认处于编辑模式

vim的基本使用

在不同模式下每一个基建动作表示的意义是不尽相同的

vim的基本模式

编辑模式或命令模式:表示对文件进行剪切,复制,粘贴之类的操作

输入模式或插入模式:表示向文本中插入内容

末行模式:指的是vim编辑器内置的命令行接口

如何使用vim打开文件

vim [选项] ……文件……

vim的基本常用选项

+#:打开文件后,直接让光标处于第#行的行首

+/模式:打开文件以后,直接让光标处于第一个被模式匹配到的行的行首

+:打开文件以后,光标直接处于文件尾部

vim模式的转换

编辑模式-->输入模式

只需要输入模式转换命令即可:

i:在光标所在处前面插入输入内容,并转换为输入模式

a:在光标所在处的后面执行输入模式

o:表示在光标所在行的下方打开一个新行,并转换为输入模式

I:在光标所在行的行首输入,并转换为输入模式

A:在光标所在处行的行尾输入,并转换为输入模式

O:表示在光标所在行的上方打开一个新行,并转换为输入模式

输入模式-->编辑模式

只需要建入EXC建即可

编辑模式-->末行模式

直接输入“:”即可

末行模式-->编辑模式

建入EXC即可

输入模式-->末行模式

它两不能直接进行,只能从输入模式进入编辑模式,再从编辑模式进入末行模式

关闭文件

在末行模式下关闭:

q:退出

q!:表示强制退出,丢弃做出的修改

wq:保存退出

x:保存退出

w 文件路径:表示把当前文本的所有文本内容保存到你所指定的路径中去

在编辑模式退出:

ZZ:保存退出

如何在vim中实现光标跳转

字符间跳转:

h:向左跳一个字符

l:向右跳一个字符

j:向下跳一个字符

k:向上跳一个字符

单词间跳转:

w:下一个单词的词首

e:当前或下一个单词的词尾

b:当前或前一个单词的词首

行首行尾跳转:

^:跳转到行首的第一个非空白字符

0:跳转至行首;这是绝对行首

$:跳转至行尾,这是绝对行尾

行间移动:

#G:跳转至由#指定的行

G:跳转至最后一行

1G或gg:跳转至第一行

句间移动:

):跳转至下一个句子

(:跳转至前一个句子

段落间移动:

}:跳转至下一段

{:跳转至上一段

vim的编辑命令

1、字符编辑

x:删除光标处的字符

#x:删除光标处起始的第#个字符

xp:交换光标所在处的字符及其后面字符的位置

2、删除命令

d:删除命令,可结合光标跳转字符使用

3、粘贴命令

p(小写):缓冲区中存储的如果为整行,则粘贴当前光标所在行的下方,如果不是整行,则粘贴光标所在处的后面

P(大写):缓冲区中存储的如果为整行,则粘贴当前光标所在行的上方,如果不是整行,则粘贴光标所在处的前面

4、复制命令

y:复制

5、改变命令

c:主要作用在于某些类的修改操作,并且在执行以后就从编辑模式转入输入模式

6、替换命令

r:替换光标所在处的字符

可视化模式

v(小写):按字符选定

V(大写):按行选定

撤销此前的操作:u

撤销此前的撤销:ctrl+r

重复前一个编辑操作:.

翻屏操作

ctrl+f:向文件尾部翻一屏

ctrl+b:向文件首部翻一屏

ctrl+d:向文件尾部翻半屏

ctrl+u:向文件首部翻半屏

vim中的末行模式

1、地址定界

在实现文本操作和编辑时可以在这直接指定哪些范围内的文本信息

书写方式:

起始位置,结束位置

例:

#:表示具体的第几行

#,#:从左侧#表示行开始,到右侧#表示行结束

#,+#:表示从第#行开始,加上#行进行操作,作用对象一共有1+#行

在#的表示方式中,有几个特殊符号:

.:表示当前行

$:最后一行

%:全文,相当于1,$

#还能做减法操作

.,$-1:表示从当前行开始到倒数第二行

还能使用模式

/模式1/,/模式2/

表示从第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束

模式还可以和#使用:

5,/模式/

/模式/,$

修饰符:
  i:表示查找时忽略大小写
  g:表示全局替换
  注意:如果不使用g,默认情况下,每一行只替换第一次出现的内容,可使用模式、后向引用。
  如果查找替换中的内容出现与分隔符一样的符号时,要使用转义符“\”,也可以不使用转义符,将分隔符换成别的符号就行
  &:表示引用前面查找到的所有字符