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 ...
随机推荐
- linq左连接查询加上into后怎么查询右表是否为空
//判断右表是否为空并为映射表进行赋值标志var query=from q in product join m in favProduct on q.Name equals m.Name into t ...
- java集合框架02——Collection架构与源码分析
Collection是一个接口,它主要的两个分支是List和Set.如下图所示: List和Set都是接口,它们继承与Collection.List是有序的队列,可以用重复的元素:而Set是数学概念中 ...
- node.js 学习随笔
一,cnmp的操作: 1,cnmp info jquery查询jquery的版本: 2,cnmp install jquery@1.11.1:安装: 3,cnmp list查询所有下载的内容: 4,c ...
- ReactNative入门(1)初识ReactJs
现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领 ...
- [译]如何在Web开发中使用Python
[译]如何在Web开发中使用Python 原文:HOWTO Use Python in the Web 摘要 这篇文档展示了Python如何融入到web中.它介绍了几种Python结合web服务器的方 ...
- 深度神经网络(DNN)损失函数和激活函数的选择
在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结.里面使用的损失函数是均方差,而激活函数是Sigmoid.实际上DNN可以使用的损失函数和激活函数不少.这些 ...
- Ansible 系列之 Playbooks 剧本 (1)
一.Playbooks 介绍 1.Playbooks是Ansible的配置,部署和编排语言.它们可以描述您希望远程系统执行的策略,或一般IT流程中的一组步骤. 如果说ansible 模块 是你车间里的 ...
- 关于CSS各种选择器,还有各种引入样式表的区别,import导入样式表,在介绍一些伪类选择器
(一)CSS选择器: 1.标签选择器:通过HTML的标签名直接选择该标签 2.类选择器:通过.选择器的名称{} 来对添加了class属性的标签进行选中 3.ID选择器:通过#选择器的名称{} 来对添加 ...
- opensessioninviewFilter导致org.hibernate.NonUniqueObjectException
起因: 公司业务需求,增加了一个新的数据源,增加之后,起初一切正常,但是发现后台管理系统所有Ajax请求获取信息没有问题,但是涉及到保存操作就抛出异常. 异常: org.hibernate.NonUn ...
- 【经验】css
1.父元素overflow:hidden,当父元素大小减小到不容纳子元素时,会出现滚动条.2.input的盒模型尺寸基准是content-box,它的宽度将是以width-border计算,也就是说一 ...