vi编辑器

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命令模式与输入模式切换的更多相关文章

  1. 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践

    5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 进入编辑模式 小写i在当前字符前插入 大写I 在光标所在行的行首插入 大写O 在光标上面一行插入编辑 小写o在光标下面一行插入编辑 小 ...

  2. 进入编辑模式、vim命令模式、vim实践

    第4周第5次课(4月13日) 课程内容:5.5 进入编辑模式5.6 vim命令模式5.7 vim实践 5.5 进入编辑模式 所谓编辑模式就是进入到一个可以编辑文本文档的模式,常规的方式就是按小i进入编 ...

  3. [转] vi/vim命令模式和编辑模式各种操作

    摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...

  4. Linux centosVMware vim 编辑模式、vim命令模式、vim实践

    一.编辑模式.命令模式 在一般模式下输入:或/可进入命令模式.在该模式下可进行走索某个字符或字符串,也可保存.替换.退出.显示行号等. /word:在光标之后查找一个字符串word,按n向后继续搜索 ...

  5. linux命令-vim命令模式

    编辑模式下 按 “esc” 进去命令模式 :wq 保存并退出 :w  保存 已写入 :q!不保存强制退出 :wq! 强制保存退出 :set nu 显示行号 :set nonu 去掉行号 :nohl 取 ...

  6. -Git Linux vi/vim 命令 按键 MD

    目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...

  7. Linux vi/vim命令

    转自:http://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一 ...

  8. Linux学习---vi/vim命令

    Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 所以本文直接用Vim编辑器 基本上 vi/vim 共分为三种模式,分别是命令模式( ...

  9. vim 命令整理(自己经常使用)

    vimm(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器. vimm分为两种状态,即命令状态和编辑状态.在命令状态下.所键入的字符系统均作命令来处理.如:q代表退出,而编辑状态则是用 ...

随机推荐

  1. java sql

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import ja ...

  2. Tomcat 到底依赖JRE还是JDK

    Tomcat 6.0 以上可以不再依赖JDK运行,直接使用JRE即可,但Tomcat 5.5以下,是必须安装JDK的. 这主要是由于,Tomcat 5.5及以下版本主要是依赖JDK去编译JSP文件生成 ...

  3. 关于 Python 入门的一些问题?

    一.用 python 能够做什么?解决什么问题? A1:理论上来说,计算机能做什么,python 语言就能让它做什么,也即 python能做什么. 数值计算.机器学习.爬虫.云相关开发.自动化测试.运 ...

  4. jQuery 核心函数 (十一)

    函数 描述 jQuery() 接受一个字符串,其中包含了用于匹配元素集合的 CSS 选择器. jQuery.noConflict() 运行这个函数将变量 $ 的控制权让渡给第一个实现它的那个库.

  5. File API文件操作之FileReader

    近来研究点对点的文件传输,想到一种方案FileReader+WebRtc. 当我看到FileReader的时候,哎呀,不错的东西啊,仔细一看属于File API,或者叫做Web API. File A ...

  6. hadoop安装和配置

    这里只是涉及了hadoop的一些思路,所以完全分布式配置文件并没有哦!以后会把详细的配置过程和使用环境补充在另外一篇博客中 hadoop的安装: --------------------------- ...

  7. Centos6.4三种更改hostname的方法之间的对比

    首先,利用hostname命令查看一下当前主机的主机名,在终端输入hostname,会发现显示的是完整的主机名称(主机名.域名),其中主机名与进入终端后:登录名@主机名,显示的一致,如下图所示: 其次 ...

  8. Mongo查询关键字

  9. kylin客户端(python编写)不能按照预期的segment进行rebuild

    kylin_client_tool 提供了对cube进行BUILD,REBUILD,MERGE功能,其中REBUILD却不能达到预期的效果按照指定的segment执行. 场景: 当我在kylin we ...

  10. 【读书笔记】【深入理解ES6】#7-Set集合和Map集合

    ES6新标准中将Set集合和Map集合添加到JS中. ES5中Set集合和Map集合 在ES5中,开发者们用对象属性来模拟这两种集合. var set = Object.create(null); s ...