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)命令行命令模式 ...
随机推荐
- poj 2057 树形DP,数学期望
题目链接:http://poj.org/problem?id=2057 题意:有一只蜗牛爬上树睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面, 现在这只蜗牛要求寻找它的房子 ...
- 1.3配置存储单元(nbu重删池)
1.3配置存储单元 在备份或归档操作时,NetBackup将数据通过存储单元写到物理介质上,NetBackup支持三种类型的存储单元.即: 介质管理器.磁盘和NDMP. 1.3.1介质管理存储单元配置 ...
- 记录表TABLE的使用详解
定义记录表(或索引表)数据类型与记录类型相似,但它是对记录类型的扩展.它可以处理多行记录,类似于高级中的二维数组,使得可以在PL/SQL中模仿数据库中的表. 定义记录表类型的语法如下: 1 2 TYP ...
- ios统计流量代码
#include <ifaddrs.h> #include <sys/socket.h> #include <net/if.h> 1.3G/GPRS流量统计 int ...
- link链接外部样式表
一个完整的link标签: <link href="[css adress]" rel="stylesheet" type="text/css&q ...
- Session和cookic
session是无状态的方式,服务器存储机制,当用户第一次请求服务器,服务器会给客户分配一个标识id,客户端再次访问服务器,根据session id 去访问服务器数据库,返回信息,同时session ...
- 基础篇(1):c++程序基本结构
本人是初中生,原用Pascal语言,现转c++,所以写几篇博客,分享一下. 补一句,我是一边转c++一边写博客,所以可能会有错误,望过路大神能指出. 参考书籍:<信息学奥赛一本通>< ...
- vc导出调用dll的两种方式
一.stdcall 1. #define DLLEXPORT _declspec(dllexport) _stdcall, int DLLEXPORT func(const char *peer,u ...
- poj_1284_Primitive root
We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the se ...
- java使用apache-poi生成excel表格
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //创建一 ...