Linux文件管理(3)——文本编辑vi/vim

来源:互联网 发布:python绝技用的2还是3 编辑:程序博客网 时间:2024/05/16 00:49

这里写图片描述

vi/vim三种模式

这里写图片描述

基本上 vi/vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。 这三种模式的作用分别是:
(1)一般模式(末行模式Last Line mode)
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
(2)编辑模式(插入模式Insert mode)
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
(3)指令列命令模式(Command mode)
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!

vi/vim基本操作

1、移动光标

行号G       光标移到某行(如1G表示光标移到第一行) G           光标移到文件结尾 H           移到屏幕的左上角 M           移到屏幕的中间行开头 L           移到屏幕的最后一行 [           移到文件开始位置 (双击)]           移到文件结束位置(双击):n          移到文件的第n行 Ctrl + b    屏幕上卷一个菜单 Ctrl + F    屏幕下卷一个菜单h           将光标左移一格 l           将光标右移一格 j           将光标下移一格k           将光标上移一格w           将光标移到下一个小字的前面b           将光标移到前一个小字的前面0           把光标移到当前行的第一个字符处$           把光标移到当前行的最后一个字符处

2、编辑切换

a 将在光标所在位置之后插入文本(append) A 将在光标所在行末插入文本 i 将在光标所在位置之前插入文本(insert) I 将在光标所在行的第一个非空字符前插入文本 o 将在光标所在行的下一行开始插入文本(open) O 将在光标所在行的上一行开始插入文本 

3、修改内容

#删除操作x               删除光标所在字符nx              删除由光标位置起始的n个字符(含光标位置)dw              删除光标所在的单词 ndw             删除光标位置起始的n个字符组dd              删除光标所在行 d0              将行的开始到光标位置的字符全部删除d$ D          将光标位置起始到行尾的字符全部删除ndd             将光标位置起始的n行(整行)删除:start,endd     删除文件的第start到end#修改rc              把光符所在字符替换成cR               覆盖本行内容u               恢复上一次的修改cw              改变光标所在单词C               改变一行光标位置以后的部分cc或S           修改一整行#复制粘贴yy                      把当前行放入缓冲区yw                      把光标所在的单词放入缓冲区p                       将缓冲区内容取到光标所在行的下面一行P                       将缓冲区内容取到光标所在行的上面一行:first,last co dest     将first到last行的数据复制到目标行(dest)下面:start,end m dest       将start到end行的数据移动到目标行(dest)下:r filename             将指定文件的内容读入光标所在行下

4、寻找替换

/pattern                向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 ?pattern                向前寻找指定的pattern ,若遇到文件头,则从尾再开始。 n                       在上次指定的方向上,再次执行N                       在上次指定的方向的相反方向上,再次执行上次定义的查找:%s/old/new/g           查找所有old并替换为new:start,ends/old/new     替换指定区域

5、保存

退出vi编辑器 :在命令方式下运行。不管在什么状态,最好在运行下面命令前,先按以下ESC键,以防出错。

:wq     存盘退出 :q      不存盘退出 :q!     不存盘强制退出 :w      只存盘不退出 

6、其它

vi              进入vi而不读入任何文件 vi filename     进入vi并读入指定名称的文件(新、旧文件均可)。 vi +n filename  进入vi并且由文件的第几行开始。 vi + filename   进入vi并且由文件的最后一行开始vi filename(s)  进入vi并且将各指定文件列入名单内,第一个文件先读入u               取消前一指令Ctrl + l        刷新屏幕显示:set nu         显示文件的行号,但不会存文件:set nonu       解除行号显示e!              重新装入当前文件,若当前文件有改动,则丢弃以前的改动:sh             启动sh ,从sh中返回可用exit或ctrl+d:! Command      执行命令command!!              重新执行上次的:! Command子命令#删除多余的回车符※vi中执行:g/^Ms///g,其中^M为ctrl+v和ctrl+m组和输入※执行dos2unix filename※执行sed 's/^M//' test.sh > back.sh
0 0
原创粉丝点击