Vi编辑器是Unix和Linux下的标准编辑器。 它默认有三个状态,命令模式command mode,插入模式insert mode,底行模式last line mode.

我们打开一个文件可使用下命令 $ vi FileName 或者 $ vim FileName 默认打开一个文件,该文件处于命令状态。此时我们只能移动光标,但不能进行编辑,编辑需要进入插入模式insert mode,我们在命令行模式按下’i’即可进入插入模式。 当我们想退回到命令模式时,可按下 Esc 从插入模式切换进入命令模式。 在命令模式下,我们可以按下’:‘键进入底行模式。 例如,我们要退出一个文件的编辑。那么我们在编辑模式下,按Esc切换到命令模式后输入 :wq ,即表示存盘该文件并退出。命令模式下输入: q! 则表示不存盘强制退出。此时Linux会为我们保存一个FileName.swp文件,该文件内记录了我们上次强制退出前的修改,当下次打开时候会自动提示是否进行替换。若替换可使用 vi -r FileName 命令。

命令模式下,vi有以下功能: (注:某志只记录重要常用的命令。详细的自行百度) 1:切换为插入模式。 刚才我们使用i可切换为插入模式,同样可以使用a和o进入插入模式。 - i 是从光标当前位置开始编辑 2:光标移动功能。 使用上下左右键或h,j,k,l键均可控制光标上下左右移动一格。 按住Ctrl+b,Ctrl+f,Ctrl+u,Ctrl+d均可使屏幕向后/前移动一页/半页。 3:删除文字。 - x 删除光标后的一个字符。 - dd 删除光标所在行 4:复制 - yw 复制从光标开始,到行尾的字符到缓冲区中 - yy 复制光标所在全行到缓冲区中 - p 将缓冲区中的字符粘贴到光标所在位置(所有和’y’有关的复制命令必须和’p’粘贴命令配合使用) 5:替换 - r 替换光标所在的字符。(输入r后,输入自己需要的字符即可) 6:撤回上一步 - u 按一次u可撤回上一步操作,多次按下可连续撤回上一步 - Ctrl+R 若我们撤销多了,可以进行redo操作。 7:跳到指定行 - Ctrl+g 可获得光标当前所在行号 - #G 移动光标到指定行行首。例如:15G

底行模式下的功能简介

1:列出行号 - set nu 输入该命令后,会在文件每一行列出行号 2:跳到文件某一行 - 其中#表示一个数字,我们直接输入行号,回车,即可直接跳到文件第#行。 3:查找关键字 - /关键字 例如输入”/数字” ,就会从光标开始查找”数字”这个关键字。若该关键字位置不是你需要的位置,按n可以向后查找。 - ?关键字 和上面功能一样,不过,按n则是从光标处向前查找。 - 个人建议在查找前开启关键字高亮,它的命令是 :set hlsearch ,然后再查找时,关键字会是高亮的。当然希望取消的时候,请输入 :set nohisearch 命令可以关闭关键字高亮。 4:保存文件 - w 可以将文件进行保存。 5:离开vim - q 离开vim,后面加 ! 表示强制离开

Vim的特点。

坦诚开说,基于Windows开发习惯的人,实在难以接受Vim,它几乎剥夺了鼠标的所有的操作(GCC,GDB和VS的恩怨之后再说),但是它的强大之处正是它的简陋-。-没错,简陋到你可以用它去定制自己许许多多的习惯和要求,当你定制了足够多的习惯,那么效率就起来了,它是属于你自己的,而不是MS。 我们可以对自己的Vim进行定制,也可以下载一些插件进行使用,例如 winmanager,taglist,lookupfile等。它们可以使vim增加更多的特性:包括多标签支持,多窗口支持,语法高亮,文本折叠等。 过于复杂,不多做解释了。Windows下朋友可以用gvim熟悉下这款大名鼎鼎的文本编辑器。