最小的VIM操作指南
最小VIM操作指南
vim的操作命令非常多,为了能开始工作,必须学会一个最小的vim操作集合,这里做个总结。
1、插入、追加、插入新行
i:在当前光标所在字符的前面插入,当前字符及其后面的字符后撤
a:在当前光标所在字符的后面插入,当前字符之后的字符后撤
o:在光标当前行的下面插入一个空行
2、光标移动
h,j,k,l:左移一个字符,下移一个字符,上移一个字符,右移一个字符
gg:移动光标到整个文档的第一行的第一个字符
G:移动光标到整个文档的最后一行的第一个字符
:n:移动光标到第n行的第一个字符
^,$:移动光标到当前行的第一个字符和最后一个字符
其他的移动用上下左右光标键搞定
3、删除、复制、粘贴、剪贴
x:删除光标所在处的字符
dd:删除光标所在的一整行文本
ndd:删除包括光标所在行在内的以下n行
yy:复制
p:粘贴到当前行之后
剪贴:vim中实现剪贴的原理是先删除,删除之后的内容会放到缓冲区中,然后直接在目标位置按下p粘贴即可。
4、撤销undo和恢复redo
撤销undo:在普通模式下 u
恢复redo:在普通模式下ctrl+r
5、查找、替换
查找:
/keyWord:从上往下查找,n继续往下查找下一个,N往上查找前面一个
?keyworld:从下往上查找,n查找上一个,N查找下面一个
替换:
:s/root/admin: 将当前行中的第一个root替换为admin,没有则不替换
:s/root/admin:将当前行中的所有的root替换为admin,没有则不替换
:3,5s/root/admin/g:将3到5行中的所有的root替换为admin,没有则不替换
:%s/root/admin/g:将文档中的所有的root替换为admin,没有则不替换
6、保存、保存退出、不保存退出、另存为
:w :保存
:wq :保存退出 :x或者ZZ(两个大写的z)也可以达到同样的目的
:q! : 不保存退出
:w b.txt:把当前文档另存为b.txt
7、几个设置
(1)显示行号:set nu或者set number
(2)显示语法高亮: syntax on
(3)自动缩进:set ai 或者 set autoindent
(4)设置在查找替换的时候不区分大小写:vim默认是区分大小写的,set ignorecase可以实现忽略大小写
8、vim的配置文件
一般情况下vim的配置文件在/etc/vimrc,而ubuntu16.04下在/etc/vim/vimrc,很多的设置可以直接放到vimrc中,免得每次都得设置。
9、多个tab页编辑
如果想在vim中打开多个文件,每个文件一个tab页,像windows下的notepad++一样,可以使用vim的多窗口编辑功能。
如果当前打开的是a.txt,想再打开一个b.txt,可以:vsplit b.txt,这样b.txt就在右边的窗口中打开了。
如果想关闭当前窗口中的文件:close可以关闭当前的窗口,关闭之前的保存等和单个窗口编辑是一样的。
多个窗口之间切换,切换用的命令如下,都是相对当前窗口而言的:
ctrl+w+h :切换道左边的窗口
ctrl+w+l:切换道右边的窗口
ctrl+w+j:切换道下边的窗口
ctrl+w+k:切换道上边的窗口
参考资料
1、《linux运维之道》
2、https://blog.csdn.net/ly890700/article/details/52662161
最小的VIM操作指南的更多相关文章
- Vim操作指南
vim具有6种基本模式和5种派生模式. 基本模式 普通模式 插入模式 可视模式 选择模式 命令行模式 Ex模式 派生模式 操作符等待模式 插入普通模式 插入可视模式 插入选择模式 替换模式 1.移动光 ...
- 我的_vimrc文件
""""""""""""""""&quo ...
- vim可视化&Linux系统安全最小化原则& su & sudo
一.vim在可视化模式下编辑 crl+v,会变成-- VISUAL BLOCK --,然后用上下左右键去选中. 多行注释: ESC进入命令行模式; Ctrl+v进入VISUAL BLOCK模式 上下左 ...
- vim实用操作指南
一.查看文件编码 :set fileencoding :set fileencoding=utf-8 通过该命令可直接将文件修改为UTF-8编码 强制以指定编码打开,vim中 :e ++enc=utf ...
- 虚拟机 ----最小安装无法使用vim编辑器
解决办法:安装 yum -y install vim-enhanced.x86_64 帮助网址http://blog.csdn.net/yexudengzhidao/article/details/7 ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- 再谈vim中多窗口的编辑
参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...
- centos7 最小化安装没有ifconfig及修改网卡名enoxxx为ethX
问题: 1.最小化安装centos7后发现无ifconfig命令 想通过ifconfig查看ip地址发现ifconfig命令不存在,可通过命令 #ip addr //查看ip 或者 解决: ...
- centos7最小安装后常常需要添加的命令
本人下载的最小镜像文件下载地址:http://pan.baidu.com/s/1kUD2jbT 原文地址:http://blog.csdn.net/nmgrd/article/details/5176 ...
随机推荐
- slab机制总结篇
一: slab是为了解决内部碎片提出的,还是外部碎片? 为了解决内部碎片. 内部碎片的产生:因为所有的内存分配必须起始于可被 4.8 或 16 整除(视处理器体系结构而定)的地址或者因为MMU的分页机 ...
- jsp中解决乱码问题
解决中文乱码 a) 第一种: String name=new String(name.getBytes("ISO-8859-1"),"UTF-8"); b) 第 ...
- Android 自定义组件之如何实现自定义组件
参考链接:http://blog.csdn.net/jjwwmlp456/article/details/41076699 简介 Android提供了用于构建UI的强大的组件模型.两个基类:View和 ...
- Unity 2D 入门
原文:Introduction to Unity 2D 作者:Sean Duffy 译者:kmyhy 3/15/17 更新说明: 升级至 Unity 5.5. Unity 是一个非常流行和强大的游戏引 ...
- (十八)js控制台方法
console.log 以日志的形式打印 console.warn 输出警示信息 console.info 输出提示信息 console.error 输出错误信息 console.debug 输出调试 ...
- python库之selectors
在之前的博客中已经总结过分别在windows和linux操作系统下实现socket高并发(I/O异步)的方法,可以参考基于epoll的TP传输层实现和Windows之IOCP 下面对Python中实现 ...
- volley源码解析-Throwable类源码解析
前提知识点: 1.Serializable接口 作用:表示可序列化的语义.就是Java提供的通用数据保存和读取接口.任何类型实现了Serializeable接口,就可以被保存到文件中,或者作为数据流通 ...
- AtCoder Grand Contest 017 迟到记
晚上去操场上浪. 回来以后看到好几个人开着 \(AtCoder\) 在打代码. ... ... 今天有 \(AtCoder\) 比赛 ? 管它呢, \(Kito\) 在切西瓜,先吃西瓜... 然后看 ...
- 探秘VB.net中的shared与static
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huyuyang6688/article/details/28230345 简单了解了一 ...
- jquery 如何使用innerHTML
$("#responsediv") 是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样写$("#re ...