vim 使用学习操作


1 跳转
| 命令 | 作用 |
|---|---|
| h | 光标向左移动 |
| l | 光标向右移动 |
| j | 光标向上移动 |
| k | 光标向下移动 |
| w | 移动光标到下一个单词开头. |
| e | 移动光标到下一个单词结尾 |
| b | 移动光标到上一个单词. |
| 0 | 移动光标到本行最开头. |
| ^ | 移动光标到本行最开头的字符处. |
| $ | 移动光标到本行结尾处. |
| A | 移动光标至行尾并处于“追加”状态,直接编辑 |
| H | 移动光标到屏幕的首行. |
| M | 移动光标到屏幕的中间一行. |
| L | 移动光标到屏幕的尾行. |
| gg | 移动光标到文档首行. |
| G | 移动光标到文档尾行. |
| 33G | 跳至第33行 |
| :n | 跳至第n行 |
| ctrl + f | 向下翻页 同 page down. |
| ctrl + b | 向上翻页 同 page up. |
| ctrl + d | 向下翻半页 此比较有用 |
| ctrl + u | 向上翻半页 此比较有用 |
| ctrl + e | 向下翻一行 |
| ctrl + y | 向上一行 |
| [[ | 转到上一个位于第一列的“{” |
| ]] | 转到下一个位于第一列的“}” |
| { | 转到上一个空行 |
| } | 转到下一个空行 |
| '' | 两个单引号 此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查找到 某个单词后,再输入此命令则回到上次停留的位置. |
| zz | 把当前行置为屏幕正中央 |
| zt | 把当前行置于屏幕顶端 |
| zb | 把当前行置于屏幕底端 |
2 复制
| 命令 | 作用 |
|---|---|
| v | 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束 |
| V | 从光标当前行开始,光标经过的行都会被选中,再按一下V结束 |
| Ctrl + v | 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束 |
| ggVG | 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾 |
| x | 删除一个字符 |
| dd | 删除一行 |
| J | 删除换行符 |
| y | 复制 (默认是复制到"寄存器) |
| p | 粘贴 (默认从"寄存器取出内容粘贴) |
3 插入
| 命令 | 作用 |
|---|---|
| i | 命令可以在当前光标之前插入文本 |
| a | 命令可以在当前光标之后插入文本 |
| o | 命令可以在当前行的下面另起一行,并使当前模式转为Insert模式 |
| O | 命令(注意是大写的字母O)将在当前行的上面另起一行 |
4 退出
| 命令 | 作用 |
|---|---|
| ZZ | 保存修改并退出 |
| :q! | 丢弃修改并退出 |
| :e! | 丢弃修改并重新打开 |
5 分屏
命令模式下:
:new,新建文件并分屏, 快捷键,Ctrl+W,然后马上按n键
:spilt 水平分屏,将当前屏分为两个,水平的。 Ctrl + w, s
:vsplit 垂直分屏,将当前屏分为两个,垂直的。 Ctrl + w, v
:only 取消分屏,取消当前的屏,当前屏指的是光标所在屏。
关闭当前屏: Ctrl+w,c。
Ctrl + w, w 后一个
Ctrl + w, p 前一个
Ctrl + w, h 四个方向 左
Ctrl + w, i
Ctrl + w, k
Ctrl + w, l
Ctrl + w, o 关闭其他窗口
Ctrl + w, c 关闭当前窗口
:vs 文件路径/文件名 在新的垂直分屏中打开文件
:sv 文件路径/文件名 在新的水平分屏中打开文件
6 其他
:%!xxd -g 1 切换16进制显示
vim 使用学习操作的更多相关文章
- 20155208徐子涵Vim编辑器学习经验
20155208徐子涵 2016-2017-2 Vim编辑器学习经验 当我们运用虚拟机进行书写代码时,我们就会用到Vim编辑器,用Vim编辑器进行编辑特别方便,而Vim编辑器中也有一些操作需要去学习. ...
- 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧
多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...
- (转)vim(vi)常用操作及记忆方法
vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- Android – 学习操作NFC – 2
在<Android – 学习操作NFC – 1>说明了Android在处理NFC tag的机制.tag dispatch system的运作流程,以及三种ACTION_NDEF_DISCO ...
- [20150513]Linux远程登陆管理以及Vim的学习
Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...
- Linux命令行及Vim简单学习记录
Linux命令行 1.打开命令行 Ctrl+Alt+t 2.目录 显示当前目录的文件列表 ls 跳转至当前目录中的x文件夹 cd x 返回根目录 cd 3.文件 新建文件1.cpp touch ./1 ...
- vim 模式基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 虽然Emacs已经可以完成大部分的编辑操作,但有时候为了方便也会用到vim.所以记录了 ...
- vim的学习
vi和vim的关系: vim是vi发展而来的. 2.vim的三种模式: 1>.命令模式 -- 打开文件后,默认进入命令模式. 2>.编辑模式 -- 需要输入一些命令,切换到编辑模式. 3& ...
随机推荐
- 关于SDK_JDK_JRE_JVM的关系
SDK JDK JRE JVM 四者的关系 一:SDK与JDK的关系(可以认为jdk只是sdk的一种子集) SDK是Software Development Kit的缩写,中文意思是“软件开发工具包” ...
- SQL Server数据库中表的查
DataSet 数据集 DataAdapter 数据适配器,DataSet对象与实际数据源之间的桥梁,自动开闭数据库连接,省略Open.Close.填充数据集,需要用到Fill方法. using Sy ...
- NFV-Based Scalable Guaranteed-Bandwidth Multicast Service for Software Defined ISP Networks
文章名称:NFV-Based Scalable Guaranteed-Bandwidth Multicast Service for Software Defined ISP Networks 发表时 ...
- I2C(四)linux3.4(写代码)
title: I2C(四)linux3.4(写代码) date: 2019/1/29 17:18:42 toc: true --- I2C(四)linux3.4(写代码) 老师的参考代码 https: ...
- IPv4 forwarding is disabled. Networking will not work_问题解决
构建Docker镜像时遇见的问题,特做以下记录: 1.编辑 vi /etc/sysctl.conf 2.添加 net.ipv4.ip_forward=1 3.重启network服务 systemctl ...
- 自编译Apache Spark2.3.3支持CDH5.16.1
1 下载源代码文件 https://archive.apache.org/dist/spark/spark-2.3.3/ 2 解压后导入编辑器,修改依赖的Hadoop版本,下面截图是修改后的,要看自己 ...
- mysql并发控制之快照读和当前读
上一篇简单的介绍了下MVCC(多版本并发控制)的原理,MVCC会对事物内操作的数据做多版本控制,从而实现并发环境下事物对数据写操作的阻塞不影响读操作的性能.而这个多版本控制的实现是由undo log来 ...
- javascript浏览器事件
1. Js浏览器对象层级结构:Window 窗口对象(location地址对象.document文档对象(Form表单对象(表单控件))) 2. Window对象属性: 名称 描述 documen ...
- 【4】学习C++之内存管理
单个内存申请及释放: int *p = new int; if(p == NULL) { //内存分配失败 //异常处理 } delete p; p = NULL; 内存块的申请及释放: ]; if( ...
- C++ 常见面试题目
const作用 (1)可以定义const常量,具有不可变性. (2)便于进行类型检查.(而宏不会进行类型检查). (3)可以保护被修饰的东西,防止意外的修改. (4) 可以节省空间. static作用 ...