Vim快速入门
学习自:实验楼
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快速入门的更多相关文章
- (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门
vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截 ...
- Nginx快速入门菜鸟笔记
Nginx快速入门-菜鸟笔记 1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...
- Linux快速入门03-系统管理
这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用. Linux系列文章 快速入门系列--Linux--01基础概念 ...
- Spring Boot 快速入门
Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...
- Node.js快速入门
Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...
- [No000018E]Vim快速跳转任意行、任意列以及高亮显示当前行、当前列方法-Vim使用技巧(3)
vim提供了丰富的快速跳转任意行.任意列的方法,方便高效地移动光标,定位文件位置. 一.Vim行跳转 使用vim查看文件时,使用以下命令可以快速跳转文件首.尾行,方便对整个文件有个全局把握. 1.1 ...
- Jupyter 快速入门——写python项目博客非常有用!!!
from:https://blog.csdn.net/m0_37338590/article/details/78862488 一.简介: Jupyter Notebook(此前被称为 IPython ...
- 大数据技术之_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 ...
- Quiver快速入门
Quiver快速入门 装载自:https://github.com/HappenApps/Quiver/wiki/Quiver%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8 ...
随机推荐
- iOS实现白板、画板功能,有趣的涂鸦工具,已封装,简单快捷使用
一.效果图: 二.选择颜色: 分[固定颜色模式]和[自由取模式]. 三.操作栏功能: 1.撤销:撤销上一步操作,可一直往上进行,直到全部清空. 2.清空:直接清除所有绘画. 3.橡皮擦:去除不要的绘 ...
- C++学习的心路历程之心理障碍
断断续续的C++学习已经过了1年多了,可是,我还是没有迈出可以自如输出写点什么的那一步.甚至我因为这个老是怀疑自己的智商,我是真心想学懂,因为这个关系到我的就业,直接关系到我的饭碗.我是十分的着急,可 ...
- ASP.NET Core MVC 中设置全局异常处理方式
在asp.net core mvc中,如果有未处理的异常发生后,会返回http500错误,对于最终用户来说,显然不是特别友好.那如何对于这些未处理的异常显示统一的错误提示页面呢? 在asp.net c ...
- linux系统盘使用率达到100%的问题查找和解决方法
今天公司云服务器报警系统发来短信,系统磁盘空间不够,登录服务器进行查看,磁盘使用虑达到100%, 感觉比较奇怪,所存的东西并不多,怎么会将磁盘占满,而且数据都是存在数据盘下,通过简单的进行 ...
- 基于vue2+vuex2+vue-router+axios+elementUI做的自动化后台模板
github地址:https://github.com/sailengsi/sls-admin 此项目重点突出在架构上模式,这个架构模式,可以让我们在开发中,很方便的拓展与维护,并且可以保持结构清晰的 ...
- ArcObjects与ArcEngine的联系与区别
ArcObjects与ArcEngine的联系与区别 AO一般指的是桌面产品开发组件,需要在桌面环境中才能够使用,最典型的就是嵌入式VBA开发.但是这样带来的弊端和OFFICE等相关软件一样明显,就是 ...
- 如何居中div?如何居中一个浮动元素?
如何居中div? 给div设置一个宽度,然后添加margin:0 auto属性 div{ width:200px; margin:0 auto; } 如何居中一个浮动元素? <!DOCTYPE ...
- git链接GitHub命令及基本操作
Git是一款不错的代码管理工具,下面引用百科的一段话: Git是用于Linux内核开发的版本控制工具.与CVS.Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服 ...
- click延时300ms的故事
这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题 ...
- .Net Standard扩展支持实例分享
上篇(.Net基础体系和跨框架开发普及)介绍了.Net当前生态下的大概情况,也分享了简单实现的过程,这篇文章就是讲解我的OSS.Common项目扩展.Net Standard 支持的过程,主要集中在: ...