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

这里写图片描述

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              把光符所在字符替换成c
R               覆盖本行内容
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值