Vi/Vim的快捷方式
1 vi/ vim键盘图





2 文字解说
进入编辑模式的6种方式:
i在光标前插入
I在行首插入
a在光标后插入
A在行末插入
o在下一行插入
O在上一行插入
删除字符
x 删除当前字符
X 删除前一个字符
行操作
dd 删除当前行
5dd从当前行开始算,删除5行
yy 拷贝当前行
8yy 拷贝当前开始的8行
p粘贴paste
linux中 you have newmail in /var/spool/mail/root是什么意思
一般这种情况mail的内容就只是一些正常的系统信息或者是比较重要的错误报告。如果你安装了mutt的话直接用这个命令就可以查看mail的内容(用root登陆先),没有装的话用cat /var/spool/mail/root查看(用root登陆先)。
在Normal Mode下
:%s/mmm/nnn/g 从在整个文件范围内把mmm替换成nnn。 g=gloabal
/www 搜索指定的字符串www
:3 光标定位在第3行
3 表格
|
一般模式 |
光标移动 |
|
h或 向左方向键 |
光标向左移动一个字符 |
|
j或 向下方向键 |
光标向下移动一个字符 |
|
k或 向上方向键 |
光标向上移动一个字符 |
|
l或 向右方向键 |
光标向右移动一个字符 |
|
Ctrl+f |
屏幕向前翻一页(常用) |
|
Ctrl+b |
屏幕向后翻一页(常用) |
|
Ctrl+d |
屏幕向前翻半页 |
|
Ctrl+u |
屏幕向前翻半页 |
|
+ |
光标移动到非空格符的下一列 |
|
- |
光标移动到非空格符的上一列 |
|
n<space> |
按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20<space>,则光标会向右移动20个字符 |
|
0 |
(是数字0)动到这一行的第一个字符处(常用) |
|
$ |
移动到这一行的最后一个字符处(常用) |
|
H |
光标移动到这个屏幕最上方的那一行 |
|
M |
光标移动到这个屏幕中央的那一行 |
|
L |
光标移动到这个屏幕最下方的那一行 |
|
G |
光标移动到这个屏幕最后一行 |
|
nG |
移动到这个文件的第n行。例如20G,则会移动到这个文件的第20行(可配合:set nu) |
|
n<Enter> |
光标向下移动n行(常用) |
|
一般模式 |
查找与替换 |
|
/word |
在光标之后查找一个名为word的字符串(常用) |
|
?word |
在光标之前查找一个名为word的字符串 |
|
:n1,n2s/word1/word2/g |
在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2(常用) |
|
:1,$s/ word1/word2/g |
在第一行与最后一行之间查找word1这个字符串,并将该字符串替换为word2(常用) |
|
:1,$s/ word1/word2/gc |
在第一行与最后一行之间查找word1这个字符串,并将该字符串替换为word2,且在替换前显示提示符让用户确认(conform)(常用) |
|
一般模式 |
删除、复制与粘贴 |
|
x,X |
x为向后删除一个字符,X为向前删除一个字符(常用) |
|
nx |
向后删除n个字符 |
|
dd |
删除光标所在的那一整行(常用) |
|
ndd |
删除光标所在列的向下n列,例如,20dd则事删除20列(常用) |
|
d1G |
删除光标所在行到第一行的所有数据 |
|
dG |
删除光标所在列到最后一行的所有数据 |
|
yy |
复制光标所在行(常用) |
|
nyy |
复制光标所在列的向下n列,例如,20yy则是复制20列(常用) |
|
y1G |
复制光标所在列到第一列的所有数据 |
|
yG |
复制光标所在列到最后一列的所有数据 |
|
p,P |
p为复制的数据粘贴在光标下一列,P则为粘贴在光标上一列(常用) |
|
j |
将光标所在列与下一列的数据结合成一列 |
|
u |
恢复前一个动作(常用) |
|
编辑模式 |
|
|
i,I |
插入:在当前光标所在处插入输入的文字,已存在 |
|
a,A |
添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退(常用) |
|
o,O |
插入新的一行:从光标所在行的下一行行首开始输入字符(常用) |
|
r,R |
替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止(常用) |
|
Esc |
退出编辑模式,回到一般模式(常用) |
|
命令行模式 |
|
|
:w |
将编辑的数据写入硬盘文件中(常用) |
|
:w! |
若文件属性为只读,强制写入该文件 |
|
:q |
退出vi(常用) |
|
:q! |
若曾修改过文件,又不想保存,使用!为强制退出不保存文件 |
|
:wq |
保存后退出,若为:wq!,则为强制保存后退出(常用) |
|
:w[filename] |
将编辑数据保存为另一个文件(类似另存新文档) |
|
:r[filename] |
在编辑的数据中,读入另一个文件的数据。即将filename这个文件内容加到光标所在行的后面 |
|
:set nu |
显示行号,设定之后,会在每一行的前面显示该行的行号 |
|
:set nonu |
与ser nu相反,为取消行号 |
|
n1,n2 w[filename] |
将n1到n2的内容保存为filename这个文件 |
Vi/Vim的快捷方式的更多相关文章
- 3、Linux基础--cp、mv、rm、alias、vi/vim命令
笔记 1.考试 1.判断网络是否通畅的命令 ping 2.定义系统提示组成的变量 PS1 3.Linux中目录从什么开始 根(/) 4.系统中目录路径类型有哪些,解释一下 绝对路径:以根目录作为参照物 ...
- Linux vi/vim(转载)
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...
- vi/vim 的使用
vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式) ...
- 解决vi/vim中粘贴会在行首多很多缩进和空格的问题
解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那 ...
- Linux下Vi/Vim使用笔记
启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中 ...
- vi/vim基本使用方法
vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...
- Linux vi/vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...
- Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- 【转载】-- vi/vim使用
vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...
随机推荐
- 提交到svn服务器时,一直缓冲不,
1,服务器端url问题,正常:https://192.168.1.102:8443/svn/dedegls/ 错误:https:// ...
- 利用H5构建地图和获取定位地点
地图与地理定位 定位在大部分项目中都需要实现,如何实现主要有如下的几种方法 H5定位 在HTML5中navigator有很强大的功能,其中就有定位的方法 navigator.geolocation.g ...
- Javascript闭包入门(译文)
前言 总括 :这篇文章使用有效的javascript代码向程序员们解释了闭包,大牛和功能型程序员请自行忽略. 译者 :文章写在2006年,可直到翻译的21小时之前作者还在完善这篇文章,在Stackov ...
- ThinkPHP5上传图片并压缩为缩略图
使用thinkphp开发app后端中,需要实现一个处理上传图片队列的功能 这是个上传多图片保存并且需要对其中一张图片进行压缩的功能 (使用的html5 mui框架开发app,如果直接载入原图,app客 ...
- Performance Testing 入门小结
从事软件测试两年多了,一直在做功能测试.2016年计划学习Performance.今天,先把之前听过的同事session以及自己查阅的资料小结一下. 一.什么是性能测试 首先来说一下软件的性能是什么. ...
- hashCode方法和equals方法比较
为什么用HashCode比较比用equals方法比较要快呢?我们要想比较hashCode与equals的性能,得先了解HashCode是什么. HashCode HashCode是jdk根据对象的地址 ...
- 理解Python中的装饰器//这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档
转自:http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html 这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档 ...
- Spring-depends on
depends-on用来表示一个bean A的实例化依靠另一个bean B的实例化, 但是A并不需要持有一个B的对象,如果需要的话就不用depends-on. 示例: 步骤一: public clas ...
- python初识 - day4
一.集合(set) 1.集合的定义 set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置, 因此不支持索引.分片等类序列的操作. 2.集合的创建 大括号或 ...
- 转-Linux硬件装置和磁盘分区MBR
1 各硬件装置在Linux中的文件名 『在Linux系统中,每个装置都被当成一个文件来对待』 举例来说,SATA接口的硬盘的文件名即为/dev/sd[a-d],其中, 括号内的字母为a-d当中的任意一 ...