vi 编辑器 经常使用命令

Vi简介

  1. Vi是一种普遍存在于各类UNIX和Linux系统中的文本编辑程序。
  2. Vi不是排版程序,只是一个纯粹的文本编辑程序。
  3. Vi是全屏幕文本编辑器,它没有菜单,只有命令。
  4. Vi不是基于窗口的,因此,这个多用途编辑程序能够用于在任何类型的终端上编辑各式各样的文件。
  5. Vi的功能十分强大,可是命令繁多,熟练掌握起来有必定难度。
  6. Vi的发明者:bill joy

Vi的启动

$ Vi  filename  或者$ Vi
若是filename已经存在,Vi会打开现存文件
若是是一个新文件,Vi会建立它编辑器

Vi的退出

在命令行模式下输入:q,:q!,:wq或者:x,能够退出Vi
:w                  保存
:w filename         另存为filename
:wq!                保存并退出
:wq! filename       以filename为文件名保存后退出
:q!                 不保存退出
:x                  保存并退出,功能和:wq!相同spa

Vi的工做模式

Vi有三种工做模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不一样的操做,它们之间能够进行切换。命令行

  1. 命令模式:进入Vi后,首先进入的就是命令模式,等待用户输入编辑命令,此时输入的字母将做为编辑命令来解释。
  2. 插入模式:在命令模式下输入插入命令i、附加命令a、打开命令o等命令能够进入插入模式,在插入模式下,用户输入能够对文本进行编辑,输入的任何字符都被看成文件内容保存起来。【Esc】键能够返回命令模式。
  3. 末行模式:在命令模式下,按【:】键能够进入末行模式,Vi光标会显示在窗口的最后一行,以“:”做为末行模式的提示符,等待用户输入命令。末行命令执行后,Vi自动回到命令模式。

Vi命令大全

一、移动光标
h或者向左方向键:光标向左移动一个字符
l或者向右方向键:光标向右移动一个字符
k或者向上方向键:光标向上移动一个字符
j或者向下方向键:光标向下移动一个字符
【Ctrl】+f:         屏幕“向下”移动一页,至关于【PageDown】
【Ctrl】+b:         屏幕“向上”移动一页,至关于【PageUp】
0:                  数字0,移动到这一行的最前面一个字符处
$:                  移动到这一行的最后一个字符处
G:                  移动到这个文件的最后一行
gg:                 移动到这个文件的第一行
n【Enter】:         n是一个数字,光标向下移动n行

二、搜索与替换
/str:从光标开始,向下寻找一个名为str的字符串。
?str:从光标开始,向上寻找一个名为str的字符串。
:n1,n2s/str1/str2/g:n1与n2为数字,在第n1行与n2行之间寻找str1         这个字符串,并将该字符串替换成str2

:1,$s/str1/str2/g:从第一行到最后一行寻找str1字符串,并将该字符             串替换为str2

:1,$s/str1/str2/gc:从第一行到最后一行寻找str1字符串,并将该字                 符串替换为str2,且在替换前提示符给用户确认   是否须要替换

三、删除、复制与粘贴
x,X:x为向后删除一个字符,X为向前删除一个字符
nx:n为数字,为连续向后删除n个字符
dd:删除光标所在的那一整行
ndd:n为数字,从光标位置开始,删除向下n列,如20dd则是删除20列。
yy:复制光标所在的那一行
nyy:n为数字,复制光标所在的向下n行,如20yy则是复制20行
p,P:p为将复制的数据粘贴到光标的下一行,P则为粘在光标的上一行。
u:复原前一个操做
【Ctrl】+r:重作上一个操做
.:小数点,重复前一个动做,经常使用在重复删除、重复粘贴。

四、插入模式
i,I:插入:在当前光标所在处插入输入文字,已存在的文字会向后    退,其中i为从当前光标所在位置前开始插入,I将光标移到当前 行的行首,而后开始插入。

a,A:a为从当前光标所在的下一个字符开始插入,A为从光标所在行的 最后一个字符处开始插入

o,O:这是英文字母o的大小写,o为在当前光标所在的下一行插入新的 一行,O为在当前光标所在处的上一行插入新的一行。

r,R:替换:r为替换光标所在的那一个字符;R会一直替换光标所在的 文字,直到安下【Esc】键为止。

五、文件操做相关
:w:保存文件
:w filename:另存为filename
:n1,n2 w filename!:将n1行到n2行的内容保存到filename中
:n w filename:将第n行保存到filename中
:l,. w filename:将从第一行起到光标当前位置的内容保存到        filename中
:.,$ w filename:将从光标当前位置到文件结束的内容保存到                 filename中
:r filename:打开另一个文件filename
:e filename:编辑新文件filename代替原有内容
:f filename:把当前文件更名为filename字符串

如何运行一个.sh文件

首先你要让文件有可以执行的权限,get

好比你的文件是a.shtest

那么你能够 chmod +x a.sh 而后运行文件就能够了file

./a.sh 这样运行是a.sh在当前工做目录,搜索

若是文件没在当前目录,那么就须要用绝对路径来执行,好比 /opt/a.sh /opt/test/a.sh终端

相关文章
相关标签/搜索