最小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. velocity与map

    1. 遍历map map<String, Object> mapData = new HashMap<String, Object>(); mapData.put(" ...

  2. Leetcode 1014. Best Sightseeing Pair

    本题是leetcode121这道题的翻版,做法完全一样,也是扫一遍数组,维护两个值,一个是a[i]+i的最大值,另一个是a[i]+a[j]+i-j的最大值. class Solution: def m ...

  3. asp.net viewstate 数据大导致错误

    当在ViewState中放入dataSet的数据量比较大的时候,当再点页面上的控件时,不会返回到后台,并且会出现如下错误: 或者是上面的12030改成500的错误. --解决方法:Viewstate绑 ...

  4. touch-action属性

    CSS属性 touch-action 用于指定某个给定的区域是否允许用户操作,以及如何响应用户操作(比如浏览器自带的划动.缩放等). /* Keyword values */touch-action: ...

  5. 使用iptables nat进行端口转发

    1.将发向HostA:PortA的请求转发到HostB:PortB iptables -t nat -A PREROUTING -p tcp -i eth0 -d HostA --dport Port ...

  6. vector释放内存之swap方法

    相信大家看到swap这个词都一定不会感到陌生,就是简单的元素交换.但swap在C++ STL中散发着无穷的魅力.下面将详细的说明泛型算法swap和容器中的swap成员函数的使用! 1. 泛型算法swa ...

  7. 高级C/C++编译技术之读书笔记(四)之定位库文件

    最近有幸阅读了<高级C/C++编译技术>深受启发,该书深入浅出地讲解了构建过程(编译.链接)中的各种细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码复用和系统集成的软件架 ...

  8. echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.

    一:错误描述:echarts.js:1136 Uncaught Error: Initialize failed: invalid dom. 二:错误原因:echarts在用json数据请求时未调用 ...

  9. Sublimetext3插件与使用技巧

    1.    package control 的安装与注意事项 2.    常用插件的安装与注意事项 3.    主题风格设置 4.    常用快捷键 https://packagecontrol.io ...

  10. 20165222 预备作业3 Linux安装及学习

    一,安装Linux操作系统 一开始下载ubuntu的时候比较麻烦,然后用同学发给我的,才得以安装.根据教程,也没出现什么问题,只是下载的比较麻烦.  二,关于Linux的学习 1,Linux系统简介和 ...