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. 20145238-荆玉茗 《Java程序设计》第9周学习总结

    20145238第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  2. 线程 task 使用三种方法

    1:用TaskFactory的实例: 运行结果为: 2. 使用task类的Factory属性 3.使用task类的实例,用start来启动任务.  当我们用Task类时,除了用start方法,也可以用 ...

  3. Git版本控制的原理

    Git工作区域 工作目录(Working Directory) 暂存区(Stage/Index) 资源库(Repository或Git Directory) 远程的git仓库(Remote Direc ...

  4. computed--实时计算属性

    项目:https://github.com/ccyinghua/vue-node-mongodb-project/blob/master/07-shoppingCart.md 实时计算属性的compu ...

  5. 触发ionic弹窗区域外的方法

    最近项目需要在页面弹窗的时候需要点击弹窗区域外的地方,其实也就是点击页面HTML就可以关闭弹窗, 首先在controller通过js获取到html的dom节点,然后绑定点击事件,话不多说上代码:   ...

  6. OB如何创建租户

    一.        先导知识: 资源隔离是保证用户间相互不受影响的重要手段.数据库的资源隔离主要有以下方式: l  服务器隔离 l  数据库隔离:sqlserver.oceanbase.oracle ...

  7. vue学习--Props

    Props:        props用以从父组件接收数据:                     使用:                Vue.component('child',{        ...

  8. 【版本控制——svn】

    reposity_name   //版本库 { Passwd //验证密码文件 Authz //权限控制 Server.conf //主配置 } Authz //权限控制 //由[groups]标签控 ...

  9. css设置内容超出后显示省略号

    1.使用overflow: hidden把超出的内容进行隐藏: 2.然后使用white-space: nowrap设置内容不换行: 3.最后使用text-overflow: ellipsis设置超出内 ...

  10. thinkphp centos7 报class POD not found

    没有安装PDO yum install php70w-pdo yum install php70w-mysqlnd 两条命令搞定