Vim常用指令总结(持续更新中)
1 模式变更
| 命令 | 说明 |
|---|---|
a(append)/i(insert) |
普通模式→插入模式 |
: |
普通模式→命令行模式 |
ESC或者Ctrl |
插入模式→普通模式 |
R(Replace)/Insert两次 |
普通模式→替换模式 |
2 编辑
| 命令 | 说明 |
|---|---|
dj(k) |
删除当前行和下(上)一行 |
i |
在当前光标处进行编辑 |
I |
在行首插入 |
A |
在行末插入 |
a |
在光标后插入编辑 |
o |
在当前行后插入一个新行 |
O |
在当前行前插入一个新行 |
cw(changeword) |
替换从光标所在位置后到一个单词结尾的字符 |
cnw/ncw |
替换从光标所在位置后到n个单词结尾的字符 |
2.1 保存退出相关
| 命令 | 说明 |
|---|---|
:w 路径+文件名 |
保存文件 |
:wq |
保存并退出编辑 |
:q! |
强制退出,不保存 |
:q |
退出 |
:wq! |
强制保存并退出 |
:w |
另存为 |
:saveas 文件路径 |
另存为 |
:x |
保存并退出 |
:wq |
保存并退出 |
普通模式Shift+zz |
保存并退出 |
2.2 普通模式删除文本
| 命令 | 说明 |
|---|---|
x |
删除游标所在的字符 |
X |
删除游标所在前一个字符 |
Delete |
同x |
dd |
删除整行 |
dw |
删除一个单词(不适用中文) |
d$或D |
删除至行尾 |
d^ |
删除至行首 |
dG |
删除到文档结尾处 |
d1G |
删至文档首部 |
2.3 复制粘贴、剪切
- 普通模式中使用
y复制 - 普通模式中,
yy复制游标所在的整行(3yy表示复制3行) - 普通模式中,
y^复制至行首,或y0。不含光标所在处字符。 - 普通模式中,
y$复制至行尾。含光所在处字符。 - 普通模式中,
yw复制一个单词。 - 普通模式中,
y2w复制两个单词。 - 普通模式中,
yG复制至文本末。 普通模式中,
y1G复制至文本开头。- 普通模式中使用
p粘贴 - 普通模式中,
p(小写)代表粘贴至光标后(下) 普通模式中,
P(大写)代表粘贴至光标前(上)
2.4 替换和撤销
| 命令 | 说明 |
|---|---|
r+<待替换字母> |
将游标所在字母替换为指定字母 |
R |
连续替换,直到按下Esc |
cc |
替换整行,即删除游标所在行,并进入插入模式 |
cw |
替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) |
替换游标以后至行末 |
~ |
反转游标所在字母大小写 |
u{n} |
撤销一次或n次操作 |
U(大写) |
撤销当前行的所有修改 |
Ctrl+r |
redo,即撤销undo的操作 |
2.5 缩进
| 命令 | 说明 |
|---|---|
| >> | 整行将向右缩进 |
| << | 整行将向左回退 |
| :shiftwidth | 设置缩进距离 :set shiftwidth=4 |
2.6 调整文本位置
| 命令 | 说明 |
|---|---|
| :ce | 本行居中 |
| :ri | 本行靠右 |
| :le | 本行靠左 |
| shift+ctrl+上/下箭头 | 向上/下移动当前行 |
3 光标移动
| 命令 | 说明 |
|---|---|
h |
左 |
l |
右 |
j |
下 |
k |
上 |
w |
移动到下一个单词 |
b |
移动到上一个单词 |
nG(n Shift+g) |
游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) |
gg |
游标移动到到第一行 |
G(Shift+g) |
到最后一行 |
e |
到下一个单词的结尾 |
ge |
到前一个单词的结尾 |
0或^ |
到行头 |
$ |
到行尾 |
f<字母>; |
向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母>; |
向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母>; |
向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
T<字母>; |
向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
4. 查找
- 普通模式下输入
/icmp查找字符串icmp - 普通模式下输入
n查找下一个icmp - 普通模式下输入
?tcp向上查找字符串tcp 普通模式下输入
N查找上一个出现的tcp- 普通模式下输入
\*寻找游标所在处的单词 - 普通模式下输入
\#同上,但\#是向前(上)找,\*则是向后(下)找 - 普通模式下输入
g\*同\*,但部分符合该单词即可 普通模式下输入
g\#同\#,但部分符合该单词即可
Vim常用指令总结(持续更新中)的更多相关文章
- oracle 常用指令(持续更新中....)
1. 查看所有表空间大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_nam ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【github&&git】4、git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- [Linux] Linux指令汇总(持续更新中...)
写在前面: 以前真心没有玩过Linux系统,总感觉整天摆弄Linux的同学都是大牛.如今,在公司里实习需要远程登录Linux服务器,所有的代码都要在开发板上完成,所以被逼无奈也不得不定下心来好好学学L ...
- Linux软件开发常用的软件包(持续更新中)
下面是Linux开发常用的软件包: 软件包的名称 作用描述 安装方式 build-essential sudo apt-get install build-essential policycore ...
- android开发常用组件【持续更新中。。。】
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- Linux 常用指令【持续更新】
在学校的时候学过一些简单的 Linux 命令,主要是文件的创建拷贝解压等操作,最近在电脑上安装了一个CentOS6.8版本的基本版,纯命令行操作. ../ 代表上一级目录 ./ 代表本级目录 / 代表 ...
- Linux常用指令(持续更新)
(这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) PP真的是一位很有姿势的程序猿,有这样的邻居真好,榜样啊. pwd 当前路径 df -kh ...
- php 常用函数集合(持续更新中...)
php 常用函数集合 在php的开发中,巧妙的运用php自带的一些函数,会起到事半功倍的效果,在此,主要记录一些常用的函数 1.time(),microtime()函数 time():获取当前时间戳 ...
- vi & vim 基本指令(持续更新ing)
Abstract:1) 文本编辑模式: --INSERT--2)一般模式: --i.o.a.R--3)命令行命令模式 ...
随机推荐
- Centos6.4环境下DNS服务器的搭建
DNS服务器搭建很繁琐吗?给你个简单的招吧! 配置域主服务器 阶段: 1.在bind的主配置文件中添加该域 2.在/var/named中创建该域的zone文件 3.编辑zone文件,添加需要的信息 4 ...
- 将xml转换成Json,数组,对象格式转换方法
xml字符串:$simplexml 转换成Json格式:json_encode($simplexml) 转换成数组格式:json_decode(json_encode($simplexml),TRUE ...
- 裁剪插件jCrop
为大家介绍个插件:jCrop.这个插件被我用在了多个项目中,如通过画热力图来查看某块地方用户的浏览数,放大缩小拖动选框来实时预览所选区域的图片病裁剪,设置头像是选框必须要是正方形,它有着丰富的配置参数 ...
- 2017.10.14 Java的流程控制语句switch&&随机点名器
今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作 ...
- BZOJ3671: [Noi2014]随机数生成器(贪心)
Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 2098 Solved: 946[Submit][Status][Discuss] Descripti ...
- 1816: [Cqoi2010]扑克牌
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2737 Solved: 1082[Submit][Status][Discuss] Descripti ...
- BZOJ3288: Mato矩阵(欧拉函数 高斯消元)
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 386 Solved: 296[Submit][Status][Discuss] Descriptio ...
- cordforce Educational Codeforces Round 47 补题笔记 <未完>
题目链接 http://codeforces.com/contest/1009 A. Game Shopping 直接模拟即可,用了一个队列来存储账单 #include <iostream> ...
- Nginx的编译安装及服务启动脚本
1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需 ...
- thinkphp centos7 报class POD not found
没有安装PDO yum install php70w-pdo yum install php70w-mysqlnd 两条命令搞定