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常用指令总结(持续更新中)的更多相关文章

  1. oracle 常用指令(持续更新中....)

    1. 查看所有表空间大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_nam ...

  2. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  3. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  4. [Linux] Linux指令汇总(持续更新中...)

    写在前面: 以前真心没有玩过Linux系统,总感觉整天摆弄Linux的同学都是大牛.如今,在公司里实习需要远程登录Linux服务器,所有的代码都要在开发板上完成,所以被逼无奈也不得不定下心来好好学学L ...

  5. Linux软件开发常用的软件包(持续更新中)

    下面是Linux开发常用的软件包: 软件包的名称 作用描述 安装方式 build-essential   sudo apt-get install build-essential policycore ...

  6. android开发常用组件【持续更新中。。。】

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  7. Linux 常用指令【持续更新】

    在学校的时候学过一些简单的 Linux 命令,主要是文件的创建拷贝解压等操作,最近在电脑上安装了一个CentOS6.8版本的基本版,纯命令行操作. ../ 代表上一级目录 ./ 代表本级目录 / 代表 ...

  8. Linux常用指令(持续更新)

    (这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) PP真的是一位很有姿势的程序猿,有这样的邻居真好,榜样啊. pwd 当前路径 df  -kh ...

  9. php 常用函数集合(持续更新中...)

    php 常用函数集合 在php的开发中,巧妙的运用php自带的一些函数,会起到事半功倍的效果,在此,主要记录一些常用的函数 1.time(),microtime()函数 time():获取当前时间戳 ...

  10. vi & vim 基本指令(持续更新ing)

    Abstract:1) 文本编辑模式:                      --INSERT--2)一般模式:                      --i.o.a.R--3)命令行命令模式 ...

随机推荐

  1. DP找最优配置,(POJ1018)

    题目链接:http://poj.org/problem?id=1018 这个DP,我的头都快晕了. dp[i][j]表示取到第i个设备,宽带为j时的最小价格. 状态转移方程: dp[i][k]=min ...

  2. 【转】Android xml资源文件中@、@android:type、@*、?、@+含义和区别

    一.@代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@andr ...

  3. Python-程序模块化

    一.程序模块化 一个程序可能需要导入自己写的模块,或者需要导入.查找.修改文件等操作.当把程序移植到其他路径执行时,会因为模块或文件路径的变化而报错. 程序模块化,就是将整个程序(包含该程序需要用到的 ...

  4. HTTP 之缓存

    这是一篇知识性的文档,主要目的是为了让Web缓存相关概念更容易被开发者理解并应用于实际的应用环境中.为了简要起见,某些实现方面的细节被简化或省略了.如果你更关心细节实现则完全不必耐心看完本文,后面参考 ...

  5. 第51章 设置FLASH的读写保护及解除—零死角玩转STM32-F429系列

    第51章     设置FLASH的读写保护及解除 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  6. django中的auth模块以及分页器

    1.auth模块 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证,和权限管理 auth可以和admin模块配合使用, 快速建立网站的管理系统 在INSTALLED_APPS中添 ...

  7. ImportError : cannot import name main

    当我们有时候安装不成功插件或者其他模块时候,会有pip报错hu@hu-VirtualBox:~/下载/MySQL-python-1.2.4b4$ pip install pymysqlTracebac ...

  8. 没有CTO的Netflix有哪些值得我们学习的工程文化?

    作者介绍: 杨波,拍拍贷基础框架研发总监.具有超过 10 年的互联网分布式系统研发和架构经验,曾先后就职于:eBay 中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放 API 平台研发 ...

  9. Spring MVC 接收前端参数的方式

    方式一: 普通方式接收 1 @RequestMapping("/index") 2 public String getUserName(String username) { 3 S ...

  10. 简单了解,使用oracle中的索引,表分区

    索引的分类 如下: 物理分类 逻辑分类 分区或非分区索引 单列或组合索引 B树索引(标准索引) 唯一或非唯一索引 正常或反向键索引 基于函数索引 位图索引   B树索引 b树索引通常也称为标准索引,索 ...