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的所 ...
随机推荐
- dede列表标签list:应用大全 {dede:list}
http://syizq.blog.163.com/blog/static/435700372011616115826329/ 标签名称: list 功能说明: 表示列表模板里的分页内容列表 适用范围 ...
- CCF系列之ISBN号码(201312-2)
试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规 ...
- Intellij-创建Maven项目速度慢
原因: IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令 ...
- 可等待计时器添加APC测试
可等待计时器和用户计时器的最大区别在于用户计时器需要在应用程序中使用大量的用户界面基础设施,从而消耗更多的资源.此外,可等待计时器是内核对象,这意味着他们不仅可以在多个线程间共享,而且具备安全性. 用 ...
- jquery判断数据类型和相同字符串不相等
typeof object返回object对象数据类型 encodeURIComponent(str)//可把字符串作为URI 组件进行编码. 若str1和str2字符串数值相同,encodeURIC ...
- linkin大话面向对象--继承
[修饰符] class SubClass extends SuperClass 按照这种关系,我们把SuperClass类称为父类或基类,把SubClass称为子类或派生类或拓展类.extend ...
- JSP内置对象值out对象及其它的一些常见方法
out对象: out对象是jspWriter类的实例,是向客户端输出内容常用的对象. 常用方法如下: void println() 向客户端打印字符串 void clear() 清除缓冲区的内容,如果 ...
- JDK及Tomcat集成到MyEclipse
JDK及Tomcat集成到MyEclipse 1.安装好MyEclipse 2.破解 3.配置环境JDK D:\jdk1.6.0_21\bin; ==>放在系统path前面 4.打开MyEcli ...
- 《.NET 设计规范》第 4 章:类型设计规范
第 4 章:类型设计规范 4.1 类型和命名空间 要用命名空间把类型组织成一个由相关的功能区所构成的层次结构中. 避免非常深的命名空间层次.因为用户需要经常回找,所以这样的层次浏览起来很困难. 避免有 ...
- hexo搭建博客上传至github
准备工作 ssh key 要先申请好,并且添加至github的ssh库中 安装插件 hexo-deployer-git npm install hexo-deployer-git --save 配置 ...