Vim 简介

vim是什么?听说它是编辑器之神!
神一样的存在,而我却经常用上下左右箭头来移动光标,实在是有点对不起它,所以想着稍微学学一点神的技能吧!

一. vim的三种模式

    • Nomal mode:默认模式,因为使用该模式场景最多,所有定为默认模式
    • Insert mode :插入模式,少用,尽量不要停留在找个模式下,操作完成之后,推荐返回默认模式
    • Visual mode:可视模式,一般在需要选中的时候使用

三种模式之间的转换:

    • 在插入或者可视模式下,按Esc键返回到默认模式
    • 在默认模式下,按i,a,o进入插入模式
    • 在默认模式下,按v,V进入可视模式

二. vim的操作

2.1 vim中的快捷键

    • 移动:h(左)、l(右)、j(上)、k(下)
    • 操作:d(delete)、i(insert)、a(append)、c(change)、y(copy)、p(paste)
    • 缩写:w(word)、s(sentence)

2.2 vim中的正则表达式

    • ^:行首
    • $:行尾

2.3 vim中的命令模式

    • :set nu,显示行号
    • :syntax on,语法高亮
    • :set autoindent,自动缩进
    • :set fileencoding,显示文件编码
    • :set fileencoding=utf-8,以utf-8的编码显示文件(然后w可以保存)

三. vim的神操作

3.1 移动、定位

    • h:光标向左移动
    • j:光标向下移动
    • k:光标向上移动
    • l:光标向右移动
      可以在字母前面加上「数量」就可以移动多行了,比如向上移动 10 行,就是10k
    • w:光标往前移动一个词
    • b:光标向后移动一个词
    • 0:移动光标到当前行首
    • ^:移动光标到当前行的第一个字母位置(注意与 0 的区别)
    • $:移动光标到行尾
    • ):移动光标到下一个句子
    • ( :移动光标到上一个句子
    • {:移动光标到上一段
    • }:移动光标到下一段
    • [n]gg : 光标移动到第 n 行
    • gg: 光标移动到文件首部
    • G:移动到文件尾部

3.2 快速编辑

    • i:在光标处插入(insert首字母小写)
    • I:在行首插入(insert首字母大写)
    • a:在光标处后一个字符插入(append首字母小写)
    • A:在行尾插入(append首字母大写)
    • o:在上一行插入
    • O:在下一行插入
    • s:清除当前字符并进入插入模式
    • cc/S:清除当前行并进入插入模式
    • cw: 清除当前单词并进入插入模式

3.3 复制、黏贴、剪切

    • d[n]w:剪切光标单词及后面单词的内容(共n个单词),dw 是剪切当前单词
    • [n]dd:剪切光标行及后面行的内容(共n行),dd 为剪切当前行
    • D/d$:剪切光标后到行尾的内容
    • d0:删除光标至当前行首
    • dG:删除光标行至文档结尾
    • dgg:删除光标至文档开头
    • yy/Y:复制当前行的内容
    • p:粘贴到光标后
    • P:粘贴到光标前

3.4 撤销、查找、替换

    • u:撤回上次操作
    • /aaa:表示在整篇文档中搜索匹配aaa的字符串, / 表示向下查找
    • ?aaa: 表示在整篇文档中搜索匹配aaa的字符串,?表示向上查找
      其中aaa可以是正规表达式。查找到以后,再输入 n 查找下一个匹配处,输入 N 反方向查找。
    • :%s/old/new:检索第一个“old”字符串并将其替换成 “new”
    • :%s/old/new/g:检索并将所有的 “old” 替换为 “new”
    • :%s/old/new/gc:检索出所有的 “old” 字符串,但在替换成 “new” 前,先询问是否替换

3.5 把vim暂时放置于后台

    • Ctrl+z: 把vim暂时放置于后台
    • fg : 调回之前放置于后台的vim,继续编辑

vim(vi)的常用快捷键的更多相关文章

  1. Linux下VIM配置以及常用快捷键

    一.VIM配置 在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim设置文件,对所有用户都有效.而在每个用户的主目录下,都能自己建立私有的设置文件,命名为:“.vimrc”. ...

  2. vi 编辑器常用快捷键

    vi 编辑器 vim 编辑器算是vi的进阶版本 所有的unix like 系统都会内建vi编辑器 vi三种模式分别为: 1.一般模式(默认模式或指令模式) 上下左右方向键 移动光标 pageUp pa ...

  3. Vim编辑器的常用快捷键.

    Linux中的文本操作离不开Vim编辑器的使用. Vim编辑器的使用相对门槛较高.需要挺长一段时间的适应. 总结一些Vim使用过程中常用的命令(这些命令基本上都是在vim的命令模式下使用) 1.跳转到 ...

  4. 编辑器之神vim的一些常用快捷键整理

    yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p:粘贴 dd:剪切(删除) 光标所在的这一行 4dd:剪切(删除) 光标所在行向下的4行 D:从当前的光标开始向后剪切,一直到行 ...

  5. Vim/Vi常用操作(第二版)

    周围同事不是用vim就是Emacs,你要是用一ultraedit,你都不好意思跟人家打招呼;什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷. 你说这么牛B一东西,怎么着学会 ...

  6. [转贴] VIM 常用快捷键 --一直记不住

    vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...

  7. Linux系统下vim常用快捷键及功能

    1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...

  8. VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...

  9. vi/vim 文字处理器常用命令

    目录 vi 与vim vi 的三种模式 vi 光标移动 vi 搜索与替换 vi 删除 vi 复制 vi 粘贴 vi 其他 vi 进入编辑模式 vi 命令行命令 vim 附加功能 vi 与vim vi是 ...

  10. vi常用快捷键

    vi常用快捷键 1)移动光标 h :光标左移一个字符k :光标上移一个字符j :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...

随机推荐

  1. pytorch LSTM情感分类全部代码

    先运行main.py进行文本序列化,再train.py模型训练 dataset.py from torch.utils.data import DataLoader,Dataset import to ...

  2. Istio架构详解

    Istio架构及其组件概述 Istio 架构总体来说分为控制面和数据面两部分.控制面是 Istio 的核心,管理 Istio 的所有功能,主要包括Pilot.Mixer.Citadel等服务组件;数据 ...

  3. SpringBoot Mybatis-Plus 整合 dynamic-datasource-spring-boot-starter 对数据库进行读写分离

    准备工作 对 MySql 进行主从搭建 引入 dynamic-datasource-spring-boot-starter 坐标 引入 druid-spring-boot-starter 坐标 对应框 ...

  4. NFS共享设置

    一.安装所需要的软件环境[root@fengling ~]# yum -y install rpcbind nfs-utils二.创建共享目录mkdir /web三.启动服务[root@fenglin ...

  5. c语言解一元二次方程

    C语言解一元二次方程,输入系数a,b,c; #include <stdio.h> #include <math.h> int main(int argc, char *argv ...

  6. 【Linux网络基础】网络子网划分基础知识(IP地址,子网)

    一. IP地址分类与子网划分基础 1. 什么是IP地址? 常见的ip地址版本为ipv4, ipv6 32位 4 * 8=32位. 32位二进制数字序列组成的数字序列   点分十进制 采用点将32位数字 ...

  7. 【linux三剑客】grep命令

    grep, egrep, fgrep - print lines matching a pattern grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文 ...

  8. 截取nginx日志

    截取nginx日志 sed -n '/24\/Feb\/2017:11:00:00/,/24\/Feb\/2017:12:00:00/p' yunying_api.wanglibao.com.acce ...

  9. MySQL 中 on与where筛选条件的区别

    在两张表连接的时候才会有on的筛选条件,那么on和where的区别是什么呢? 在inner join中是没有区别的,但是在左连接和右连接中,区别就体现出来了,下面以左连接为例: 1.用on的时候,只对 ...

  10. ubuntu16 安装curl

    sudo apt-get install openssl sudo apt-get install libssl-dev wget -P /usr/local/software  https://cu ...