霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

vi 编辑命令集

vi (一般,我们发音为 vee-eye ) 是一个几乎每个 UNIX 系统都具备的行编辑器。还有许多变种存在于许多其他的操作系统中。例如 Amiga、 Atari、Macintosh、MS-DOS、OS/2、Windows 3.1/95/NT。

一、基本操作

vi fileName //打开文件

:x,  :wq,  ZZ //保存文件后,退出vi

:q //未存盘退出

:q! //未存盘强行退出

:w newfileName //另存为newfileName(当前文件夹中)

:行号 [,行号] write newFilePartName //保存文件块名为newFilePartName; write! 可以实习覆盖原文件

:行号 [,行号] write >> newFilePartName //追加

:行号 [,行号] read/r newFilePartName //读入文本文件 {例如>:r blockOfTTT}
ESC //回到命令模式

. //重复执行上次的操作

u //撤销上次的操作

i/I //光标前插入 -> 进入输入模式

a/A //光标后追加 -> 进入输入模式

o/O //光标所在行下新增加一行 -> 进入输入模式

x //删除一个字符

dw //删除光标处的一个单词

dd //删除一行

s //删除光标所在字符 -> 进入输入模式

S //删除光标所在行 -> 进入输入模式

//文本查找与替换

/string //指示编辑器向 前 标识全部(查找)字符串string

?string //指示编辑器向 后 标识全部(查找)字符串string

{

说明: 无论你当前沿着哪个方向查找, n 命令将光标移动到同一个方向的下一个目标, 使用 N 命令将沿反方向查找下一个目标

}

:s /搜索单词/替换的内容/g //替换当前行中所有匹配; 例如 “:s/jay/root/g”

:, $s/搜索单词/替换的内容/g //整个文件中进行替换, (1,$)替换范围; 例如: “:1,$s/jay/root/g”

//光标移动

$ //当前行行尾

^ //当前行行首

nG == :n //第n行

G == :$ //文件最后一行

//滚屏命令

Ctrl + U/D //将屏幕向前/后翻滚半屏

Ctrl + F/B //将屏幕向前/后翻滚一整屏

Ctrl + G //显示当前文件的编辑状态

yy //复制当前行

p //张贴

yw //复制单词

:行号 [,行号] copy 行号 //复制行块 {例如=>:7 copy 10; :7,9 copy %}

//’.’当前行, ‘$’文件尾, ‘0’文件头

:!shellCmd //起动一个子shell,并执行!后的命令,将结果显示到屏幕上,但这并不影响当前被编辑的文件夹;

:read !shellCmd //读入shellCmd执行后的输入

二、高级操作

//帮助的查看:

:h shellCMD, // 例如”:h cindent”, “:q”退出帮助

//自动缩进. 对于C/C++程序员用cindent模式. 命令”:set cindent”(所有的set都可以简//写为se)

:set cindent

//语法高亮.”:syntax on”打开高亮, For more information:”:h syntax”,

// “:h syn-qstart”, “:h syntax-printing”

:syntax on

:e //打开一个新的文件,如果之前对已经打开的文件进行过编辑,且没有存盘,该命令失效

:E //分栏打开另一个文件,有列表可以选择

set ai //设定自动缩进,我每次使用都要用到它.

set nu //显示行号,查错的时候令你事半功倍

:set encoding=gb2312 //vim设置encoding .正确显示中文字符

 



There are 1 Comments to "vi 编辑命令集"

  • […] vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时没有指定一个文件,那么vi命令会自动产生一个无名的空 的工作文件。若指定的文件不存在,那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原来文件的内容。 另一篇请见:vi编辑命令集 […]