问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VI命令有那些?

发布网友 发布时间:2022-04-23 06:05

我来回答

1个回答

热心网友 时间:2023-10-18 05:54

一、基本命令介绍

---- 1.光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
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”从新文件的第3行开始读入 /etc/passwd的所有内容。
---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。
---- vi file
---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
---- vi file
---- :20,59w /tmp/1

---- 3.用VI编辑一个文件,但需要删除大段的内容。
---- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。
---- :23,1045d 假定2次得到的行号为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/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s为substitute,%表示所有行,g表示global。

---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。
---- 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”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
聊斋故事:色蟒 车大梁在哪个位置? 我用一跟IDE线接了两个移动硬盘?出现了问题 电脑可以接两个移动硬盘吗一台电脑如何连接两个硬盘 电脑硬盘作为移动硬盘旧电脑硬盘如何变成移动硬盘 怎么给电脑加装一个移动硬盘请问怎么给台式机安装硬盘 电脑硬盘改移动硬盘线如何将电脑里的硬盘改装成移动硬盘 DP扩展分配器哪一家更靠谱呀? 你好,我的联想笔记本黑屏,背光灯是亮的,无显示,外接显示器正常,排线接 ... 笔记本显示屏黑屏但有背光怎么办? 电脑显示没有可用的音频设备怎么办 vim如何删除连续的空行却保留一行? 如何取消vi/vim下的黄色空格 电脑没有声音显示未安装音频设备怎么办 如何在vim中删除空行 电脑上没有音频设备是什么意思? 如何在vim里删除空行 电脑声音显示未插入音频设备 系统中没有接入音频设备,要启动GUI,将音频设备接入到系统,,是什么意思 电脑打开声音和音频设备显示没有音频设备怎么回事? 电脑没有任何声音,提示未检测到音频设备,怎么办? excel第一行显示在标题行 手机号已经不用了,怎样解绑? 如何让excel只在第一页显示表头 excel如何打印时每一页都显示第一行的标题 如何让excel表格表头显示在每页的第一行 酷我音乐里的听歌识曲,识别不出歌名是怎么回事 2014版本的酷我音乐 为什么我的设置里面没有听歌识别 QQ音乐有听歌识曲功能,不知酷我音乐盒有这功能吗? 酷我音乐电脑版怎么使用听歌识曲功能吗 您会看到空白页,因为系统中没有接入音频设备。要启动GUI。请酱音频设备接入到系统。怎么办 请问vim空格 空行的标记怎么去掉?带着太乱。 data回归分析中的obs是什么意思 我家电脑没声音,上面显示没有音频设备怎么办? vim中,将光标移至第60行,并且删除行尾的15个字符,如何执行命令? OBS什么意思 obs是什么意思? Vi命令的常用技巧 面板数据回归分析结果看不懂!! 请按 ENTER 或其它命令继续 在进入vim编辑器前总会出现这行字,怎么设置把它消除掉,中间有很大的空行! 求高手解释stata sur回归结果,参数名称是什么意思,结果说明什么,我是 ... 请教word如何 删除不含某关键字的行 obs*R-squared是什么意思 怎么在excel 2007中删除空白行 工程中的CAR,OBS指什么意思? 怎样使用vi? SAS 中set语句中的“obs=0”是什么意思 vim怎么去除重复单词 如何对stata回归结果说明? Vi命令的命令大全