多语言展示
当前在线:1231今日阅读:86今日分享:14

linux(unix)中vi编辑器使用说明及命令大全

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。vim是vi的增强版。      vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
工具/原料

unix linux secureCRT

方法/步骤1
1

使用secureCRT或其他远程连接工具,登录linux服务器,输入IP地址,用户名和密码,点击connect登录

2

cd /tmp临时目录下,如果想要打开一个已经存在的文件,则执行vi xxxxx.xx如果需要创建一个新文件,执行touch xxxx.xx

3

这里测试执行    touch test.txt作为举例说明,文件建好后,可以打开文件,进行编辑,打开文件的选项参数有很多vi  (选项)(参数)+<行号>:从指定行号的行开始先是文本内容; -b:以二进制模式打开文件,用于编辑二进制文件和可执行文件; -c<指令>:在完成对第一个文件编辑任务后,执行给出的指令; -d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分; -l:使用lisp模式,打开“lisp”和“showmatch”; -m:取消写文件功能,重设“write”选项; -M:关闭修改功能; -n:不实用缓存功能; -o<文件数目>:指定同时打开指定数目的文件; -R:以只读方式打开文件; -s:安静模式,不现实指令的任何错误信息。这些指令用的比较多的有2种,一个是vi 文件名,另一个就是vi 文件名  -b  ;这个方式可以查看ftp上传文件是否带有windows换行标记符

4

vi test.txt 打开文件,默认进入命令行模式,按Esc+i进入编辑模式,输入this is a test123abc456qwert然后按Esc,输入:wq,保存退出,不打算保存输入:q!,即可。

5

这样一个文件创建,输入,保存就好了。很多时候需要对文件进行编辑,vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成。Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向文件尾翻一屏;Ctrl+b:向文件首翻一屏;Esc:从编辑模式切换到命令模式;ZZ:命令模式下保存当前文件所做的修改后退出vi;:行号:光标跳转到指定行的行首;:$:光标跳转到最后一行的行首;x或X:删除一个字符,x删除光标后的,而X删除光标前的;D:删除从当前光标到光标所在行尾的全部字符;dd:删除光标行正行内容;ndd:删除当前行及其后n-1行;nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;a:在当前字符后添加文本;A:在行末添加文本;i:在当前字符前插入文本;I:在行首插入文本;o:在当前行后面插入一空行;O:在当前行前面插入一空行;:wq:在命令模式下,执行存盘退出操作;:w:在命令模式下,执行存盘操作;:w!:在命令模式下,执行强制存盘操作;:q:在命令模式下,执行退出vi操作;:q!:在命令模式下,执行强制退出vi操作;:e文件名:在命令模式下,打开并编辑指定名称的文件;:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;:set number:在命令模式下,用于在最左端显示行号;:set nonumber:在命令模式下,用于在最左端不显示行号;以上指令在实际使用中,用的都比较多,刚开始会记不住,用多了就熟悉了。这里举一个显示行号的图例,先按Esc,然后输入:set nu,回车,就可以看到每一行对应的行号了

6

其他附加功能,如:移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上b:与w相反e: 光标以单词向前移动 ne:光标向前移动n个单词 光标到单词的最后一个字母上ge:与e相反$:移动光标到行尾 n$:移动到第n行的行尾0(Num):移动光标到行首^:移动光标到行首第一个非空字符上去f:移动光标到当前行的字符a上,nf移动光标到当前行的第n个a字符上F:相反%:移动到与制匹配的括号上去(),{},[],<>等。nG:移动到第n行上 G:到最后一行CTRL+G 得到当前光标在文件中的位置向前翻页:CTRL+F向下移动半屏:CTRL+G向后翻页:CTRL+B到文件开头 gg到文件结尾 shift+g存盘::q! :不存盘退出:e! :放弃修改文件内容,重新载入该文件编辑:wq :存盘退出dw:删除一个单词,需将光标移到单词的第一个字母上,按dw,如果光标在单词任意位置,用dawdnw:删除n个单词dne:也可,只是删除到单词尾dnl:向右删除n个字母dnh:向左删除n个字母dnj:向下删除n行dnk:向上删除n行d$:删除当前光标到改行的行尾的字母dd:删除一行cnw[word]:将n个word改变为wordcc:改变整行C$:改变到行尾J: 删除换行符,将光标移到改行,按shift+j删除行尾的换行符,下一行接上来了.u: 撤销前一次的操作shif+u(U):撤销对该行的所有操作。:set showmode :设置显示工作模式o:在当前行的下面另起一行O(shift+o):在当前行的上面另起一行nk或nj:光标向上或向下移n行,n为数字an!【ESC】:在行后面加n个感叹号(!)nx:执行n次x(删除)操作ZZ:保存当前文档并退出VIM:help :查看帮助文档,在这之中,按CTRL+] 进入超连接,按CTRL+O 返回。:help subject :看某一主题的帮助,ZZ 退出帮助:set number / set nonumber :显示/不显示行号:set ruler /set noruler:显示/不显示标尺/pattern 正方向搜索一个字符模式?pattern 反方向搜索一个字符模式然后按n 继续向下找把光标放到某个单词上面,然后按×号键,表示查找这个单词查找整个单词:/\:set hlsearch 高亮显示查找到的单词:set nohlsearch 关闭改功能m[a-z]:在文中做标记,标记号可为a-z的26个字母,用`a可以移动到标记a处r:替换当前字符nr字符:替换当前n个字符查找替换:way1:/【word】 :查找某个wordcw【newword】:替换为新wordn: 继续查找.: 执行替换way2::s/string1/string2/g:在一行中将string1替换为string2,g表示执行 用c表示需要确认:num1,num2 s/string1/string2/g:在行num1至num2中间将string1替换为string2:1,$ s/string1/string2/g:在全文中将string1替换为string2v:进入visual 模式【ESC】退出V:shift+v 进入行的visual 模式CTRL+V:进如块操作模式用o和O改变选择的边的大小。粘贴:p,这是粘贴用x或d删除的文本复制:ynw:复制n个单词yy:复制一行ynl:复制n个字符y$:复制当前光标至行尾处nyy:拷贝n行完了用p粘贴:split:分割一个窗口:split file.c :为另一个文件file.c分隔窗口:nsplit file.c: 为另一个文件file.c分隔窗口,并指定其行数CTRL+W在窗口中切换:close:关闭当前窗口在所有行插入相同的内容如include<,操作方法如下:将光标移到开始插入的位置,按CTRL+V进入VISUAL模式,选择好模块后按I(shift+i),后插入要插入的文本,按[ESC]完成。:read file.c 将文件file.c的内容插入到当前光标所在的下面:0read file.c 将文件file.c的内容插入到当前文件的开始处(第0行):nread file.c 将文件file.c的内容插入到当前文件的第n行后面:read !cmd :将外部命令cmd的输出插如到当前光标所在的下面:n1,n2 write temp.c 将本文件中的n1,到n2行写入temp.c这个文件中去CTRL+L刷新屏幕shift + < 左移一行shift + > 右移一行u: undoCTRL+R: re-doJ: 合并一行CTRL+p 自动完成功能CTRL+g 查看当前文件全路径q[a-z] 开始记录但前开始的操作为宏,名称可为【a-z】,然后用q终止录制宏。用reg显示当前定义的所有的宏,用@[a-z]来在当前光标处执行宏[a-z]。

7

上图输入:1,$s/123/789/g,表示从1行到末尾所有123的内容,替换为789,这个命令平常也用得很多。

推荐信息