危险网站怎么做腾讯云认证,云服务器是什么意思,phpcms如何做装饰网站,开发公司网签物料天行健#xff0c;君子以自强不息#xff1b;地势坤#xff0c;君子以厚德载物。 每个人都有惰性#xff0c;但不断学习是好好生活的根本#xff0c;共勉#xff01; 文章均为学习整理笔记#xff0c;分享记录为主#xff0c;如有错误请指正#xff0c;共同学习进步。… 天行健君子以自强不息地势坤君子以厚德载物。 每个人都有惰性但不断学习是好好生活的根本共勉 文章均为学习整理笔记分享记录为主如有错误请指正共同学习进步。 文章目录 vi文本编辑器编辑文本1. vi介绍1.1 vi的特点1.2 vi的工作模式 2. vi的启动与退出3. vi基本命令3.1 常用命令分类3.2 屏幕翻滚命令3.3 光标定位命令3.4 光标移动命令3.5 文本输入与删除3.5.1 文本的输入insert3.5.2 文本的删除delete 4. 文本的修改与替换4.1 文本的修改correct4.2 文本的替换replace 5. 文本的拷贝与粘贴copy6. 撤销与重做7. vi常用末行命令7.1 字符串搜索7.2 字符串替换s7.3 全局命令global7.4 全局替换7.5 文件操作与退出命令7.6 其他常用命令7.6.1 行编辑命令7.6.2 执行shell命令7.6.3 设定vi选项 Linux入门学习系列文章 Linux学习之系统用户和用户组的使用 Linux学习之系统管理相关内容 Linux学习之创建文件和目录相关内容 Linux学习之删除文件和目录 Linux学习之复制文件和目录 Linux学习之路径、文件和目录的移动和重命名 Linux学习之查看文件内容 Linux学习之vi文本编辑器的使用 Linux学习之查找文件 Linux入门学习指南 vi文本编辑器编辑文本
1. vi介绍
Linux文本编辑器有ex、sed、vi和emacs等vi是最基本的文本编辑器vi是visual的缩写vi是所有unix和Linux系统上必配的编辑器现在Linux上配备的主流的文本编辑器是vi的增强版vimvim是vi improved的简称vi是一个全屏幕文本编辑器具备文本编辑的所有功能高效快捷
1.1 vi的特点
编辑功能强大 具有高级编辑特性可通过正则表达式、宏和命令脚本完成复杂编辑实现智能化和自动化适用于各种版本的Unix/Linux系统 vi是Unix/Linux系统的标准文本编辑器适用于各种类型的终端 对终端设备有广泛的适应性使用灵活快捷 初学者可能觉得命令复杂难度高但对于熟练掌握后的人来说就是一个编辑利器
1.2 vi的工作模式
vi有三种工作模式
命令模式command mode 输入任何字符都作为命令来解释执行屏幕上不显示输入内容命令模式用于完成各种文本修改工作输入模式insert mode 输入的任何字符都将作为文件的内容被保存并显示在屏幕上输入模式用于完成文本录入工作末行模式last line mode 也称为ex转义模式在末行模式下光标停留在屏幕的最末行在此接收输入的命令并执行末行模式用于执行全局性操作如文件操作、参数设置、查找与替换、拷贝与粘贴、执行shell命令等
2. vi的启动与退出
输入命令进入vi全屏幕编辑环境
vi 文件名启动过程描述先建立一个编辑缓冲区若指定了文件且该文件已存在则将其内容读到编辑缓冲区中若指定的文件不存在则创建此文件然后将光标定位在第一行第一列的位置上
vi启动后首先进入命令模式此时可通过vi的编辑命令进行文本的输入和修改
注意编辑命令只是在修改调入缓冲区中的文本的副本文本本身不会被修改编辑完成后需要用:wq命令将修改后的内容保存到文件中并退出vi才算完成修改此次运行未对文件做任何修改则可用:q退出
3. vi基本命令
vi命令相当多但常用的只有一小部分
3.1 常用命令分类
屏幕翻滚移动光标插入与删除修改与替换拷贝与粘贴复原与重复
vi命令不需要配置鼠标和控制键操作速度更快效率更高
尽管vi只用字符命令就可以完成所有编辑操作vi还是提供了键盘的其他控制操作的支持
按键命令模式输入模式末行模式Home移动光标到行的最前面移动光标到行的最前面移动光标到行的最前面End移动光标到行的最后面移动光标到行的最前面移动光标到行的最前面PageDown向下翻页移动光标到行的最前面向下翻找历史命令PageUp向上翻页移动光标到行的最前面向下翻找历史命令Delete删除光标位置的字符移动光标到行的最前面移动光标到行的最前面Insert进入输入模式替换-输入无效Backspace光标前移一个字符删除光标前的字符删除光标前的字符Space光标后移一个字符空格空格Enter光标下移一个字符换行提交命令上下左右箭头按箭头方向移动光标按键都方向移动光标找历史命令
注 在命令模式下输入的字符都被vi解释为命令不在屏幕上显示若输入的是非法命令则警报 vi区分大小写
以下分类介绍常用vi命令
3.2 屏幕翻滚命令
以下为屏幕翻滚命令的组合键列表
组合键功能ctrlu向上翻半屏ctrld向下翻半屏PageDown向下翻一屏ctrlf向下翻一屏同PageDownPageUp向上翻一屏ctrlb向上翻一屏同PageUp[n]zEnter将第n行滚至屏幕顶部不指定n时将当前行滚至屏幕顶部
3.3 光标定位命令
按键与功能列表
按键功能Home光标移动至行首0光标移动至行首同HomeEnd光标移动至行尾$光标移动到行尾同End^光标移动至行首第一个非空格字符[n]G光标移动到第n行未指定n时移动到末行[n]I光标移动到第n行未指定n时移动到首列H、M、L光标移动到屏幕首、中、尾行行首
3.4 光标移动命令
vi不支持鼠标移动光标但可以将通过按键进行操作 按键与功能列表
按键功能按键左下上右光标向左、下、上、右移动一个字符h、j、k、l光标向左、下、上、右移动一个字符同箭头键b、w光标移动到上一个词、下一个词首e光标移动到词尾(、)光标移动到句首、句尾{、}光标移动到段首、段尾
注光标移动命令前带数字n时表示重复移动n次如4e表示移动到后面第4个词的词尾
3.5 文本输入与删除
输入文本前先将光标定位到要输入内容的位置执行插入命令进入输入模式处于输入模式时屏幕底部会显示–insert–提示 表示后续的输入都作为文件的输入内容输入完成后按esc命令返回命令模式
3.5.1 文本的输入insert
插入命令都是单字符命令可实现在当前光标位置的前、后、行首、行尾、上一行、下一行开始输入 命令如下
按键功能a或A在光标位置后、行尾后开始插入i或I在光标位置前、行首前开始插入i的作用于insert键相同o或O在光标所在行之后、光标所在行之前的新行开始插入
3.5.2 文本的删除delete
删除文本最简单的方法是将光标移动到要删除的字符上每按一下x键或者delete键就会删除一个字符删除文本内容较多时可用以下命令
按键功能x或X删除光标处、光标前的字符x的作用与delete键相同dd删除光标所在的行D删除光标右面的文本J删除当前行尾的换行符使当前行与下一行合并尾一行d定位符 删除从光标位置到指定位置范围内的字符
关于d参数的常用如下
参数描述d0或d^删除光标左面的文本0或^表示行首d$删除光标右面的文本$表示行尾dG删除光标所在行之后的所有行G表示最后一行db删除光标处前的字符直到词首b代表词首de删除光标处的字符直到词尾e表示词尾dw删除光标处的字符直到下一个词的词首w表示下一个词的词首
注 命令前带n时表示删除方位扩大n倍如3dd表示删除3行2de表示删除从光标开始的两个词
4. 文本的修改与替换
4.1 文本的修改correct
文本修改指改写一部分文本的内容修改过程描述先删除指定范围的文本然后插入新文本最后esc结束插入 命令如下
命令功能cc修改光标所在的行C修改光标处到行尾的文本c定位符 修改光标到指定范围内的文本常用如下c0或c^修改光标左面的文本c$修改光标右面的文本cG修改光标所在行之后的所有行cb修改光标处前的字符直到词首cw修改光标处的字符直到词尾cl修改光标处的字符
注 以上命令前带数字表示修改范围扩大n倍如4cc表示修改从光标所在行开始的4行3cw表示修改从光标开始的3个词
4.2 文本的替换replace
替换replace指覆盖是相同长度字符替换替代substitute指取代可以相同也可以不同长度内容进行取代
替换命令
命令功能r用输入的字符替换光标处的字符R用输入的文本逐个替换从光标处开始的各个字符直到按下esc键
替代命令
命令功能s用输入的文本替代光标处的字符用esc键结束输入等同于clS用输入的文本替代光标所在的行用esc键结束输入等同于cc
5. 文本的拷贝与粘贴copy
拷贝指将光标处的文本幅值到一个缓冲区中类似Windows的剪切板 粘贴指将缓冲区中的内容插入到光标处
命令与功能
命令功能yy拷贝光标所在行至缓冲区y定位符拷贝光标到指定范围内的文本常用如下y0或y^拷贝光标左面的文本y$拷贝光标右面的文本yG拷贝光标所在行之后的所有行yb拷贝光标处的字符直到词首yw拷贝光标处的字符直到词尾
6. 撤销与重做
撤销undo 消除上一个命令所做的修改恢复到命令执行前的样子 重做redo 重复执行上一个命令
命令
命令功能u撤销上一个命令所做的修改U撤销最近针对一行所做的全部修改在对一行连续做了多处修改后可用此命令一次恢复全行.重复前一个命令
7. vi常用末行命令
命令模式下输入:或/或?字符都将进入末行模式后续的输入被解释尾行命令在屏幕末行显示 屏幕输入完成后按Enter键执行末行命令执行结束后返回命令模式或退出vi
命令分类字符串搜索与替换命令、文件操作与退出命令、其他
7.1 字符串搜索
在文件中查找某各字符串可用字符串搜索命令执行命令后光标会停留在第一个匹配字符串的首字符处 按n或N可移至下一个匹配字符串首不存在匹配字符串则末行显示找不到模式
命令
命令功能/模式从光标处向后 搜索与指定模式匹配的字符串按n向后继续找?模式从光标处向前搜索与指定模式匹配的字符串按N向前继续找
如查找test字符串使用命令/test光标从当前位置移动到后面第一个test的字符的t上按n移动到下一个test上当搜索到文件尾时再按n则返回到文件头继续搜索
7.2 字符串替换s
字符串替换使用s命令指定的行中搜索与指定模式相匹配的字符串并用另一个字符串替换他 命令
:[n1,n2]s/p1/p2/[g][c]参数描述
参数描述n1,n2表示目标行的行号范围可以使用%代表所有行未指定范围时目标行就是光标所在的当前行p1用作搜索的字符串模式p2用作替换的字符串模式s命令可以带g和c选项g表示替换目标行中所有匹配的字符串没有g则只替换目标行中第一个匹配的字符串c表示替换前要求用户确认^代表行首$代表行尾
模式中可以用^代表行首$代表行尾
7.3 全局命令global
全局命令使用g 在全文中搜索含有与指定模式匹配的字符串的行对匹配的行做标记 命令格式如下
命令作用:g/p1搜索所有包含p1字符串模式的行:g!p1搜索所有不包含p1字符串模式的行
如
命令作用:g/test命令将找出所有含有test的行:g!test命令将找出所有不包含test的行
命令与其他命令联合使用
命令作用:g/p1/对所有包含p1的行执行指定的命令:g!p1/对所有不包含p1的行执行指定的命令
如 p命令显示行联合使用如下
命令作用:g/test/p显示所有含有test的行
d命令删除行联合使用如下
命令作用:g!test/d删除所有不包含test的行
7.4 全局替换
s命令面向行的字符串替换可与g命令联合使用 全局替换命令格式 g命令/s命令 表示先用g命令再文件中搜索含有某个模式的行并做标记然后用s命令对所有标记的行执行搜索和替换 常用命令如下
命令作用:g/p1/s/p2/p3/g将文件中所有含有p1的行中的p2用p3替换:g!p1/s/p2/p3/g将文件中所有不含有p1的行中的p2用p3替换:g/p1/s//p2/g将文件中所有的p1用p2替换这里的:g/p1/s//p2/g是:g/p1/s/p1/p2/g的简写当s命令的搜索模式与g命令的搜索模式相同时可省略s命令中的搜索模式命令中//中间没有空格
7.5 文件操作与退出命令
文件操作包括读文件和写文件读文件是将文件内容读入到编辑缓冲区中写文件是将编辑缓冲区的内容保存到文件中 退出vi时可选择是否保存文件
常用退出和文件操作命令如下
命令作用:w [文件名]写入指定文件若未指定文件则写入当前文件即vi启动时打开的文件:q未修改源文件不保存文件直接退出:wq或者:x保存文件并退出:q!放弃修改不保存文件退出:e!放弃修改编辑区恢复为文件原样:e 文件名打开指定的文件调入编辑区:r 文件名读入指定的文件将文件内容插入到光标位置:f在屏幕末行显示文件相关信息
7.6 其他常用命令
7.6.1 行编辑命令
对指定的行进行编辑指定行范围时可用.代表当前行用$代表最后一行用%代表所有行 常用行编辑命令如下
命令作用:n跳至第n行:n1,n2con3将第n1至n2行之间的内容拷贝到第n3行下如2,7co$表示将第2行到第7行的文字幅值到文件末尾处:n1,n2mn将第n1到n2行之间的内容移至第n3行下如:.m10表示将当前行移动到第10行下:n1,n2d将第n1到n2行之间的内容删除如2,7d表示删除第2行到第7行的内容:p显示当前行的内容:nu显示当前行的行号和内容
7.6.2 执行shell命令
使用vi编辑文件时不退出vi情况下执行shell命令执行期间vi暂时挂起待命执行结束后返回vi继续运行 执行shell命令的格式如下 :! 命令执行指定的shell命令
7.6.3 设定vi选项
可通过设置vi的选项来规定vi的一些外观和行为特性 设定vi选项的方法其中之一是使用set命令 常用如下
命令作用:set all显示所有选项:set ai设定自动缩进:set noai取消自动缩进:set nu设定行号显示:set nonu取消行号显示:set hlsearch设定高亮显示搜索到的字符串:set nohlsearch取消高亮显示搜索到的字符串:set ic设定搜索命令中忽略大小写:set noic取消搜索命令中忽略大小写 感谢阅读祝君暴富