最小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操作指南的更多相关文章

  1. Vim操作指南

    vim具有6种基本模式和5种派生模式. 基本模式 普通模式 插入模式 可视模式 选择模式 命令行模式 Ex模式 派生模式 操作符等待模式 插入普通模式 插入可视模式 插入选择模式 替换模式 1.移动光 ...

  2. 我的_vimrc文件

    """"""""""""""""&quo ...

  3. vim可视化&Linux系统安全最小化原则& su & sudo

    一.vim在可视化模式下编辑 crl+v,会变成-- VISUAL BLOCK --,然后用上下左右键去选中. 多行注释: ESC进入命令行模式; Ctrl+v进入VISUAL BLOCK模式 上下左 ...

  4. vim实用操作指南

    一.查看文件编码 :set fileencoding :set fileencoding=utf-8 通过该命令可直接将文件修改为UTF-8编码 强制以指定编码打开,vim中 :e ++enc=utf ...

  5. 虚拟机 ----最小安装无法使用vim编辑器

    解决办法:安装 yum -y install vim-enhanced.x86_64 帮助网址http://blog.csdn.net/yexudengzhidao/article/details/7 ...

  6. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  7. 再谈vim中多窗口的编辑

    参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...

  8. centos7 最小化安装没有ifconfig及修改网卡名enoxxx为ethX

    问题: 1.最小化安装centos7后发现无ifconfig命令 想通过ifconfig查看ip地址发现ifconfig命令不存在,可通过命令 #ip addr       //查看ip 或者 解决: ...

  9. centos7最小安装后常常需要添加的命令

    本人下载的最小镜像文件下载地址:http://pan.baidu.com/s/1kUD2jbT 原文地址:http://blog.csdn.net/nmgrd/article/details/5176 ...

随机推荐

  1. slab机制总结篇

    一: slab是为了解决内部碎片提出的,还是外部碎片? 为了解决内部碎片. 内部碎片的产生:因为所有的内存分配必须起始于可被 4.8 或 16 整除(视处理器体系结构而定)的地址或者因为MMU的分页机 ...

  2. jsp中解决乱码问题

    解决中文乱码 a) 第一种: String name=new String(name.getBytes("ISO-8859-1"),"UTF-8"); b) 第 ...

  3. Android 自定义组件之如何实现自定义组件

    参考链接:http://blog.csdn.net/jjwwmlp456/article/details/41076699 简介 Android提供了用于构建UI的强大的组件模型.两个基类:View和 ...

  4. Unity 2D 入门

    原文:Introduction to Unity 2D 作者:Sean Duffy 译者:kmyhy 3/15/17 更新说明: 升级至 Unity 5.5. Unity 是一个非常流行和强大的游戏引 ...

  5. (十八)js控制台方法

    console.log 以日志的形式打印 console.warn 输出警示信息 console.info 输出提示信息 console.error 输出错误信息 console.debug 输出调试 ...

  6. python库之selectors

    在之前的博客中已经总结过分别在windows和linux操作系统下实现socket高并发(I/O异步)的方法,可以参考基于epoll的TP传输层实现和Windows之IOCP 下面对Python中实现 ...

  7. volley源码解析-Throwable类源码解析

    前提知识点: 1.Serializable接口 作用:表示可序列化的语义.就是Java提供的通用数据保存和读取接口.任何类型实现了Serializeable接口,就可以被保存到文件中,或者作为数据流通 ...

  8. AtCoder Grand Contest 017 迟到记

    晚上去操场上浪. 回来以后看到好几个人开着 \(AtCoder\) 在打代码. ... ... 今天有 \(AtCoder\) 比赛 ? 管它呢, \(Kito\) 在切西瓜,先吃西瓜... 然后看 ...

  9. 探秘VB.net中的shared与static

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huyuyang6688/article/details/28230345        简单了解了一 ...

  10. jquery 如何使用innerHTML

    $("#responsediv") 是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样写$("#re ...