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 :光标移至屏幕中 ...
随机推荐
- python基础-json、pickle模块
json.pickle区别 总结: """ json: 1.不是所有的数据类型否可以序列化,序列化返回结果为字符串 2.不能多次对同一文件序列化 3.json数据可以跨语 ...
- [XML] XML格式【有道翻译】API 的数据转化输出
<?php header("content-type:text/html;charset=utf-8"); //echo "飞飞仔超级智障"; $cont ...
- 2020年必须掌握的硬核技能k8s
Kubernetes 是一个软件系统,使你在数以万计的电脑节点上运行软件时就像 所有节点是以单个大节点一样, 它将底层基础设施抽象,这样做同时简化了应用开发.部署,以及对开发和运维团队的管理. Kub ...
- swoole学习--登录模块
使用swoole+thinkphp6.0+redis 结合开发的登录模块,做完之后有几点感悟: 1.不要相信任务数据,包括请求的外部接口,特别是超时者部分,尽可能的交给task完成. 2.原来可以在入 ...
- 2019-2020-1 20199325《Linux内核原理与分析》第九周作业
第九周作业要求: 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确: 使用gdb跟踪分析一个sc ...
- 数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
1.SQL(结构化查询语言)的组成:数据定义语言DDL.数据操纵语言DML.数据控制语言DCL.其他. 2.SQL语言的功能: 1)数据查询:SELECT 2)数据定义:CREATE DROP ...
- CentOS7编译安装NodeJS
概述 在CentOS7下采用编译NodeJS二进制源码包的方式安装NodeJS 下载NodeJS安装包 你可以先下载NodeJS二进制源码安装包文件然后上传到CentOS系统,也可以通过wget命令直 ...
- 中国AI觉醒 阿里王坚:云智能将成为大趋势
2019独角兽企业重金招聘Python工程师标准>>> <麻省理工科技评论>新兴科技峰会EmTech China于北京召开.大会中,其中一项热门的讨论便是:中国和美国的科 ...
- C语言编程入门题目--No.13
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身.例如:153是一个"水仙花数",因为153= ...
- C++课程设计详解-12306的模拟实现
目录 设计思路... 3 思路分析:.... 3 数据组织:.... 4 具体功能实现过程... 4 管理端具体功能实现:.... 4 用户端具体功能实现:.... 5 调试截图和调试过程中遇到的问题 ...