01. vim入门
0. 前言
我打算写一个系列文章,用来详细介绍vim的使用技巧,我会从头开始,从vim入门,到vim的各种配置,这是第一篇
1. vim 的三种模式
- Normal mode (正常模式)
- Inster mode (编辑模式)
- command mode (命令行模式)
- 在直接进入 vim 的时候,默认是 Normal mode 模式。
- 如果需要进行编辑,需要进入 instert mode,即编辑模式,输入小写「i」可以进入编辑模式
- 从编辑模式退回到正常模式的时候,只需要按
exc键即可。 - 命令行模式则是在你需要进行保存,使用脚本等操作的时候需要的模式,进入方法为在正常模式下输入 「:」
2. vim 的使用
- 如果没有 vim,使用以下命令来下载
sudo pacman -S neovim
- 注:neovim 也是 vim 的一种衍生版本,只不过更好用,唯一的区别就是启动命令的不同,分别是 vim 和 nvim
- 使用
nvim 文件名即可打开文件,如果文件并不存在的话,就会创建文件
3. 编辑模式
在正常模式下输入 i ,进入编辑模式。

在编辑模式下,编辑完成内容之后,如果需要退出的话,需要进入命令行模式,输入「:」wq,即可选择保存退出。

需要注意的地方是:如果你修改了文件,那么你有两种处理方式
- 保存并退出 - wq
- 不保存退出 - q!
- 如果选择的是不保存退出,并且是使用 nvim 创建的文件,那么在不保存退出的情况下,是不会创建这个文件的(因为文件没有内容)
- 也就是说,在使用 vim 创建文件的时候,在退出的时候,里面必须有内容,这样的话才会创建文件。
2. 正常模式
2.1 导航
- 在 vim 中,导航键可以使用小键盘的上下左右,但是并不建议使用它,因为会影响效率
- vim 中导航键为 :H J K L(移动光标的操作需要进入正常模式)
- K: 上
- J: 下
- H:左
- L:右
2.2 插入
- i 会插入到光标的左侧,如果需要插入的光标的右侧,输入「a」
- 相对的,如果需要插入光标到最前面的位置,使用大写的 「i」或者使用快捷键 「shift + i」
- 在最后面插入光标,则使用大写的「a」或者快捷键「shift + a」
- 如果在行首,并不想移动到行尾再换行,则可以使用「o」来直接新增下一行,大写的「O」可以新增上一行
- 使用大写的「G」可以将光标移动到文件末尾
2.3 复制和粘贴
- yy:复制当前所在的行
- p:粘贴所复制的内容 (粘贴可以指定函数,如 3p 代表粘贴 3 行)
2.4 删除
- dd: 删除所在的一整行
- dG: 删除光标后面的所有内容
- dw:删除光标左边的字符
- cw:删除当前字符并进入编辑模式
- Ci{ : 删除 「{ } 」中的内容,小括号和中括号使用的时候,只需要替换掉括号的符号
2.5 跳转
- W: 跳到每个单词的开头,会把括号当为一个单词
3. 命令行模式
- 在命令行模式中,输入「/ 」可以进入搜索模式, 搜索内容会以高亮显示。

- 替换:
:%s /旧字符/新字符/g,g 代表全局替换
01. vim入门的更多相关文章
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- Vim入门基础
公司新员工学习有用到,Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面 ...
- Ubuntu学习小结(二)PostgreSQL的使用,进程的查看关闭,编辑器之神Vim入门
距离上次发布文章已经过去了很久.在过去的半年中,虽然写的代码不多,但是在接触了计算机一些其他的知识,包括数据库.网络之后,感觉能够融会贯通,写代码水平又有了一定的提高.接下来,将会发表几篇文章,简单介 ...
- Vim入门操作整理
根据小甲鱼的vim入门视频整理,供查阅 移动指令:上下左右 k j h l 翻页: ctrl + b ctrl + f 保存退出:ZZ 普通模式:vim fileName 首次进入的就是普通模式 从 ...
- Vim 入门教程
Vim 入门教程 转载请保留以上信息 Vim 的教程相对比较零散,系统的教程比较少,我也阅读过不少教程,走过很 多弯路.借着 Vim-china 组织组建这一契机,整理下自己学习过的内容, 分享给大家 ...
- vim入门过程
先下载了一本VIM的用户手册. 看到可以使用vimtutor(VIM的入门教程,很不错,由浅入深)作为入门. Unix系统中,请在命令行输入:vimtutor,进入教程. MS-Windows系统中, ...
- [vim] vim入门
1. 概述 工欲善其事 必先利其器.vim是非常好用的文本编辑器,可以将它看作是vi的进阶.绝大多数Unix系统都会内置vi编辑器,vi是文本编辑器,vim是程序编辑器.相比vi,它可以根据文件的类型 ...
- Vim入门学习之Vim解析
Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本: 官网: http://www.vim.org/==================== ...
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- 01 Linux入门介绍
一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...
随机推荐
- vue中,解决chrome下,的warning, Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event 问题
写项目的时候,Chrome 提醒: [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' eve ...
- Token过期处理
Token用于进行接口鉴权,但是Token具有由后端设置的过期时间,当Token过期以后,就无法再请求数据了 项目中后端设置的过期时间为24h,测试时我们可以手动修改token值让Token失效 处理 ...
- pgsql给表字段设置默认值及设置主键
ALTER TABLE pavement_damage_dtl_temp add PRIMARY key(id); ALTER table pavement_damage_dtl_temp alter ...
- 039_External Data Source(转载)
场景描述:很多时候在实际开发中都会遇到很多数据集成问题,如Salesforce和SAP同步数据.为了让类似问题能方便.快速地解决,Salesforce提供了"外部数据源"这样的工具 ...
- 基于Linux的ssh协议配置sftp
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装 1. 创建sftp组 创建完成之后使用cat /etc/group命令组的信息 ...
- swagger2入门
1.引入jar包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox- ...
- eclipse中利用Maven逆向工程生成PO类以及mapper(mybatis)
在pom.xml的project>build里面添加如下代码,让maven环境支持mybatis-generator组件 <pluginManagement> <plu ...
- 杭电OJ--1003题C++实现
#include<iostream>using namespace std;int a[100000];void solve(int k,int n,int t);int main(){ ...
- request提取json中的信息
1 import requests 2 3 response = requests.get(host) 4 5 #无需import json库 6 7 i = respon.json() 8 9 #此 ...
- List一边插入数据后又移除数据
记录最简单的三种方法,直接上代码: List<String> list = new ArrayList<>(); list.add("1"); list.a ...