记录一下vi的一些使用指令,蓝色部分是比较常用的,其中使用过的重新进行了描述,极少部分是未使用过的,还有一些未使用也未记录进来,后续再来补充修正:

参考资料:http://cn.linux.vbird.org/linux_basic/0310vi_2.php

vi分三种模式:一般模式、编辑模式、指令列命令模式,作用如下:

一般模式:

  以vi 打开一个文档就直接进入一般模式了即默认模式,在此模式中,可以使用 【上、下、左、右】按键来移动光标,可以使用 【删除字符】或【删除整行】来处理内容,也可以使用【复制、粘贴】来处理文件数据。

编辑模式:

  在默认模式中,可以进行删除、复制、粘贴等操作,但是无法编辑文件内容,要等按下【i,I,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式。通常在Linux中,按下这些按键的时候,在画面的左下方会出现【INSERT 或 REPLACE】等字样,此时才可以进行编辑。如果要退出编辑模式,回到默认模式,按下[ESC]按键即可。

指令列命令模式:

  在默认模式中,输入【:/?】三个中的任何一个,就可以将光标移动到最底下的那一行。在这个模式中,可以提供你【搜索资料】的动作,读取、存盘、大量取代字符、离开vi、显示行号等等的动作则是在此模式中达成的。

注:一般模式即默认模式可与编辑模式及指令列命令模式切换,但编辑模式与指令列命令模式之间不可互相切换。

按键说明:

一般模式可用的按钮说明,光标移动、复制粘贴、搜索取代等:

移动光标的方法:

h 或 向左箭头键   : 光标向左移动一个字符,多次移动,【h 或 向左箭头键】前加要移动的次数,比如,5h ,向左移动5个字符。

j  或 向下箭头键  :  光标向下移动一行,多行移动,【j 或 向下箭头键】前加要移动的行数,比如,10j,向下移动10行。

k 或 向上箭头键   :   光标向上移动一行,多行移动,【k或 向上箭头键】前加要移动的行数,比如,16k,向上移动16行。

l  或 向右箭头键  :  光标向右移动一个字符,多次移动,【l  或 向右箭头键】前加要移动的次数,比如,10l,向右移动10个字符。

【CTRL】+【f】 :  屏幕向下移动一页,相当于【Page Down】按键。

【CTRL】+【b】:  屏幕向上移动一页,相当于【Page Up】按键。

【CTRL】+【d】:  屏幕向下移动半页。

【CTRL】+【u】:  屏幕向上移动半页。

+        : 光标移动到非空格符的下一列。

-             : 光标移动到非空格符的上一列。

n<space>   :   n 表示数字。按下数字后再按下空格键,光标会向右移动到这一行的第n个字符。

注:n<space>与 h、l 在Centos6.8中的区别在于,前者:如果移动的字符超过该行另起一行继续移动剩余的字符,后者则不会。

0或【HOME】键 :  数字0,移动到这一行的最前面字符处。

$或【END】键    :  移动到这一行的最后面字符处。

H           :  光标移动到当前屏幕的最上方那一行的第一个字符处。  

M             :   光标移动到当前屏幕的中央一行的第一个字符处。

L          :   光标移动到当前屏幕的最下方一行的第一个字符处。

G             : 移动到当前文档的最后一行。

nG       : n为数字,移动到当前文档的第n行。

gg        : 移动到当前文档的第一行。

n<ENTER>     :  n为数字,光标向下移动n 行。

搜索与取代:

/word  :  在光标之下【向下】寻找一个名为word的字符串。定位到第一个该单词出现的位置处。

?word  :  在光标之上【向上】寻找一个名为word的字符串。定位到第一个该单词出现的位置处。

n    :  n,英文按键,重复前一个搜索的动作。继续执行搜索。

N     :  N,英文按键,反向重复前一个搜索的动作。反向继续执行搜索。

:n1,n2s/world1/word2/g  :  n1与n2是数字,在第n1到n2之间寻找world1字符串,并将该字符串替换为word2.

:1,$s/world1/word2/g    :  从第一行到最后一行寻找字符串world1,并将该字符串替换为word2。全局替换。

:1,$s/world1/word2/gc    :  从第一行到最后一行寻找字符串world1,并将该字符串替换为word2,替换之前提示用户是否确认替换。全局替换,提示是否替换。

删除、复制、粘贴:

x,X  :  在一行字当中,x 向后删除一个字符,相当于【DEL】键,X 向前删除一个字符,相当于【BACKSPACE】键。

nx   :  n为数字,连续向后删除n个字符。

dd   :  删除光标所在行一整行。

ndd   :  n数字,删除光标所在行向下n行。包括光标所在行。

d1G    :  删除光标所在行到第一行的所有数据。包括光标所在行。

dG  :  删除光标所在行到最后一行的所有数据.包括光标所在行。

d$  :  删除光标所在处到该行的最后一个字符。

d0  :  0数字0,删除光标所在处,到该行的最前面的一个字符。

yy  :  复制光标所在那一行的内容

nyy  :  n为数字,复制光标所在行向下n行数据,包括光标所在行。      

y1G   :  复制光标所在行到第一行的所有数据。

yG   :  复制光标所在行到最后一行的所有数据。

y0   :  复制光标所在处字符到该行行首的所有数据。

y$   :  复制光标所在处字符到该行行末的所有数据。

p   :  将已复制的数据在光标所在下一行粘贴。

P   :  将已复制的数据在光标所在上一行粘贴。

u   :  复原上一个动作。

[ctrl]+r: 重做上一个动作。

.   :  小数点,重复前一个动作。

一般模式切换到编辑模式可用按钮:

i,I  :  进入编辑模式进行插入操作,i在光标所在处插入,I 光标所在行第一个非空格符处开始插入。

a,A  :  进入编辑模式进行插入操作,a光标所在的下一个字符处开始插入,A光标所在行最后一个字符处开始插入。

o,O  :  进入编辑模式进行插入操作,小写英文字母o当前光标所在行后插入新的一行,大写字母O当前光标所在行前插入新的一行。

r,R   :  进入编辑模式进行取代操作,r替换光标所在的字符一次,R替换光标所在的字符,直到【ESC】为止。

注:进入编辑模式, vi画面的左下角会出现【--INSERT--】或【--REPLACE--】的字样。

[ESC]:  退出编辑模式,进入一般模式中。

一般模式切换到指令列模式可用按钮:

指令列的存储、离开等指令:

:w        :  将编辑的数据写入硬盘文档中。

:wq        :  存储后离开。:wq!强制存储后离开

:q            :  离开vi

:q!         :  强制离开且不存储文档修改过的内容。

ZZ         :  若文档有改动,则存储后离开,若未改动,则不存储离开。

:w[filename]    :  将编辑的数据存储为另一个文档

vim环境的变更:

:set nu    :  显示行号。

:set nonu    :  取消行号。

Linux——vi的使用的更多相关文章

  1. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  2. 关于linux vi命令替换的使用说明

    转自:http://os.51cto.com/art/200907/140987.htm vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法( ...

  3. linux vi 中按了ctrl+s后没法退出

    linux vi 中按了ctrl+s后无法退出 Linux 中使用vi编辑文件 不小心按了Ctrl + S (习惯了) 结果终端就跟死了一样, 解决办法: Ctrl+Q

  4. linux vi 工具的使用

    linux vi 工具的使用 1.打开文件 vi filename 如果存在该文件,则打开,不存在,则删除 2. 进入vi后,按i建,可以输入内容, 按ESC 在按: ,输入wq保存并退出. 3.移动 ...

  5. linux vi修改后如何保存

    linux vi修改后如何保存 按ESC键去到命令模式,然后: :w?? 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并 ...

  6. linux vi查找命令

    linux vi查找命令   div id="article_content" class="article_content">  使用vi编辑器编辑长文 ...

  7. Linux :: vi E212: Can't open file for writing

    Linux :: vi E212: Can't open file for writing sysct1.conf 可能无写权限!查看方法:ls -lh /etc/sysct1.conf如果没有,则c ...

  8. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  9. Linux vi 编辑器常见命令的使用

    Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...

  10. Linux vi 文本代码时显示行号或不显示行号

    Linux vi 文本代码时显示行号或不显示行号 前提  安装了vim $vi ~/.vimrc 显示的话加上 set nu 不想显示的话可以注释掉 "set nu 之后 $source ~ ...

随机推荐

  1. js/jquery对特殊字符进行转义防止js注入使用示例

      /** JQuery Html Encoding.Decoding * 原理是利用JQuery自带的html()和text()函数可以转义Html字符 * 虚拟一个Div通过赋值和取值来得到想要的 ...

  2. Python+OpenCV图像处理(十一)—— 图像金字塔

    简介:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构.简单来说,图像金字塔就是用来进行图像缩放的. 进行图像缩放可以用图像金字塔,也可以使用 ...

  3. 大数据学习路线分享-Hbase shell的基本操作完整流程

    HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,启动hadoop集群(利用hdfs存储),启动zookeep ...

  4. linux下启动多个php,分别监听不同的端口。

    在工作中,我们可能会遇到,服务器集群的搭建. 这个时候,我们不可能,每一台服务器都是lnmp的环境,我们会把nmp分别放在不同的服务器上,不同的服务器负责不同的功能.比如我们下面要说的php 加入ng ...

  5. 一个用python简单的封装了aria2的jsonrpc中adduri的脚本

    aria2是一个十分牛逼的下载神器,有时候项目需要一个很牛逼的下载中间件的话,aria2是一个不错的选择.其中支持jsonrpc和websocket的特性尤其诱人.但是python用起来还是有点不爽, ...

  6. 11.2.0.4 sql*loader/oci direct load导致kpodplck wait before retrying ORA-54

    昨天晚上9点多,有个环境开发说特别慢,早上上去看下了,如下: 导致性能的是一个统计的sql执行计划走错了,主要不是因为kpodplck wait before retrying ORA-54,不过这个 ...

  7. 如何搭建一个 MySQL 分布式集群

    1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的 ...

  8. Java中断异常 InterruptedException 的正确处理方式

    你看到这篇文件可能是因为你已经调用了一个抛出 InterruptedException 异常的方法,并且需要以某种方式处理它. 首先,需要了解为一个方法为啥会 throws InterruptedEx ...

  9. Kali系列之multi/handler(渗透win7)

    环境 靶机 192.168.137.133 kali 192.168.137.135 步骤+ 生成后门 msfvenom -p windows/meterpreter/reverse_tcp LHOS ...

  10. Python邮件发送脚本(Linux,Windows)通用

    脚本 #!/usr/bin/python #-*- coding:utf-8 -*- #Python Mail for chenglee #if fileformat=dos, update file ...