Linux学习笔记(十二)VIM编辑器
一、概述
VI
Visual interface 可视化接口,类似于Windows中的记事本
VI->VIM
操作模式:
(1)Command mode 命令模式
(2)Insert mode 输入模式
(3)Last line mode 底行模式(尾行、末行)
二、基本
vim [文件名]
进入Vim编辑器,若文件不存在则自动创建并打开
进入默认处于命令模式,等待用户输入命令
键入 i 进入Insert模式
ESC 键退出Insert模式
使用:wq 再按enter键保存退出
三、Vim的命令格式
vim + 文件名:打开文件,光标定位到最后一行
vim +3 文件名:打开文件,光标定位到第3行
vim +/xxx 文件名 :打开文件,光标定位到xxx第一次出现的行,可以通过 n 键,在几次出现xxx的地方进行切换
vim aa bb cc :同时创建并编辑多个文件,在底行模式可以通过键入 :n 向下切换编辑文件(aa->bb->cc的向下顺序), :N 或者 :prev 向上切换编辑文件(cc->bb->aa的向上顺序)
四、底行模式常用指令
:w 保存修改
:q 退出文件
:! 强制执行
:wq 保存修改直接退出
:q! 放弃修改的内容强制退出
:ls 列出编辑器中打开的所有文件
:n 切换后一个文件
:N 切换前一个文件
:15 把光标快速定位到第15行,15可替换为任意合法数字
/xxx 从光标位置向后搜索xxx这个字符串,匹配第一次出现位置并把光标定位至该位置
?xxx 从光标位置向前搜索xxx这个字符串,匹配第一次出现位置并把光标定位至该位置
五、命令模式下常用指令
h 光标左移动
j 下
k 上
l(L) 右
Ctrl+F 向下翻页(front)
Ctrl+B 向上翻页(back)
Ctrl+D 向下半翻页(down)
Ctrl+U 向上半翻页(up)
dd 删除光标所在行
o 在光标所在行的下方插入一行并进入输入模式
yy 复制光标所在行
p (小写)在光标所在行的下方粘贴
P (大写)在光标所在行的上方粘贴

Linux学习笔记(十二)VIM编辑器的更多相关文章
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Linux学习笔记(二)——文件/目录/VIM
文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了.至于Vim编辑器,不得 ...
- java jvm学习笔记十二(访问控制器的栈校验机制)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...
- Linux学习笔记之二
vim编辑器 :三种工作模式 vim /tmp/xueying.txt 命令模式 a.i.o/esc \ :wq 保存并退出 / \ 输入模式 ...
- (C/C++学习笔记) 十二. 指针
十二. 指针 ● 基本概念 位系统下为4字节(8位十六进制数),在64位系统下为8字节(16位十六进制数) 进制表示的, 内存地址不占用内存空间 指针本身是一种数据类型, 它可以指向int, char ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- Linux学习笔记之十二————vim编辑器的分屏操作
一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...
随机推荐
- ant design Table合并单元格合并单元格怎么用?
1.ant design table合并单元格怎么用?
- leetcode1105 Filling Bookcase Shelves
思路: dp[i]表示摆放好前i本书所需要的最小代价. 实现: class Solution { public: int minHeightShelves(vector<vector<in ...
- TCP使用
TCP使用注意事项总结 目录 发送或者接受数据过程中对端可能发生的情况汇总 本端TCP发送数据时对端进程已经崩溃 本端TCP发送数据时对端主机已经崩溃 本端TCP发送数据时对端主机已经关机 某个连 ...
- 读取json数据封装
前言:做自动化常用公共方法 import json class ReadJson(): def __init__(self): self.data = self.read_data() #读取JSON ...
- docker管理工具lazydocker
docker管理工具lazydocker 简介 这是一个为了能再终端中更方便管理docker的工具 项目地址 https://github.com/jesseduffield/lazydocker 安 ...
- vue+element-ui动态生成多级表头,并且将有相同字段下不同子元素合并为同一个
element表头要多层生成,下一级表头数据源必须是当前表头的子一级,这样一层一层嵌套可以生成多层表头: 要把数据处理成这种类型的数据 var arr = []; for (var key in ob ...
- hadoop在eclipse当中如何添加源码?
[学习笔记] /*org.apache.hadoop.mapreduce.Mapper.Context,java.lang.InterruptedException,想看map的源代码,按contro ...
- 【LOJ】#3020. 「CQOI2017」小 Q 的表格
#3020. 「CQOI2017」小 Q 的表格 这个的话求出来\(g = gcd(a,b)\) 会修改所有gcd为g的位置 我们要求\((g,g)\)这个位置的数一定是\(g^{2}\)的倍数 之后 ...
- java源码--Map
Map接口 用于保存具有映射关系的数据结构,实现该接口的类可以通过键来获取对应的值.. 可以将给定一个键值对存储在Map接口的实现类实例中,如:map.put("key", &qu ...
- Mysql主从复制原理及同步延迟问题
本文转载自:Mysql主从复制原理及同步延迟问题 主从复制解决的问题 数据分布:通过复制将数据分布到不同地理位置 负载均衡:读写分离以及将读负载到多台从库 备份:可作为实时备份 高可用性:利用主主复制 ...