VIM基础操作方法汇总
学习自小甲鱼的视频,快速入门vim
目录:
1.光标移动
2.进入插入模式
3.进入普通模式
4.进入命令行模式
5.退出
6.光标跳跃
7.快速跳转行号
8.删除
9.利用数字重复操作
10.撤回
11.粘贴
12.拷贝
13.替换
14.修改
15.查看文件信息
16.定位括号
17.缩进
18.搜索命令
1.光标移动:
要按Esc后在普通模式使用,插入模式不能使用光标移动
| k 上 | ||
| h 左 | l 右 | |
| j 下 |
2.进入插入模式:
| I | i | a | A |
| 行首进入插入模式 | 光标前进入 | 光标后进入 | 行末进入 |
| O | 光标所在行上面插入空行再进入插入模式 |
| o | 光标所在行下面插入空行再进入插入模式 |
| s | S |
| 删除所在字符再进入插入模式 | 清除当前行再进入插入模式 |
3.进入普通模式:
- 按 ESC
4.进入命令行模式:
- 在普通模式按 :
5.退出:
- 忽略修改直接退出:在普通模式输入 :q!
- 保存并退出(1):直接输入 ZZ(大写的)
- 保存并退出(2):在普通模式输入 :wq 文件名 (只有第一次要附加文件名)
6.光标跳跃:
在普通模式下:
| 0 | 光标跳跃到行首 |
| ^ | 同上 |
| $ | 跳跃到行尾 |
| b | 到当前单词起始处(中文和特殊符号会有区别) |
| e | 到当前单词结尾处(中文和特殊符号会有区别) |
| w | 到下一个单词的起始处 |
| gg | 到文件的开头 |
| G | 到文件的结尾 |
7.快速跳转行号:
两种方法:
- 在普通模式下: 按 数字 + G ,就会跳转到数字的那行
- 在普通模式下: 按 : + 数字 ,就会跳转到数字的那行
8.删除:
删除单个字符:
- 普通模式:按 x 删除光标当前字符
- 插入模式:按 Backspace 键删除光标前面字符 按 Delete 键删除光标所在处字符 (缺点,只能靠方向键移动光标)
删除多个字符:
| d0 | 删除光标当前位置到行首所有字符(不包括光标) |
| d^ | 同上 |
| d$ | 删除光标当前位置到行尾所有字符(包括光标) |
| db | 删除光标当前位置到单词起始处所有字符(不包括光标) |
| de | 删除光标当前位置到单词结尾处所有字符(包括光标) |
| dw | 删除光标当前位置到下一个单词起始处所有字符(包括光标,不包含下一个单词起始处) |
| dh | 删除光标前边一个字符 |
| dl | 删除光标当前字符 |
| dj | 删除光标所在行和下一行的所有字符 |
| dk | 删除光标所在行和上一行的所有字符 |
| dd | 删除光标所在行所有字符 |
| dgg | 删除光标所在行到文件开头的所有字符 |
| dG | 删除光标所在行到文件末尾的所有字符 |
9.利用数字重复操作
在普通模式下:
| 数字+h/j/k/l | 一次移动多次 |
| 数字+mothon | 重复多个mothon |
| d+数字+mothon | 删除多个mothon范围 |
vim内的删除不是真正的删除,是放在寄存器,放在缓冲区,相当去"剪切"
10.撤回
| u(小写) | 撤回最后一次修改 |
| U(大写) | 撤回对整行修改 |
| Ctrl + r | 恢复撤回内容 |
撤回同样可以结合数字使用
11.粘贴
| p(小写) | 把最后一次删除的内容粘贴在光标之前 |
| P(大写) | 把最后一次删除的内容粘贴在光标之后 |
| 如果拷贝的是整行为单位,p(小写)命令是光标下一行开始粘贴 |
| 如果拷贝的是整行为单位,p(小写)命令是光标后开始粘贴 |
12.拷贝
- 在普通模式用 y 来进行拷贝,格式为 y mothon (可以结合数字来重复)
- y命令和d命令是对应的
13.替换
r 替换模式(单个字符替换):
- 在光标所在位置按 r ,输入新字符(只能换一个字符)
- 可以结合数字来重复(统一替换多个字符)
R替换模式(终极替换模式):
在普通模式下输入 R 进入,再按一下 Esc 停止
注意:此状态下按hjkl进行位移是无效的
s命令替换:
- 普通s命令替换:
在命令行模式按下 :s/要换的的字符串/新的字符串 ,即可把这一行出现的第一个要换的字符串替换 (字符串指单个或多个字符)
- 整行s命令替换:
在命令行模式按下 :s/要换的的字符串/新的字符串/g ,即可把这一行所有出现要换的字符串替换 (字符串指单个或多个字符)
- 整个文件s命令替换:
在命令行模式按下 :%s/要换的的字符串/新的字符串/g ,即可把整个文件所有出现要换的字符串替换 (字符串指单个或多个字符)
- 选择性s命令替换:
在命令行模式按下 :s/要换的的字符串/新的字符串/g(针对一行) 或 :%s/要换的的字符串/新的字符串/g(针对整个文件)
- 行区间的选择性s命令替换:
在命令行模式按下 :起始行数字,结束行数字s/要换的的字符串/新的字符串/g ,即可把起始行到结束行所有出现要换的字符串替换 (字符串指单个或多个字符)
然后每次对于 y/n/a/q/l/^E/^Y 进行选择
| y | 替换 |
| n | 不替换 |
| a | 替换所有 |
| q | 放弃之后的替换 |
| l(是L的小写) | 替换第一个并进入插入模式 |
| ^E | Ctrl+e滚动屏幕(说实话这个我没学会) |
| ^Y | Ctrl+y滚动屏幕(说实话这个我没学会) |
14.修改:
| 修改会进入插入模式 |
| 替换不会进入插入模式 |
执行方式:
c [数字] mothon ([数字]代表可选也可不用,mothon是前面的范围执行操作)
| c0 | 删除光标当前位置到行首所有字符(不包括光标) ,并进入插入模式 |
| c^ | 同上 |
| c$ | 删除光标当前位置到行尾所有字符(包括光标) ,并进入插入模式 |
| cb | 删除光标当前位置到单词起始处所有字符(不包括光标) ,并进入插入模式 |
| ce | 删除光标当前位置到单词结尾处所有字符(包括光标) ,并进入插入模式 |
| cw | 删除光标当前位置到下一个单词起始处所有字符(包括光标,不包含下一个单词起始处) ,并进入插入模式 |
| ch | 删除光标前边一个字符 ,并进入插入模式 |
| cl | 删除光标当前字符 ,并进入插入模式 |
| cj | 删除光标所在行和下一行的所有字符 ,并进入插入模式 |
| ck | 删除光标所在行和上一行的所有字符 ,并进入插入模式 |
| cc | 删除光标所在行所有字符 ,并进入插入模式 |
| cgg | 删除光标所在行到文件开头的所有字符 ,并进入插入模式 |
| cG | 删除光标所在行到文件末尾的所有字符 ,并进入插入模式 |
可见c命令和d命令很像,但是cc和dd,也就是删除当前行是重复两次本身字母这里有区别
修改 = 删除 + 进入插入模式
15.查看文件信息
在普通模式按下 Ctrl + g ,然后看下方
分别是:
| 文件名 | 修改信息(如果是没修改就不会显示) | 一共有几行 | 目前光标大约在总代码的百分之几位置 | 光标在第几行第几列 |
16.定位括号
在普通模式下,让光标移动到一个括号处,按下 % ,光标会跳转到配对括号上
识别范围 (),{},[] 不支持<>
17.缩进
在普通模式使用:
| >> | 缩进 |
| << | 反缩进 |
可以配合数字重复使用
对多行进行缩进:
- 数字 + >>或<< 表示对接下来几行进行缩进
- 先按 v,进入可视模式,移动h/j/k/l会移动选中,然后再按>或<
18.搜索命令
在该代码文件内搜索
/搜索:
在命令行模式按下 / ,然后输入我们要找的字符串,然后回车
注意:
- 是从光标下一个位置开始找到文件结尾,如果文件结尾也没有就会又从文件开头找到光标那,然后结束
- 一直只能找一个
?搜索:
- 和/搜索的不同点是向前搜索,其他都一样
n命令及N命令
由于一次搜索可能搜索出几个单位,所以还有n命令及N命令
- 使用方法,执行完 /命令 或 ?命令 后,直接按 n 或 N 就好了
| n命令 | 顺着光标搜索方向继续查找其他符合条件单位 |
| N命令 | 反着光标搜索方向继续查找其他符合条件单位 |
清空高亮
- 在命令行模式按下 :nohl
特殊搜索情况
- 以下字符单独搜索需要加一个反斜杠 \
* . [ ] ^ & / ? ~ $
执行shell命令
- 列出根目录下所有文件 :!ls /
- 文件另存为 :w + 文件名
- 局部另存为 可视模式选取后 :w +文件名
- 如果另存为的同时要覆盖旧的文件,则 :w! + 文件名
- 合并文件 :r + 文件名 读取这个文件并置入光标的下一行位置
- 同时垂直并排打开多个文件 -o + 文件名1 + 文件名2 + 文件名3 ... 垂直并排
- 同时水平并排打开多个文件 -O + 文件名1 + 文件名2 + 文件名3 ... 水平并排
- 文件切换
Ctrl + w + w 将光标切换到下一个文件
Ctrl + w +上/k/下/j 在垂直并排文件间上下切换
Ctrl + w + 左/h/右/l 在水平并排文件间左右切换
- 关闭全部文件 :qa
- 强制关闭全部文件 :qa!
- 保存全部文件 :wqa
VIM基础操作方法汇总的更多相关文章
- JQuery radio(单选按钮)操作方法汇总
这篇文章主要介绍了JQuery radio(单选按钮)操作方法汇总,本文讲解了获取选中值.设置选中值.根据Value值设置选中.删除Radio.遍历等内容,需要的朋友可以参考下 随着Jquery的 ...
- jquery基础知识汇总
jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...
- vim基础命令
2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- Oracle知识梳理(三)操作篇:SQL基础操作汇总
Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_ ...
- SQL基础操作汇总
SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_name datatype, -- ...
- day 7 - 1 集合、copy及基础数据类型汇总
集合:{},可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复.(不重要)集合的书写 set1 = set({1,2,3}) #set2 = {1,2,3,[2,3],{'name':' ...
- [svc][op]vim常用命令汇总
vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...
- 沉淀,再出发:Java基础知识汇总
沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...
随机推荐
- Bootstrap中的各种下拉菜单
@*基本下拉菜单与按钮下拉菜单的样式完全一致.不过,基本的下拉菜单使用<div class="dropdown">包裹,所有要换行.而按钮式下拉菜单<div cl ...
- Codeforces Round #259 (Div. 1)A(公式)
传送门 题意 给出m个面的骰子扔n次,取最大值,求期望 分析 暴力算会有重复,而且复杂度不对. 考虑m个面扔n次得到m的概率,发现只要减去(m-1)个面扔n次得到m-1的概率即可,给出example说 ...
- bzoj 3028: 食物【生成函数】
承德汉堡:\( 1+x^2+x^4+...=\frac{1}{1-x^2} \) 可乐:\(1+x \) 鸡腿:\( 1+x+x^2=\frac{x^3-1}{x-1} \) 蜜桃多:\( x+x^3 ...
- [App Store Connect帮助]七、在 App Store 上发行(3.2)提交至“App 审核”:查看 App 状态历史记录
您可以查看您 App 的某一版本的 App 状态历史记录.在历史记录表中的每一行都包含 App 状态.App 状态更改时间,以及更改的发起人.使用此信息追踪“App 审核”流程中的 App. 若想在 ...
- RHEL5.6环境下Oracle10g单主机安装步骤记录
操作环境:RedHat Enterprise Linux 5.6 安装版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64 ...
- JAVA中abstract,interface,final,static语法
转自:http://www.cnblogs.com/yueue/archive/2010/04/20/1715863.html 一,抽象类:abstract 1,只要有一个或一个以上抽象方法的 ...
- 转-iOS 动画总结----UIView动画
来自:http://blog.csdn.net/huifeidexin_1/article/details/7597868/ 1.概述 UIKit直接将动画集成到UIView类中,实现简单动画的创建过 ...
- Python的数据类型:list和tuple
今天开始认真的学习python. 1.list类型 list是python的一种数据类型,它是一种有序列表,可以随时添加和删除其中的元素. 1.1 list类型的特征 list类型内的成员类型可以相同 ...
- 专 linux命令之set x详解
set -x与set +x指令 用于脚本调试.set是把它下面的命令打印到屏幕 set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追中一段代码的显示情况. 执 ...
- XML To Linq 读取Sharepoint列表中的附件列信息
通过页面查看,列表附件信息列的内容如下: var x = @"<div class='ExternalClass9936DCD1F074427B891D09CFCEFC2AB6'> ...