且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

vi文本编辑器的使用总结

更新时间:2022-02-20 03:30:46

vi文本编辑器的使用

 

vi文本编辑器的使用总结

vi的简介
vi是visual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。

vi的三种模式
vi有三种模式工作模式,编辑模式,插入模式和命令模式(末行模式)

在编辑模式下可以用i,a,o进入插入模式,如果要返回编辑模式可以用esc键即可,如果要进入命令模式用冒号:

本人举几个常用到的例子:

1.编辑模式下的操作

替换和删除:

x删除光标处的字符,nx删除从光标所在的位置开始向右的n个字符,ndw删除n个指定的单词。

dd删除光标所在的整行。

复制和粘贴:

YY把当前的内容复制到缓冲区域,nYY把当前的n行内容服务器到缓冲区,p把缓冲区的内容复制到光标所在的位置。

搜索字符串:/str往右移动到str的地方,?/str往左移到str的地方,

撤销和重复:u取消前一次操作或不合适的操作对文本的影响,.点在执行一次前面刚完成的某个复制的命令

退出: ZZ存盘退出,ZQ不保存退出。


2.命令模式下的操作:

:n跳到n行,

退出:q退出vi,:q!不保存退出,:w存盘退出

文件相关:w file 将当前编辑的内容写到file中,:n1,n2w file从n1到n2结束的行写入file中,:nw file将n行写入file文件中,:r file打开另一个file文件,:e file新建一个file文件,:f file当前文件改名为file.

字符串搜索替换删除

:/str/从当前光标开始往右移动到有str的地方,:?str?从当前往左启动到str的地方
:/str/w file将包含有str的行写入到文件file中,:/str1/,/str2/w file从str1开始到str2结束的内容写入file文件中,:s/str1/str2/将第一个str1替换为str2,:s/str1/str2/g将所有的str1替换为str2

:.,$ s/str1/str2/g将当前位置到结尾的所有的str1替换为str2

文本的复制,移动和删除:

:d删除当前行,:nd删除从当前开始的n行,:n1,n2 d删除n1到n2的为止的所有内容,:.,$d删除当前行刀结尾的所有内容,:/str1/,/str22/d删除从str1到str2为止的所有内容。

执行Shell命令:

:!Cmd运行Shell命令cmd,:n1,n2 w! Cmd表示将n1到n2行的内容作为Cmd命令的输入,如果不指定n1和n2,则将整个文件内容作为命令Cmd的输入。

:r ! Cmd 将命令运行的结果写入当前行位置。


设置vi环境

:set autoindent 缩进每一行,使之与前一行相同。常用于程序的编写

:set noautoindent 取消缩进

:set number 在编辑文件时显示行号

:set nonumber不显示行号

:set ruler 在屏幕底部显示光标所在的行,列位置

:set noruler 不显示光标所在的行,列位置。



本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/401794,如需转载请自行联系原作者