VIM命令模式与输入模式切换
vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器。vi有两种工作模式:命令模式和文本输入模式。启动vi需要输入vi,按[Spacebar]键并输入文件名后回车。
切换模式键
vi从命令模式切换到文本输入模式。每个键以不同方式使vi进入文本输入模式。按[ESC]键使vi从文本输入模式回到命令模式。
表1列出了vi从命令模式切换到文本输入模式的命令键及其功能。
表1 切换到文本输入模式的命令键
键 |
功能 |
i |
在光标左侧输入正文 |
I |
在光标所在行的行首输入正文 |
a |
在光标右侧输入正文 |
A |
在光标所在行的行尾输入正文 |
o |
在光标所在行的下一行增添新行,光标位于新行的行首 |
O |
在光标所在行的上一行增添新行,光标位于新行的行首 |
说明:1. 光标的位置由双下划线(═)标明。
2. 当前行指光标所在的那一行。
退出命令
只有一种方式进入vi,但是有几种方式退出vi,退出方式的选择取决于如何处理编辑后的文件。
除了ZZ命令外,这些命令都以:开始,用[Return]结束命令行。表2列出了vi编辑器的退出命令及其功能。
表2 vi编辑器的退出命令
键 |
功能 |
:wq |
保存文件,退出vi编辑器 |
:w |
保存文件,但不退出vi编辑器 |
:q |
退出vi编辑器 |
:q! |
不保存文件,退出vi编辑器 |
ZZ |
保存文件,退出vi编辑器 |
文本修改键
这些键只适用于命令模式。表3列出了vi编辑器的退出命令及其功能。
表3 命令模式下vi编辑器的文本修改键
键 |
功能 |
x |
删除光标位置指定的字符 |
dd |
删除光标所在的行 |
u |
撤销最近的修改 |
U |
撤销对当前行上做的所有修改 |
r |
替换光标位置上的一个字符 |
R |
替换从光标位置开始的字符,同时改变vi到文本输入模式 |
.(点) |
重复上一次的修改 |
光标移动指令
在命令模式下,这些键可以在文档中移动光标。表4列出了vi编辑器的退出命令及其功能。
表4 vi的光标移动键
键 |
功能 |
h或[ ] |
将光标向左移动一格 |
j或[ ] |
将光标向下移动一格 |
k或[ ] |
将光标向上移动一格 |
l或[ ] |
将光标向右移动一格 |
$ |
将光标移到当前行的行尾 |
w |
将光标向右移一个字 |
b |
将光标向左移一个字 |
e |
将光标移到字尾 |
0(零) |
将光标移到当前行的行首 |
[Return]键 |
将光标移到下一行的行首 |
[Spacebar]键 |
将光标向右移动一位 |
[Backspace]键 |
将光标向左移动一位 |
注意:在文本输入模式下避免使用光标键(箭头键)。因为在某些系统中,光标键被解释为普通的ASCII 字符。如果在文本输入模式下使用光标键,那么对应的ASCII字符将被插入文件中。
剪切和粘贴键
这些键用来重新安排用户文件中的文本,在vi的命令模式下可用。表5列出了vi编辑器的剪切和粘贴键及其功能。
表5 vi编辑器的剪切和粘贴键
键 |
功能 |
d |
删除指定位置的文本,并存到临时的缓冲区中。可以使用put操作符(p或P键)访问这个缓冲区 |
y |
将指定位置的文本复制到临时缓冲区。可以使用put操作符访问这个缓冲区 |
P |
将指定缓冲区的内容放到当前光标的位置之上 |
p |
将指定缓冲区的内容放到当前光标的位置之下 |
翻页键
翻页键用来大块滚动用户的文件,在vi的命令模式下可用。表6列出了vi编辑器的翻页键及其功能。
表 6 vi编辑器的翻页键
键 |
功能 |
[Ctrl-d] |
将光标向下移到文件尾,通常每次移动12行 |
[Ctrl-u] |
将光标向上移到文件头,通常每次移动12行 |
[Ctrl-f] |
将光标向下移到文件尾,通常每次移动24行 |
[Ctrl-b] |
将光标向上移到文件头,通常每次移动24行 |
三种常见的模式:Normail Mode(命令模式),Insert Mode(输入模式)和Visual Mode(视图模式)。
命令模式和输入模式的切换有Append,Insert,Replace,Subsitute 记作AIRS,这种记忆方法特别方便,英文单词的意思是空气,vim在命令模式和输入模式的切换就像空气一样,无影无形。
编辑文本无非就是基本的字符输入和切换光标的位置,平时光标切换就是通过键盘上的上下左右的键盘来实现的,这个上下左右的键盘切换光标虽然也是很方便,但是是不是要从我们键盘手势上移动,而vim可以完全不用移动,通过hjkl。
h:左移一个位置
j:往下一行
k:往上一行
l:右移一个位置
VIM命令模式与输入模式切换的更多相关文章
- 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 进入编辑模式 小写i在当前字符前插入 大写I 在光标所在行的行首插入 大写O 在光标上面一行插入编辑 小写o在光标下面一行插入编辑 小 ...
- 进入编辑模式、vim命令模式、vim实践
第4周第5次课(4月13日) 课程内容:5.5 进入编辑模式5.6 vim命令模式5.7 vim实践 5.5 进入编辑模式 所谓编辑模式就是进入到一个可以编辑文本文档的模式,常规的方式就是按小i进入编 ...
- [转] vi/vim命令模式和编辑模式各种操作
摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...
- Linux centosVMware vim 编辑模式、vim命令模式、vim实践
一.编辑模式.命令模式 在一般模式下输入:或/可进入命令模式.在该模式下可进行走索某个字符或字符串,也可保存.替换.退出.显示行号等. /word:在光标之后查找一个字符串word,按n向后继续搜索 ...
- linux命令-vim命令模式
编辑模式下 按 “esc” 进去命令模式 :wq 保存并退出 :w 保存 已写入 :q!不保存强制退出 :wq! 强制保存退出 :set nu 显示行号 :set nonu 去掉行号 :nohl 取 ...
- -Git Linux vi/vim 命令 按键 MD
目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...
- Linux vi/vim命令
转自:http://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一 ...
- Linux学习---vi/vim命令
Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 所以本文直接用Vim编辑器 基本上 vi/vim 共分为三种模式,分别是命令模式( ...
- vim 命令整理(自己经常使用)
vimm(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器. vimm分为两种状态,即命令状态和编辑状态.在命令状态下.所键入的字符系统均作命令来处理.如:q代表退出,而编辑状态则是用 ...
随机推荐
- input选择框样式修改与自定义
html自带的选择框样式不好看,并且在ios设备上丑的罚款.所以一般都是自定义样式: 原理:将原来默认的input选择框隐藏,然后控制label的:before与:after,配合矢量图标或者图片来实 ...
- [编织消息框架][JAVA核心技术]动态代理介绍
由于java是种强类型静态语言,在执行时无法动态生成代码,静态语言基本都有这特性 动态生成代码有几种好处,也是弱类型语言的优点 1.部份逻辑可以实现热更新 2.远程调用实现非常适合 3.能动态生成扩展 ...
- C#-判断Shift,Alt,Ctrl是否被按下,确定所按下的组合键
在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT.ALT 和 CTRL 键等组合键.当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导 ...
- POI 导出导入工具类介绍
介绍: Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发人员则可以利用NPOI (POI ...
- python科学计算_numpy_线性代数/掩码数组/内存映射数组
1. 线性代数 numpy对于多维数组的运算在默认情况下并不使用矩阵运算,进行矩阵运算可以通过matrix对象或者矩阵函数来进行: matrix对象由matrix类创建,其四则运算都默认采用矩阵运算, ...
- commons-dbutils 字段名称转换
我们在写bean的时候,字段通常都使用小驼峰命名法,但是在设计数据库时,一般使用下划线分割命名.这样,在取出数据库字段时,还需要转换.如何简洁的实现这种转换呢? 你能遇到的问题,只要是普遍存在的,大家 ...
- 进程管理工具Supervisor(一)简介与使用
Supervisor是用Python开发的一套client/server架构的进程管理程序,能做到开机启动,以daemon进程的方式运行程序,并可以监控进程状态等等. linux进程管理方式有传统的r ...
- K:图相关的最小生成树(MST)
相关介绍: 根据树的特性可知,连通图的生成树是图的极小连通子图,它包含图中的全部顶点,但只有构成一棵树的边:生成树又是图的极大无回路子图,它的边集是关联图中的所有顶点而又没有形成回路的边. 一个有 ...
- .Net Core建站(4):FTP发布项目及连接服务器数据库
总感觉,今天(2018-1-14)下午写不完这篇,虽然蛮简单,只是点点点,,, 主要是记录两个, 1.连接服务器的数据库 2.项目FTP发布到服务器 使用数据库:SQL Service 2017 使用 ...
- SpringMVC的映射器、适配器、解析器
1.处理器和适配器 1.1springmvc的映射器 根据客户端请求的url,找到处理本次请求的handler(处理器),将url和controller关联起来 1.2springmvc的适配器 对映 ...