A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在学习搭建源码Hadoop 1.2.1时,由于不熟悉Linux,经常弄到手忙脚乱,找了很多帖,总结了很多关于在Linux编辑文本必用的工具vi的常用操作和快捷键,完全可以支持最新版本的vi编辑器,分享给有需要的小伙伴们

Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。他们的相互关系如所示。
指令模式(Command Mode) 下输入  a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)

1、指令模式(Command Mode)
指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。
0 或者^ -----光标移动至行首,有些许差异,但是可以通用
$-----将光标移动到该行最后
H    屏幕最上
M    屏幕中央
L    屏幕最下
gg    档案第一行
G     档案最后一行
PageDn ----- 向下移动一页
PageUp ----- 向上移动一页
d+方向键 -----删除文字

/work        向下搜索     
?work        向上搜索     
u        重做,后退
U        恢复原样
[Ctrl]+r    撤销,前进
[ctrl]+z    暂停退出  


dd -----删除整行
ndd         删除n行
pp -----整行复制

nyy        复制n行
nyw        复制n个单词,若无行数,只复制光标到单词尾
y$        复制光标到行尾
y^        复制光标到行首

r  -----修改光标所在的字符
S  -----删除光标所在的列,并进入输入模式
   
2、文本输入模式(Input Mode)
在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示。
a -----在光标后开始插入
A -----在行尾开始插入
i -----从光标所在位置前面开始插入
I -----从光标所在列的第一个非空白字元前面开始插入
o -----在光标所在列下新增一列并进入输入模式
O -----在光标所在列上方新增一列并进入输入模式
ESC -----返回命令行模式

3、末行模式(Last line Mode)
末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。主要命令如下
:q -----结束Vi程序,如果文件有过修改,先保存文件
:q! -----强制退出Vi程序
:wq  -----保存修改并退出程序
:set nu -----设置行号
:set nonu        取消行号
:e!            还原原始档
:set nohlsearch   永久地关闭高亮显示
:sp        同时打开两个文档
[Ctrl]+w    两个文档设换
:nohlsearch    暂时关闭高亮显示



------------------------------------------------------------------------------
/pattern     pattern批要查找的内容,vi将在文件中向前查找与指定内容匹配的第一个内容。
/     重复上一次查找,在文件中查找下一个匹配的内容。
?pattern     pattern要查找的内容。vi将在文件中向后查找与指定内容相匹配的第一个内容。(注意和/是向反的)
:s/patten1/pattern2     用pattern2替换当前行中与pattern1匹配的每个内容。(是当前行)
:%s/patten1/patten2     用pattern2替换整个文件中与pattern1匹配的每个内容。(每行替换一个)  

1 个回复

倒序浏览
vi 的学习曲线比较陡
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马