linux或者shell进入vi命令
vi的基本操作
a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi file
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
命令行模式(command mode)功能键
1). 插入模式
按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「ESC」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往"后"移动一页。
按「ctrl」+「f」:屏幕往"前"移动一页。
按「ctrl」+「u」:屏幕往"后"移动半页。
按「ctrl」+「d」:屏幕往"前"移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的"行尾"。
按「^」:移动到光标所在行的"行首"
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的"后面"一个字符。
「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
6).查找
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
7).替换
:1,$s/oldstr/newstr/g 在全文范围用newstr替换oldstr
:n,ms/oldstr/newstr/g 在第n行到第m行内用newstr替换oldstr
最新文章
- 旧版青奥遇到的bug
- php常见的面试题目
- Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
- 自定义View完全解析
- android版微信5.2.1更新 支持微信聊天记录备份到电脑上
- python装饰器初探
- wf(四)
- Song Jiang's rank list
- python中字符与ascii码转换
- [讲座]【项目收集】“清流资本”互联网金融沙龙——颠覆者的创新与机会
- HDFS小文件处理——Mapper处理
- MySQL查询不使用索引汇总
- 【转】vue基础学习
- css之background的cover和contain的缩放背景图
- Eclipse导入jre方法
- windows socket----select模型
- Eclipse 4.4.2 取消空格键代码上屏
- uva 10652 Board Wrapping (计算几何-凸包)
- JS中的DOM对象及JS对document对像的操作
- 详解spl_autoload_register()函数
热门文章
- 解决securecrt连接慢(而xshell秒连)的问题
- CPU使用率与负载的爱恨情仇
- Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core
- vuex中mapGetters的使用及简单实现原理
- java String、String.concat和StringBuilder性能对比
- 201671030103 实验十四 团队项目评审&;课程学习总结
- ReSharper安装
- wordpress添加post_type自定义文章类型
- Python基础B(数据类型----交互)
- 常用dos命令(4)