《实验3-1 vi的使用练习实验.doc》由会员分享,可在线阅读,更多相关《实验3-1 vi的使用练习实验.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实验31 vi的使用练习实验【实验目的】 熟练掌握vi的各种操作.【实验步骤】第一步: 利用vi来编写一个helloworld程序,接着熟悉vi的各种操作实验。在/work下先输入vi helloworld,进行helloworld程序的编写。#include int main()printf(“Hello world!n”);return 0;1、文本编译工具vi使用vi的名字取自于visual,意为“直观”,它是一个全屏幕编辑程序。还有gedit、emacs在Linux系统中vi是最常用的编辑程序,它的文本编辑功能十分强大,但使用起来比较复杂。2、Linux系统中的vi其实是vim,是v
2、i的增强版。vi编辑程序有两种工作模式:命令模式(指令模式):此模式下的按键当作指令来处理。输入模式:此模式的按键作为真正的输入。第二步: vi操作模式的切换,要进入输入模式,可以按如下命令键:新增:a,从光标后开始输入文本。A,从光标所在行末尾输入新的文本。插入:i,从光标前开始插入文本。I,从光标行的第一个非空格字符前开始插入文本。开始:o,从光标所在行下新增一行并进入输入模式。O,从光标所在行上新增一行并进入输入模式。第三步: 从输入模式按ESC进入命令模式第四步: 进入和退出vi进入vi,在提示符下:vi vi 文件名退出vi,在指令模式下::q,退出:wq,存盘后退出:q!,不存盘强
3、制退出:x,强制存盘退出第五步: 删除和修改文本指令模式下:x:删除光标处的一个字符dd:删除光标所在行r:修改光标所在字符R:进入改写状态s:删除光标所在字符,并进入输入状态S:删除光标所在行,并进入输入状态第六步: 光标移动1、指令模式下:h:向左移动一列j 或+:向下移动一行k 或-:向上移动一行l:向右移动一列组合:nh,nj,nk,nl。分别是移动n行(列)在有方向键的键盘上,无论指令模式或输入模式都可以用方向箭头来移动光标2、光标按行移动指令模式下::n回车:将光标移动到第n行:$回车或者L:将光标移动到最后一行M:将光标移动到中间一行H:将光标移动到第一行:set number:
4、显示行号:set nonumber:取消显示行号 3、光标按单词移动指令模式下:w:将光标移动到下一个单词头b:将光标移动到前一个单词头e:将光标移动到下一个单词尾组合:nw、nb、ne4、光标按字符移动指令模式下:$:将光标移动到当前行尾或0:将光标移动到当前行首n|:将光标移动到当前行的第n个字符fm:将光标移动到当前行的下一个字符m处光标返回原处两个单引号第七步: 文本编辑1、翻页指令模式下:Ctrl+d:下翻半屏Ctrl+u:上翻半屏Ctrl+f:下翻一屏Ctrl+b:上翻一屏 2、查找指令模式下:/string:从当前位置向前查找字符串string?string:从当前位置向后查找字
5、符串string继续查找:n:沿前述查找方向继续查找同一字符串N:沿前述查找方向的反方向继续查找同一字符串3、删除文本指令模式下:x:删除字符dw:删除单词dd:删除行D:删除从光标到行末所有字符dfm:删除从光标到第一个字符m间的文本:5d:删除第5行:5,$d:删除从第5行到最后一行可以和整数n组合 4、撤销和重复命令指令模式下:u:撤销最后一个更改操作U:撤销对本行的所有修改 5、文本替换指令模式下:m:替换当前字符为m,替换后仍为命令模式R:替换当前字符后的一系列字符,替换后变为输入模式。s:多个字符替换单个字符cw:单词替换cc:行替换C:替换当前行剩余部分cfm:替换当前字符到指定
6、的字符m 6、文本删除与替换对比命令类型删除替换字符 x r单词 dw cw行 dd cc从光标到行尾 D C从光标到字符m dfm cfm 7、全局替换指令模式下:搜索当前行的第一个实例:s/bash/sch把当前行的第一个bash换为sch搜索指定行的第一个实例:1,10s/bash/sch 把1到10行bash换为sch:5,$s/bash/sch 把5到末行bash换为sch设置过滤条件进行搜索:g/var/s/bash/sch把包含var行中的bash替换为sch同一行中替换所有实例:s/bash/sch/g把当前行中所有bash替换为sch替换整个文件中的所有实例:1,$s/bas
7、h/sch/g把整个文件中的bash替换为sch8、移动和复制文本指令模式下:yy:复制当前行dd:剪切当前行(删除)p、P:粘贴当前行 9、复制和移动文本块指令模式下:把某(几)行复制并粘贴到某行后:5 copy8 把5行复制并粘贴到第8行后:1,5 copy$ 把1-5行复制并粘贴到末行后:.,$ copy0 把当前行到末行复制并粘贴到文件头把copy改为move即为移动文本块(注:.表示当前行,0表示文件头,$表示文件尾)第八步: 文件保存 指令模式下:w 保存文件:wq或者:x或者ZZ 保存并退出vi,返回linux提示符:w f1.c 把当前文件另存为f1.c:q! 放弃对文件的保存
8、,直接退出 1、保存文本块指令模式下::2,5 write f2 把第2到第5行另存为文件f2保存文本块,并直接覆盖掉已有(如果有)文件:2 write! f2 把第2行强行另存为文件f2向文件追加文本:2 write f2 把第2行追加到文件f2末尾第九步: 与shell交互指令模式下:读某文件的内容到当前打开文件:5 read a 把文件a中的内容读到当前打开文件的第5行后在vi中执行shell命令:!pwd在vi中执行shell命令,并把结果添加到vi中:5 read! pwd把pwd执行结果插入到第5行后:e 在vi中编辑某文件时,不退出vi而建立新文件:n 在vi中编辑某文件时,不退出vi而加载新文件