第一部分:一般指令模式可用按键说明,光标移动,复制粘贴、搜索替代

移动光标的方法:

移动光标的方法
h或(左箭头) 光标向左移动一个字符
j或(下箭头) 光标向下移动一个字符
k或(上箭头) 光标向上移动一个字符
l或(右箭头) 光标向右移动一个字符

多次移动:

翻页
【ctrl】+【f】      向下一页,等于PageDown
【ctrl】+【b】 向上一页,等于Page Up
【ctrl】+【d】 向下移动半页
【ctrl】+【u】 向上移动半页
+                         光标移动到非空格符的下一列
- 光标移动到非空格符的上一列
n<space> 向后面移动20个字符的距离
0或功能键【Home】 行开头
$或功能键【End】 行末尾
H 屏幕最上方那一行的第一个字符
M                          屏幕最中间那一行的第一个字符
L 屏幕最下方那一行的第一个字符
G 移动到文件的最后一行
nG 移动到文件的第n行
gg 移动到文件的第一行,等于1G
n<Enter> 光标向下移动n行

搜索与取代

搜索与取代
/word                      向光标之下寻找为word的字符串
?word 向光标之上寻找为word的字符串
n 重复前一个搜寻动作
N 反向进行前一个搜寻动作
:n1,n2s/word1/word2/g 在n1和n2行之间寻找word1字符串,将其取代为word2
:1,$s/word1/word2/g 在第一行到最后一行寻找word1字符串,并将其取代为word2
:1,$s/woed1/word2/gc 在第一行到最后一行寻找word1字符串,并将其取代为word2,在取代之前提示字符询问是否取代

删除复制与粘贴:

删除、复制与粘贴
x,X

x:向后删除一个字符,等于【del】

X:向前删除一个字符,等于【backspace】

nx 连续向后删除n个字符
dd 删除游标所在的那一行
ndd 删除光标所在的向下n行
d1G 删除光标所在到第一列的所有数据
dG 删除光标所在到最后一列的所有数据
d$ 删除游标所在处,到该列的最后一个字符
d0 删除游标所在处,到该列的第一个字符
yy 复制游标所在的哪一列
nyy 复制游标所在的向下n列
y1G 复制光标所在列到第一列的所有数据
yG 复制光标所在列到最后一列的所有数据
y0 复制光标所在字符到行首的所有数据
y$ 复制光标所在的字符到行尾的所有数据
p,P 将已复制的数据在光标的下一列贴上,P则为游标的上一列
J 将光标所在列与下一列的数据合成一列
c 重复删除多个数据
u 复原前一个动作
【ctrl】+r 重做上一个动作
. 重复前一个动作

一般指令模式切换到编辑模式可用的按键说明:

 
i,I

进入插入模式:

i 【从目前光标所在处插入】

I  【从所在行的第一个非空格符处开始插入】

a,A

进入插入模式:
a  【从目前光标所在的下一个字符处开始插入】

A  【从光标所在列的最后一个字符处开始插入】

o,O

进入插入模式:

o  【在光标所在列的下一列插入新的一列】

O 【在光标所在列的上一列插入新的一列】

r,R

进入取代模式:

r  【取代光标所在的那个字符一次】

R   【一直取代光标所在的文字,直到按下Esc键为止】

【Esc】 退出编辑模式,回到一般指令模式

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

指令模式的存储离开等指令
:w 将编辑的数据写入硬盘
:w! 当文件的属性为【只读】时,强制写入该文件。到底能不能写入,与你对文件的权限有关
:q 离开vi
:q! 曾修改过文件,又不想存储,使用!强制离开不存储文件
:wq   存储后离开
:wq! 存储后强制离开
ZZ                   文件没有更改,则不存储离开,若文件已被更改,则存储后离开。
:w【filename】        将编辑的数据存储成另一个文件
:r[filename] 在编辑的数据中,读入另外一个文件的数据
:n1,n2w[filename]   将n1到n2的内容存储成filename这个文件
:!command

暂时离开vi到指令列模式下执行command的显示结果!例如:【:!ls /home】  在vi中查看当前/home下的ls输出的文件信息

vim环境的变更

vim环境的变更
:set nu 显示行号,设定之后,会在每一列的前缀显示改行的行号
:set nonu 取消行号

特别注意在vi中,【数字】是很有意义的!数字通常代表重复做几次的意思!也有可能代表去第几个什么什么的意思。向下移动20列,那就是[20 j]即可。

Vi的三种模式及其指令的更多相关文章

  1. vi/vim 三种模式的操作

    来源:http://www.runoob.com/linux/linux-vim.html ps:刚刚进入vi/vim 是命令模式 一.命令模式 i 切换到输入模式,以输入字符. x 删除当前光标所在 ...

  2. vi的三种模式

    一般指令模式 (command mode)以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式) .在这个模式中, 你可以使用“上下左右”按键来移动光标,你可以使用“删除字 ...

  3. Vi/Vim三种模式

    命令模式,底线命令模式,输入模式:

  4. Linux之vi三种模式常用操作

    vi的三种模式:命令模式.编辑模式.尾行模式 一.命令模式 1.光标移动 a.字符级 左(h) 下(j) 上(k) 右(l) b.单词级 w word移动到下个单词首字母 b before上个单词首字 ...

  5. vi三种模式的切换

    基础上vi/vim共分为三种模式,分别是命令模式,输入模式和底线命令模式. 一.命令模式 用户刚刚启动vi/vim,便进入了命令模式. 在此状态下敲击键盘动作会被vim识别为命令,而非输入字符.比如我 ...

  6. vim(vi)下的三种模式及其相关命令

    vim(vi)下的三种模式1.命令行模式 2.末行模式 3.插入模式 三种模式的联系及其相互转换 在我们输入vi命令进入编写程序的页面后,我们看到的是命令行模式,在我们输入“a”.“i”.“o”.“O ...

  7. 辛星跟您玩转vim第一节之vim的下载与三种模式

    首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载,这里是csdn的下载地址:点此下载 ,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http://d ...

  8. hadoop学习;自己定义Input/OutputFormat;类引用mapreduce.mapper;三种模式

    hadoop切割与读取输入文件的方式被定义在InputFormat接口的一个实现中.TextInputFormat是默认的实现,当你想要一次获取一行内容作为输入数据时又没有确定的键.从TextInpu ...

  9. Intel微处理器学习笔记(二) 三种模式

    三种模式:实模式.保护模式和平展模式. 实模式存储器(DOS存储器)位于00000H~FFFFFH,共1M空间(任何型号微处理器都支持). 保护模式存储器(Windows存储器)可位于整个保护存储系统 ...

随机推荐

  1. 请求(RequestInfo)

    请求类型 StringRequestInfo 用在 SuperSocket 命令行协议中. 你也可以根据你的应用程序的需要来定义你自己的请求类型. 例如, 如果所有请求都包含 DeviceID 信息, ...

  2. npx cowsay 让动物说话~

      发现个好玩的东东, 忍不住想分享出来, 好可爱, 哈哈哈~~   node环境执行命令:    npm i cowsay -D npx cowsay hello! npx cowsay -f sh ...

  3. 2013-10-7 设置combboxItem高度的方法

    //首先设置一个较大的 ItemHeight 值,比如 20: //然后设置 ComboBox 的 DrawMode 为 OwnerDrawVariable: //再设置DrawItem事件如下 if ...

  4. tf.reduce_sum()函数

    1234567reduce_sum 是 tensor 内部求和的工具.其参数中: input_tensor 是要求和的 tensor axis 是要求和的 rank,如果为 none,则表示所有 ra ...

  5. no_expand优化案例

    bond 来看一个烂语句: select a.*,b.dn from temp_allcrmuser a, phs_smc_user b  where a.USERNUMBER=b.dn  and ( ...

  6. 利用SpEL 表达式实现简单的动态分表查询

    这里的动态分表查询并不是动态构造sql语句,而是利用SpEL操作同一结构的不同张表. 也可以参考Spring Data Jpa中的章节http://docs.spring.io/spring-data ...

  7. Nuget 通过 dotnet 命令行发布

    在开发完成一个好用的轮子就想将这个轮子发布到 nuget 让其他小伙伴可以来使用,但是 nuget.org 的登陆速度太慢,本文介绍一个命令行发布的方法,通过命令行发布的方法可以配合 Jenkins ...

  8. 【u128】又一个数字游戏

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小明拿出了一个素数集合,{2, 3, 5, 7, 11, 13, -, 127, -},他发现,从小到 ...

  9. springSecurity安全框架的学习和原理解读

    最近在公司的项目中使用了spring security框架,所以有机会来学习一下,公司的项目是使用springboot搭建 springBoot版本1.59 spring security 版本4.2 ...

  10. H3C 动态路由协议在协议栈中的位置