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的所 ...
随机推荐
- 数据库 MySQL基础知识
(关于MySQL的安装,具体见下面博客:http://www.cnblogs.com/wj-1314/p/7573242.html) 一.什么是数据库 ? 数据库是按照数据结构来组织,存储和管理数据的 ...
- WPF DataTrigger数据触发器
1.通过绑定的属性值变化,动态改变界面的显示,比如绑定了IsExpanded,当为true,grid高度变成600,反之,grid高度变成320. <Grid.Style> <Sty ...
- 局域网内一台电脑的ip地址自己会变,怎样让它不变
有两种方法可以让局域网内的电脑拥有固定的ip地址: 方法一:使用DHCP的静态地址分配功能(以TP-Link TL-WR847路由器为例). 打开浏览器,输入路由器LAN口的ip地址和管理员用户名.密 ...
- Java数据库基础(JDBC)
JDBC(Java Data Base Connectivity):SUN公司为了简化统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC: 这样应用程序就不需要关注数据库底层的详细 ...
- mybatis_SQL映射(2)
文章摘录自:http://blog.csdn.net/y172158950/article/details/17258377 1. sql的重用:定义一个sql片段,可在任何SQL语句中重用该片段. ...
- SerialChart串口示波器的成功调试
2018-01-1601:29:06 深夜更新一波串口示波器! http://t.cn/RQMA3uq 心得体会 总之将数据输出设置为","分割的形式即可 重点注意事项!!!! m ...
- 《Java编程的逻辑》终于上市了!
2018年1月下旬,<Java编程的逻辑>终于出版上市了! 这是老马过去两年死磕到底.无数心血的结晶啊! 感谢"博客园"的广大读者们,你们对老马文章的极高评价.溢美之词 ...
- java里程碑之泛型--类型通配符
1,泛型与数组在子类上面的对比 在整理java泛型的类型通配符之前,我们先来研究下java在数组设计上的一个不合理.我们来看下面代码: public class Test { public stati ...
- 自己模拟的一个简单的tomcat
servlet容器的职责 总的来说,一个全功能的servlet容器会为servlet的每个HTTP请求做下面的一些工作: 1,当第一次调用servlet的时候,加载该servlet类并调用servle ...
- C语言学习之交换(冒泡)排序
在学习c语言的过程中,在数组内容中我们总是能学习到对一组数据进行排序,对于排序有许多的方法,像 (交换)冒泡排序.选择排序.(基数)桶排序.(插入)二分法排序等等. 我主要以我个人的理解去分析常见的交 ...