vi编辑器介绍以及vi的使用规则
2013-06-29 14:33
232 查看
vi编辑器
(一)Vi编辑器的概念:vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强 大不逊色于任何最新的文本编辑器,Vi是Linux中最基本的文本编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用,学会它后,将在Linux的世界里畅行无阻。
基本上vi可以分为三种工作模式,分别是
命令模式(command mode)、插入模式(Insert mode)、末行模式(last line mode)
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。
3)末行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。
(二)Vi的基本使用
1)进入vi编辑器
在系统shell提示符下输入vi及文件名称filename后,进入vi编辑画面,如果系统内不存在filename文件,就创建了该文件,如果存在该文件,就意味着编辑该文件。
# vi filename
进入vi之后,系统处于命令行模式,需要切换到插入模式才能够输入汉字。
2)切换至插入模式,编辑文件
在命令行模式下按字母“i”进入插入模式,接下来就可以输入文字了。
3)退出vi及保存文件
在命令行模式下,按“:”就可以进入末行模式,可以将文件内容保存为指定文件名。
输入“wq”,存盘退出VI
输入“q!”,不存盘强制退出vi
进入插入模式
(1)进入插入模式后的操作如下:
i 在光标左侧输入正文
a 在光标右侧输入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头输入正文
A 在光标所在行的末尾输入正文
s 用输入的正文替换光标所指向的字符
S 删除光标所在的行,然后进入插入模式
(2). 退出插入模式 切换为命令行模式
退出插入模式的方法是,按 ESC
(3)移动光标
上:k nk:向上移动n行
下:j nj:向下移动n行
左:h nh:向左移动n列
右:l nl:向右移动n列
下一行行首:+
上一行行首:-
当前行行首:0
当前行行尾:$
后一个单词词首:w,W
后一个单词词尾:e,E
前一个单词词首:b,B
下一屏:CRTL+F
上一屏:CRTL+B
下半屏:CRTL+D
上半屏:CRTL+U
文件尾:G
当前屏幕首行:H
(4)删除文字
删除光标位置文字:x
删除光标所在位置的n个文字:nx
删除光标前面文字:X
删除光标前面n个文字:nX
删除当前行:dd
删除当前位置后的n行:ndd
(5)复制
复制操作如下:
将光标索所到之处到字尾的字符复制到缓冲区:yw。
复制n个字到缓冲区:nyw
复制光标所在行到缓冲区:yy
复制从光标所在行开始的6行字符:nyy
将缓冲区的内容写到光标所在位置:p
6 替换
替换操作如下:
替换光标所到处的字符:r
替换光标所到处的字符,直到按下ESC键为止:R
(7)撤销上一次操作 按u,多次按u可执行多次撤销
(8)退出指定的行
列出光标所在的行:Ctrl+g
(9)退出
存盘退出:zz
不存盘退出:ZQ
末行模式操作
(1)列出行号:setnu
(2)取消列出行号:set nonu
(3)跳到文件中的某一行
在“:”后输入数字,按回车即可
(4)查找字符
先按“/”,再输入想查找的字符,如果不是自己想要的,可按n查找下一个关键字
先按“?”,再输入想查找的字符,如果不是自己想要的,可按n查找下一个关键字
(5)运行shell命令
运行shell命令:“i命令”
(6)按w可保存文件
(7)按Q退出vi
相关文章推荐
- 【原/转】【boost】智能指针使用规则以及介绍
- SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
- MVP介绍以及使用
- Lucene.net 原理介绍以及使用方法
- SDWebImage的使用以及原理介绍
- Wireshark抓包工具使用教程以及常用抓包规则
- Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍
- Log4j 的使用以及简单介绍
- 存储过程介绍以及使用(转账,分页)
- [置顶] Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
- vi的使用规则
- Wireshark抓包工具使用教程以及常用抓包规则
- face++ c++接口 以及 curl 库的使用,json库在另一个博客介绍
- Wireshark抓包工具使用教程以及常用抓包规则
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用
- 一篇介绍如何使用XAMPP以及PDT开发PHP环境搭建的文章
- hzk16的介绍以及简单的使用方法
- Spring整合hibernate的事务属性介绍以及声明式事务管理 (使用Annotation和xml)
- OData 语法使用规则介绍
- 利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架