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行

 

Linux下 Vim(Vi)编辑器的使用的更多相关文章

  1. Linux下的vi编辑器与gcc工具的使用

    最近在网上找了些视频,自学了一点Linux环境下,C编程的方法. 注 vi与vim是有区别的,vim打开的源码文件其中的关键字是有颜色的. vi编辑器有3种模式,命令行模式,插入模式,底行模式. 如果 ...

  2. linux下Vim文本编辑器的常用快捷键

    Linux插入命令 a 在光标之后插入字符 A  把光标移动到行首尾进入插入模式 i 在光标之前插入字符 I 把光标移动到行首并进入插入模式 o 在光标下插入新行 O 在光标上插入新行 Linux定位 ...

  3. Linux下采用VI编辑器删除复制或移动多行文本内容

    一.删除多行 单行删除,:1(待删除行号)d 多行删除,:1,10d dd 删除光标所在行ndd删除以当前行开始的n行dw删除以当前字符开始的一个字符ndw删除以当前字符开始的n个字符d$.D删除以当 ...

  4. linux下vim编辑器使用

    VIM - Vi IMproved: vim是vi编辑器的升级版,是linux下标准的编辑器,具有程序编写能力,可以根据字体颜色辨别语法的正确性,方便程序的设计. 使用: # vim [OPTION] ...

  5. linux 下vim的使用

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  6. linux下使用vi操作

    ESC : 进入命令模式 linux下使用vi后,怎样跳转到文件结尾 pagedown键连续按 虽然我也这么用,但还是太笨了.问了高手,方法是按shift+g,另外,到文件开头是gg.   linux ...

  7. linux 下vim的使用(必看)

    vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...

  8. windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

    一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...

  9. Linux下vim文件未正常退出,修复文件

    Linux下vim文件未正常退出,会产生一个 .文件名.swp的文件 ls -al  ,rm   删掉.swp文件 之后就可以正常使用文件了

随机推荐

  1. JOISC2019 游记

    JOISC2019 游记 Day 1: 試験 (Examination) 题目大意: 有\(n(n\le10^5)\)个人,每个人有两种属性\(s_i,t_i\).\(q(q\le10^5)\)次询问 ...

  2. using Sysyem.Net.Http命名空间引用不了的解决方案

    1.查看.Net Framework的框架是否是在4.5之上,如果不是要下载4.5之上的目标框架. 2.在引用器里面添加using System.Net.Http命名空间 选择项目列表中的“引用”-- ...

  3. RF经验~~

    在用RF进行web自动化脚本编写时,经常会用到对日期控件进行操作.目前认为比较好用的方法是:直接对日期控件进行赋值. Assign Id To Element //*[@id="update ...

  4. idea破解失效:cant obtain ticket from http://idea.iteblog.com/key.php

    破解idea错误描述:cant obtain ticket from http://idea.iteblog.com/key.php   idea破解失效 解决方案: 打开链接: http://ide ...

  5. XML语言1.简介和语法

    一.什么是XML语言? XML 指可扩展标记语言(Extensible Markup Language) Xml是独立于软件和硬件的信息传输工具. XML 是一种很像HTML的标记语言. 但xml不是 ...

  6. python elasticsearch 批量写入数据

    from elasticsearch import Elasticsearch from elasticsearch import helpers import pymysql import time ...

  7. VS启动Winform项目提示:不支持互操作调试

    64 位平台不支持互操作调试(托管 + 非托管混合模式调试). 在VS中设置项目属性--->调试--->取消选中“启用本地代码调试”. 此问题在.NET FrameWork低版本框架会出现 ...

  8. async ,await 有图有真相

    1.async返回的一定是promise对象 2.await确实可以同步:

  9. 移动端web开发的注意点大总结

    对于手机网站建设,总结了如下几点注意: 1. 安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作 ...

  10. HTML5 history.pushState()和history.replaceState()新增、修改历史记录用法介绍

    抽空研究了下这两个新方法,确实可以解决很多问题 1.使用pushState()方法 可以控制浏览器自带的返回按钮: 有时候我们想让用户点击浏览器返回按钮时,不返回,或执行其他操作,这时,就用到hist ...