vim(vi)的常用快捷键
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)的常用快捷键的更多相关文章
- Linux下VIM配置以及常用快捷键
一.VIM配置 在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim设置文件,对所有用户都有效.而在每个用户的主目录下,都能自己建立私有的设置文件,命名为:“.vimrc”. ...
- vi 编辑器常用快捷键
vi 编辑器 vim 编辑器算是vi的进阶版本 所有的unix like 系统都会内建vi编辑器 vi三种模式分别为: 1.一般模式(默认模式或指令模式) 上下左右方向键 移动光标 pageUp pa ...
- Vim编辑器的常用快捷键.
Linux中的文本操作离不开Vim编辑器的使用. Vim编辑器的使用相对门槛较高.需要挺长一段时间的适应. 总结一些Vim使用过程中常用的命令(这些命令基本上都是在vim的命令模式下使用) 1.跳转到 ...
- 编辑器之神vim的一些常用快捷键整理
yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p:粘贴 dd:剪切(删除) 光标所在的这一行 4dd:剪切(删除) 光标所在行向下的4行 D:从当前的光标开始向后剪切,一直到行 ...
- Vim/Vi常用操作(第二版)
周围同事不是用vim就是Emacs,你要是用一ultraedit,你都不好意思跟人家打招呼;什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷. 你说这么牛B一东西,怎么着学会 ...
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- Linux系统下vim常用快捷键及功能
1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...
- VIM常用快捷键(转载)
移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...
- vi/vim 文字处理器常用命令
目录 vi 与vim vi 的三种模式 vi 光标移动 vi 搜索与替换 vi 删除 vi 复制 vi 粘贴 vi 其他 vi 进入编辑模式 vi 命令行命令 vim 附加功能 vi 与vim vi是 ...
- vi常用快捷键
vi常用快捷键 1)移动光标 h :光标左移一个字符k :光标上移一个字符j :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...
随机推荐
- pytorch LSTM情感分类全部代码
先运行main.py进行文本序列化,再train.py模型训练 dataset.py from torch.utils.data import DataLoader,Dataset import to ...
- Istio架构详解
Istio架构及其组件概述 Istio 架构总体来说分为控制面和数据面两部分.控制面是 Istio 的核心,管理 Istio 的所有功能,主要包括Pilot.Mixer.Citadel等服务组件;数据 ...
- SpringBoot Mybatis-Plus 整合 dynamic-datasource-spring-boot-starter 对数据库进行读写分离
准备工作 对 MySql 进行主从搭建 引入 dynamic-datasource-spring-boot-starter 坐标 引入 druid-spring-boot-starter 坐标 对应框 ...
- NFS共享设置
一.安装所需要的软件环境[root@fengling ~]# yum -y install rpcbind nfs-utils二.创建共享目录mkdir /web三.启动服务[root@fenglin ...
- c语言解一元二次方程
C语言解一元二次方程,输入系数a,b,c; #include <stdio.h> #include <math.h> int main(int argc, char *argv ...
- 【Linux网络基础】网络子网划分基础知识(IP地址,子网)
一. IP地址分类与子网划分基础 1. 什么是IP地址? 常见的ip地址版本为ipv4, ipv6 32位 4 * 8=32位. 32位二进制数字序列组成的数字序列 点分十进制 采用点将32位数字 ...
- 【linux三剑客】grep命令
grep, egrep, fgrep - print lines matching a pattern grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文 ...
- 截取nginx日志
截取nginx日志 sed -n '/24\/Feb\/2017:11:00:00/,/24\/Feb\/2017:12:00:00/p' yunying_api.wanglibao.com.acce ...
- MySQL 中 on与where筛选条件的区别
在两张表连接的时候才会有on的筛选条件,那么on和where的区别是什么呢? 在inner join中是没有区别的,但是在左连接和右连接中,区别就体现出来了,下面以左连接为例: 1.用on的时候,只对 ...
- ubuntu16 安装curl
sudo apt-get install openssl sudo apt-get install libssl-dev wget -P /usr/local/software https://cu ...