在大学时代,Vim 的大名就已如雷贯耳,但由于它陡峭的学习曲线,一直望而却步。等真正开始学习之后,发现并没有想象中的复杂,也没有所谓的瓶颈,只要在实际写代码中强迫自己使用就可以了,无形中就会形成习惯。

​ ——GeekPlux

三种模式

正常模式

以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。正常模式可以使用快捷键。

编辑模式

按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式, 一般来说按i即可.

命令行模式

在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的。

vi 和vim模式的相互切换

常用快捷键

使用快捷键在正常模式下输入!

复制粘贴

拷贝当前行输入yy,然后再按下p键的时候就可以粘贴了。

复制多行可以输入nyy,其中n为一个数字,例如5yy,即复制当前行向下的5行,同样粘贴也是按p键。

删除

删除当前行输入dd

删除多行输入ndd,表示删除当前行向下的n行。

查找单词

再正常模式下输入/关键字即可查找关键字所在的位置,例如/hello为查找hello这个单词所有的所在位置,输入 n 就是查找下一个。

设置文件行号

有时候为了看文档更清楚,想要知道每一行的行数,可以先进入命令模式,在输入set nu,即再正常模式下输入:set nu,然后回车。

取消行号可以输入:set nonu

移动到底部到首部

有时候需要直接看文档的末尾,可以输入G移动到文件末行。

而移动到首行则是输入gg,然后回车即可。

撤销

取消上一次做的操作,输入u。表示undo。

移动到某行

假如我们要移动到第20行,我们可以这样输入:20 + shift + g


更多快捷键可以参考:https://zhuanlan.zhihu.com/p/77283813

Vim键盘图

Linux编辑利器-Vim的更多相关文章

  1. day59:Linux:编辑工具vim&文件类型&文件属性

    目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具,  和windows的n ...

  2. Linux下编辑利器vim,vimrc,viminfo的高级用法

    1.ci" (由 change operator 和 text-object i" 组成) 这个命令会找到当前光标所在行的下一个 " 括起来的字符串,清除引号裏面的内容, ...

  3. linux编辑文本(vim)时跳转到最后一行和第一行及相关指令

    vi操作 1.跳到文本的最后一行:按“G”,即“shift+g” 2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”. 3.跳到第一行的第一个字符:先按 ...

  4. Linux下使用vim编辑C程序

    这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下 ...

  5. Linux文件编辑工具——VIM

    Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...

  6. Xcode的编辑利器Xvim,如何去掉烦人工具栏和文件路径

    最近网上看到了一篇关于Xcode的编辑利器,因为以前做FPGA工作时候在ISE SDK下用过vim作为编辑器,所以深知vim的强大,所以安装Xvim: 在安装之后遇到一些配置问题,因为本来就完美控制, ...

  7. 打造阅读Linux源代码利器

    打造阅读Linux源代码利器 在Linux里阅读/编写代码一般用vi 但是碰到较大的项目时阅读源代码还是比较费力,一直用find  和 grep命令. 其实,我们自己可以打造一个阅读源代码的vim,这 ...

  8. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  9. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

随机推荐

  1. MySQL对JSON类型UTF-8编码导致中文乱码探讨

    前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中 ...

  2. 在linux系统把node安装到全局 简单记录

    1.在 根目录下建立 mysoft( 找一个放node 包) 2. 下载nodejs Linux版本(二进制),注意本教程是.tar.xz格式的. wget https://nodejs.org/di ...

  3. ArcGIS中影像图去黑边

    通常情况下有些影像图的背景会显示黑色,所以需要将影像图的格式转换一下,将黑色背景转换为透明色.具体去除河边的步骤如下: 1.在catalog中,选中要转换的影像图: 2.右键——导出——将栅格导出为不 ...

  4. AI体验类产品竞品分析

    1.业界状态 人工智能(Artificial Intelligence),简称AI.上个世纪50年代就有一批年轻的科学家提出了这一概念,经历过50多年的长足发展,信息化建设的脚步不断加快,机器人战胜人 ...

  5. 5.Maven坐标

    而这个坐标也意味着jar包等保存在 C:\Users\用户名.m2\repository\org\apache\tomcat\tomcat-catalina\9.0.2

  6. python——os平台编程

    一.os平台编程需求 1.目录文件的操作 对系统目录,文件的操作方法 2.程序的定时执行 3.可执行程序的转换 python程序向可执行程序的转换 二.目录文件操作 root:当前目录: dirs:当 ...

  7. Jmeter压力测试笔记(5)问题原因

    压测链路是jmeter=>slb=>nginx => php=>rds 报 Too Many Connections 的原因是前端同时保持了 16000 个连接,达到实例规格的 ...

  8. python--模块、列表生成式、集合元祖列表

    一.导入模块的两种方式 1.直接使用import import 模块名 #调用 模块名.方法名() 2.使用from…import… from 模块名 import 方法名1,方法名2(from 模块 ...

  9. 微信小程序修改单选按钮的默认样式

    https://blog.csdn.net/abs1004/article/details/78922596

  10. 使用ping命令探测系统

    什么是ping命令 ping命令是测试网络连接.信息发送和接收状况的实用型工具,是系统内置的探测性工具.它的原理是:每台网络上的主机都有唯一确定的IP地址,用户给目标IP发送一个数据报,对方就要返回一 ...