学习自:实验楼

Vim具有6种基本模式和5种派生模式

普通模式:

vim启动后的默认模式,常用的编辑器命令诸如移动光标,删除文本。

普通模式中,有很多方法进入插入模式,常用 a 或 i 键。

插入模式:

该模式大多数按键都会向文本缓冲区插入文本。通过按ESC回到普通模式

可视模式:

与普通模式相似,但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或一块文本。当执行一个非移动命令时,命令会被执行到整块高亮区域上。

选择模式:

该模式可以用鼠标或光标键高亮选择文本,不过输入任何字符的话,vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

命令行模式:

可以输入会被解释成并执行的文本。命令执行之后,vim返回到之前的模式。

EX模式:

和命令行模式比较相似,可以一次执行多条命令。

常用的是普通模式,插入模式和命令行模式。

==============================================

常用模式切换:

按ESC或CTRL+[ 返回普通模式

普通模式中按 i 或 a进入插入模式

按:进入命令行模式,命令行模式中输入wq回车后:保存并退出vim

==============================================

进入vim编辑文件:

$ vim file_name

$ vim

保存文档:

普通模式下输入:进入命令行模式,输入w回车 或者 输入 :w file_name将文档保存为其他文件名或其他路径下。

退出vim:

普通模式下输入 :进入命令行模式,输入: wq回车    #保存并退出

或者:

:q     #退出

:wq!    #强制保存或退出

and so forth

普通模式下保存并退出vim : shift+zz

普通模式下删除vim文本信息:

x or Delete  #删除游标所在字符

X  #删除游标所在前一个字符

dd  #删除整行

D  #删除至行尾

d^  #删除至行首

dG  #删除到文档结尾

d1G  #删除至文档首部

2dd  #删除2行

重复执行上次命令: 普通模式下 " . "

执行指定次数相同的命令:n<command>

游标的快速跳转:略

复制及粘贴:

普通模式中使用y复制:具有具体的复制细节。

使用p粘贴

剪切:dd

=======================================================

字符的替换和撤销(普通模式下)

r+待替换字母  #将游标所在字母换位指定字母

R  #连续替换 直到按下ESC

cc  #替换整行:即删除游标所在行,进入插入模式

cw  #替换一个单词

C  #替换游标以后至行末

~  #反转游标所在字母大小写

u{n}  #撤销n次操作

U  #撤销当前行的所有修改

CTRL+r  #redo

普通模式下:

num+G  #跳转到第num行

<< or >>   #快速左右缩进

: set shiftwidth=value  #设置缩进的大小

/+string  #向下查找

?+string  #向上查找

进入查找后:

n  #继续查找

N  #反向继续查找

=======================================================

多文件编辑:

$vim file1 file2    #创建新文件同时进入编辑

:n    #编辑file2文件

:N    #编辑file1文件

:e file3  #打开file3

:e#    #回到前一个文件

Vim快速入门的更多相关文章

  1. (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门

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

  2. Nginx快速入门菜鸟笔记

    Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...

  3. Linux快速入门03-系统管理

    这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用. Linux系列文章 快速入门系列--Linux--01基础概念 ...

  4. Spring Boot 快速入门

    Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...

  5. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  6. [No000018E]Vim快速跳转任意行、任意列以及高亮显示当前行、当前列方法-Vim使用技巧(3)

    vim提供了丰富的快速跳转任意行.任意列的方法,方便高效地移动光标,定位文件位置. 一.Vim行跳转 使用vim查看文件时,使用以下命令可以快速跳转文件首.尾行,方便对整个文件有个全局把握. 1.1 ...

  7. Jupyter 快速入门——写python项目博客非常有用!!!

    from:https://blog.csdn.net/m0_37338590/article/details/78862488 一.简介: Jupyter Notebook(此前被称为 IPython ...

  8. 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)

    第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...

  9. Quiver快速入门

    Quiver快速入门 装载自:https://github.com/HappenApps/Quiver/wiki/Quiver%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8 ...

随机推荐

  1. 使用R语言将微信记录制作成词云(简洁)--情人节奥义

    一.导出并读入微信聊天记录     参照百度的方法,使用同步助手.安装同步助手--连接手机(安卓苹果均可)--点击"其他功能"--点击微信图标即可进入聊天记录导出界面(非常简单). ...

  2. JUnit4 与 JMock 之双剑合璧

    引言 单元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本.能被称为测试的阶段有:单元测试.集成测试.系统测试和用户测试.修复系统 bug 的时间和成本随着这些阶段的推移呈指数级增长 ...

  3. [MongoDB] - Shell基本命令

    在这里,我简单的记录一下MongoDB在shell客户端中使用的基本命令,比如创建/显示数据库,创建集合,删除集合等. 一.启动MongoDB并连接shell客户端 使用mongod.exe和mong ...

  4. BZOJ 1228: [SDOI2009]E&D(SG定理)

    这道嘛,很容易就看出是个nim和,然后问题就是怎么算子问题的sg函数了 先暴力个表看下规律,很容易就找出来了~~~(百度空间又渣了,图贴不出来= =) 32 0 1 0 2 0 1 0 3 0 1 0 ...

  5. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

  6. Mac入门推荐(写给Mac小白)

    本人第一次接触Mac是在2016年10月中旬,那时由于对苹果系统的不熟悉,导致自己一开始的时候用的很不习惯,甚至还想换回Windows系统.总所周知,苹果系统的软件比较少,在此我向大家推荐一些个人觉得 ...

  7. p1144一元三次方程求解

    题目描述: 有形如:f(x)=ax^3+bx^2+cx+d=0这样的一元三次方程,给出该方程中各项的系数a,b,c,d,它们均为实数,并约定该方程一定存在着3个不同的实数解,解的范围在-100至100 ...

  8. linux CentOS 权限问题修复(chmod 777 -R 或者chmod 755 -R问题修复)

    我个人曾经有一次经历: 就是在修改文件夹权限的时候,本来该执行: #chmod 777 -R ./ 结果我漏掉了那个".";执行的命令是chmod 777 -R /. 这个命令一定 ...

  9. 每天一个linux命令(25)--Linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls  -lih 2098120 lrwxr ...

  10. js检测数据类型的方法你都掌握了几个?

    //1.typeof检测/*var obg = {};var ary = [];var reg = /^$/;var fn = function () {};var num = 1;var bool ...