编辑器之神VIM入门
前言
因为最近装了 WIN10 + Manjaro 双系统,用 Linux 几乎避免不了使用 Vim 编辑器。Vim是从 Vi 发展出来的一个基于命令行的文本编辑器。Vi是“Visual interface”的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。
虽然vim有诸多有点,但因为其学习曲线陡峭很少有小白使用。
我在看过一些帮助文档之后总结了一些经验在这里分析给大家,希望能帮助快速入门。
目录
- 前言
- vim模式
- 1 正常模式(Normal mode)
- 移动光标的方法
- 基本操作
- 保存退出
- 2 插入模式(Insert mode)
- 最后
vim模式
一般教程可能都会讲到有很多种模式,其实总的来说就两种模式:
1 正常模式(Normal mode)
刚刚启动 vi/vim,便进入了正常模式,此时敲击键盘动作会被Vim识别为命令。
移动光标的方法
按键 | 操作 |
---|---|
shift+箭头(<- ->) | 跳过符号移动 |
ctrl+箭头 | 跳过空格移动 |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
0 或功能键[Home] | 移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
G | 移动到这个档案的最后一行 |
ng \ nG | n 为数字。移动到这个档案的第 n 行 |
gg | 移动到这个档案的第一行,相当于 1G |
n+回车 | n 为数字。光标向下移动 n 行 |
h 、m、l | 移动光标到当前页面顶部、中间、底部 |
f+x | 移动光标到当前行光标后第一个x(字符)处 |
F+x | 移动光标到当前行光标前第一个x(字符)处 |
nfx | 移动光标到当前行光标后第n个x(字符)处 |
t+x | 移动光标到当前行光标后第一个x(字符)前 |
T+x | 移动光标到当前行光标前第一个x(字符)前 |
ntx | 移动光标到当前行光标后第n个x(字符)前 |
基本操作
删除 / 剪切 / 修改
按键 | 操作 |
---|---|
x, X | x 为向后删除一个字符 , X 为向前删除一个字符 |
nx | 向前删除n个字符 |
dw | 从光标当前位置删除直到下一个单词起始处,不包括它的第一个字符 |
ndw / dnw | 删除n个单词 |
de | 从光标当前位置删除直到单词末尾,包括最后一个字符 |
dd | 删除游标所在的那一整行 |
ndd | n 为数字。删除光标所在的向下 n 行 |
ndk | 删除光标上方的n行 |
dgg | 删除光标所在行到第一行 |
dG | 删除光标所在到最后一行的所有数据 |
d0 | 删除光标所在处,到该行的第一个字符 |
d$ | 删除游标所在处,到该行的最后一个字符 |
dfx | 向后删除到当前行光标后第一个x(字符)处 |
r | 替换当前光标处字符 |
R | 从光标处替换到按<ESC>退出为止 |
ctrl+a | 光标处数值加1 |
ctrl+x | 光标处数值减1 |
注意:用d删除相当于剪切
复制 / 粘贴
按键 | 操作 |
---|---|
yy | 复制游标所在的那一行 |
nyy | n 为数字。复制光标所在的向下 n 行 |
yG | 复制游标所在行到最后一行的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 |
撤销 / 缩进 / 大小写转换
按键 | 操作 |
---|---|
J | 将光标所在行与下一行的数据结合成同一行 |
c | 重复删除多个数据 |
u,U | u复原前一个动作,U复原当前行的前一个操作 |
[Ctrl]+r | 重做上一个动作(反撤销) |
. (英文句号) | 重复前一个动作 |
>> | 向后缩进 |
<< | 向前缩进 |
== | 自动缩进 |
~ | 反转当前字符大小写 |
U | (可视模式选中后)全部转换为大写 |
u | (可视模式选中后)全部转换为小写 |
guu | 当前行转换为小写 |
guw | 当前单词转换为小写 |
可视化在VIM模式-Mode中提到
保存退出
按键 | 操作 |
---|---|
:w | 将编辑的数据写入硬盘中 |
:w! | 文件属性为『只读』时,强制写入(!强制) |
:q | 离开 |
:q! | 强制离开不储存 |
:wq | 储存后离开 |
:w [filename] | 将编辑的数据储存成另一个档案 |
写到这里其实我们细看以上命令就会发现它们时有很明显的规则的,即:
动词 + 名词
比如:dw
操作符 + [数字] + 动作 = 操作符+光标移动
比如:d2w(delete 2 word) 意为删除后面两个单词
还有,注意到 f 、F ; p、P 即可归纳为:
1.小写字母(进行)字符操作,大写字母(进行)行操作
2.小写字母光标后操作,大写字母光标前操作
2 插入模式(Insert mode)
在正常模式下,按下 i, o, a 等字符就可以进入输入模式了。
在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示.这个时候,键盘上除了 Esc 这个按键之外(按下ESC回到正常模式),其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑
在插入模式中,可以使用以下按键:
按键 | 操作 |
---|---|
字符按键以及Shift组合 | 输入字符 |
ENTER,回车键 | 换行 |
BACK SPACE,退格键 | 删除光标前一个字符 |
DEL,删除键 | 删除光标后一个字符 |
方向键 | 在文本中移动光标 |
HOME/END | 移动光标到行首/行尾 |
Page Up/Page Down | 上/下翻页 |
Insert,切换光标为输入/替换模式 | 光标将变成竖线/下划线 |
ESC | 退出输入模式,切换到命令模式 |
最后
安装了VIM可以在命令行输入vimtutor开启vim训练模式30分钟就可以学会vim的基本操作。
附上一张 vim 键位图:
VIM进阶戳这里:
宏Marco
模式Mode
配置vimrc
vim多窗口
编辑器之神VIM入门相关推荐
- xshell vim 不能粘贴_编辑器之神——vim的入门指南
编辑器之神--Vim的操作说明 ©作者:geekctwd Vim命令模式: Vim虽然被称为编辑器之神,但是很多接触过的人都说入门较难,原因是什么呢,除了vim繁杂的按键之外就是因为它的模式了,很多初 ...
- linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim
编辑器之神-vim的使用,编辑器神-vim vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 v ...
- 编辑器之神——vim编辑器
编辑器之神--vim编辑器 一.vi介绍 Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本, ...
- 编辑器之神—Vim 常用快捷键
以下是 "编辑器之神" - Vim 常用快捷键 . 学好vi, 无论用哪个IDE,只需下载一个vim的插件, 在哪里都可以使用! 前言 Vim 的三种工作模式 vi ...
- Linux 编辑器之神 vim 的 IO 存储原理
坚持思考,就会很酷 故事起因 无意间用 vim 打开了一个 10 G 的文件,改了一行内容,:w 保存了一下,慢的我哟,耗费的时间够泡几杯茶了.这引起了我的好奇,vim 打开和保存究竟做了啥? vim ...
- 编辑器之神-vim的使用技巧
vim VS. emacs vim被誉为编辑器之神,而emacs被誉为神之编辑器.中国文化博大精深,他们究竟有什么区别呢?作为emacs小白的我来说不想在这里献丑,直接贴上一篇博客,有兴趣的同学可以深 ...
- 神之编辑器Emacs 编辑器之神Vim
来源:开源中国社区 http://www.oschina.net/question/12_15010 在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神. ...
- 编辑器之神——vim编辑器(详细、完整)
作者:永不落的梦想 作者主页:传送 座右铭:过去属于死神,未来属于自己 本文专栏:Liunx篇 神器使用篇 今日鸡汤:当你想要放弃的时候想想当初为什么坚持到这里 目录 一.vi和vim介绍 ...
- 编辑器之神Vim总结
vim常用模式 下面的内容介绍vim的几种常用的模式.在详细介绍之前,我们先建立一个大致的概念:vim包括许多模式,不同模式有不同的功能,如"插入模式"让用户输入:"命令 ...
最新文章
- 30天提升技术人的写作力-第二天
- 猪八戒网CI/CD最佳实践之路
- [转载] 【零基础学爬虫】python中的yield详解
- Java版单链表讲解
- 黑色全屏个人主页bootstrap4模板
- Mac下iTerm2的ls输出如何显示文件件颜色呢?
- 实验一 分治与递归—整数划分 java实现
- vue.js 入门案例,双向绑定实现任务清单
- [spring] 源码简析 如何解决循环依赖?
- redis 正则匹配value_Java-19-Redis
- co2激光切割机控制系统上位机C#源码,stm32f407控制板源码,可用于雕刻机,切割机,写字机,点胶机
- AppScan安装教程
- SpringCloud-SpringCloud Bus服务总线的介绍(Day9)
- 对抗学习概念、基本思想、方法综述
- 妈妈吼你屋子乱的像猪窝的无聊探究
- Mac eclipse下载地址 Java开发
- 读书笔记——阿里数据中台(第一篇:数据中台顶层设计)
- 最好的投资是投资自己:20本投资书单推荐
- 淘宝补单怎么补才有效果?
- 新人小白的第一次天池比赛感受