Vi常用命令及高级应用
VI的常见使用技巧
一、 简介
Vi命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,很多人不喜欢VI因为它 的众多的命令集,但是我们只需要掌握基本的命令然后灵活地加以运用,相信你会象我一样喜欢它的。 本文旨在更有条理有 归纳性地介绍VI的一些最常用命令和一些高级的应用。
二、 基本命令介绍
1) 光标命令
k,j,h,l——上下左右光标移动命令,虽然你可以在Linux中使用键盘右边的四个光标键, 但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分
nG ——n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告
w,b——使光标向前或向后跳过一个单词
2) 编辑命令
i,a,r——在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace) cw,dw——改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete) x,d$,dd——删除一个字符,光标所在处到行尾的所有字符,和整行的命令
3) 查找命令
/string, ?string——从光标所在处向后/向前查找相应的字符串的命令
4)拷贝复制命令
yy,p ——拷贝一行到剪贴板/取出剪贴板中内容的命令
三、 常见问题及应用技巧
1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分
vi file
:r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分 :3r /etc/passwd 这是在指定的行号后面读入文件内容
另外一种方法删掉文件中所有的空行及以#开始的注释行
#cat squid.conf.default | grep -v '^$' | grep -v '^#'
2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘 vi file
:w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1 :20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1
3) 用VI编辑一个文件,但需要删除大段大段的内容
vi file
Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G.
:23,1045d 假定两次行号为23和1045,则把这几间的内容全删除
也可以在开始和结束两行中用ma,mb命令标记后用:'a,'bd删除.
4) 在整个文件或某几行中在行首或行尾加一些字符串
vi file
:3,$s/^/some string /
在文件的第一行至最后一行的行首前插入some string
:%s/$/ some string/g 在整个文件每一行的行尾添加 some string
:%s/string1/string2/g 在整个文件中替换string1成string2
:3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2 Note: s为substitute,%表示所有行,g表示global
5) 同时编辑两个文件,在两个文件中拷贝剪贴文本
vi file1 file2
yy 同时打开两个文件,在文件1的光标所在处拷贝所在行
:n 切换到文件2 (n=next)
p 在文件2的光标所在处粘贴所拷贝的行
:N 切换回文件1
6) 替换文件中的路径
:%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin
或者用
:%s/\/usr\/bin/\/bin/g 在'/'前用\符号指出'/'是真的单个字符'/'
另:vi常用命令列表
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令 :
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
< …… 此处隐藏:1815字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




