Vim编辑器

文本编辑器 , 字处理器
ASCII
vi:Visual Interface
vim :VI iMproved

全屏编辑器,模式化编辑器
vim 模式:
编辑模式(命令模式)
输入模式
末行模式

模式转换:
编辑模式-->输入模式:
i : 在当前光标所在的字符的前面,转为输入模式
a : 在当前光标所在的字符的后面,转为输入模式
o :在当前光标所在行的下方,新建一行,并转为输入模式

I : 在当前光标所在行的行首,转为输入模式
A : 在当前光标所在行的行尾,转为输入模式
O : 在当前光标所在行的上方,新建一行,并转为输入模式

输入模式--> 编辑模式
ESC

末行模式-->编辑:
ESC,ESC

一 : 打开文件
#vim /path/to/somefile
vim +#: 打开文件,并定位于第#行
vim + :打开文件,定位于最后一行
vim + /PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行首

默认处于编辑模式

二: 关闭文件 `
1 末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存退出
:w 保存
:w! 强行保存
:wq -->x

2 编辑模式下退出
ZZ:保存并退出

三 移动光标
1 逐字符移动:
h:左
l:右
j:下
k:上
#h:移动#个字符:
2 逐单词移动
w: 移至下一个单词的词首
e: 移至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w
3 行内跳转:
0:跳至绝对行首
^: 跳至行首的第一个非空白字符
$: 跳至绝对行尾
4 行间跳转
#G: 跳转至第#行
G:最后一行
末行模式下,直接给出行号即可

四 翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏

五 删除单个字符
X: 删除光标所在处的单个字符
#X:删除光标所在处及向后的共#个字符

六 删除命令:d
d 命令跟跳转命令组合使用:
#dw.#de,#db

dd: 删除当前光标所在行
#dd 删除包括当前光标所在行内的#行

末行模式下:
startadd,endadd 删除第start行到第end行中间的行
.: 表示当前行
$: 表示当前行
+$:向下的#行

七 粘贴命令:p
p:如果删除或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在的字符的后面;
P:如果删除或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在的字符的前面;

八 复制命令 y
用法同d

九 修改: 先删除内容,再转换为输入模式
c:用法同d命令

十 替换 :r
R 替换模式

十一 撤销编辑操作
u:撤销前一次的编辑操作
连续u命令 可撤销此前的n次操作
#u : 直接侧小最近#次编辑操作
Ctrl + r :撤销最近一次测消操作

十二 重复前一次编辑操作
.

十三 可视化模式
v:按字符选取
V:按矩形块选取

十四 查找
/PATTERN
?PATTERN
n
N

十五 查找并替换
在末行模式下使用s命令(用法同sed命令)
ADDR1,ADDR2s@PATTERN@string@gi
1,$ :表示第一行到行尾(表示全文)
%: 表示全文

十六 使用vim 编辑多个文件
vim file,file2,file3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件

十七 分屏显示一个文件
Ctrl +w,s:分屏拆分窗口
Ctrl +w,v:垂直拆分窗口

在窗口间切换光标
Ctrl+w,ARROW(箭头)
:qa 关闭所有窗口

十八 分窗口编辑多个文件
vim -o : 水平分割显示
vim -O :垂直分割显示

十九 将当前文件的部分内容,另存为另一个文件
末行模式下使用W命令
:w
:ADDR1,ADDR2w/path/to/somewhere

二十 将另一个文件的内容填充在当前文件中
:r /path/to/somewhere

二十一 跟shell交互
:! COMMAND

二十二 高级应用
1 显示或取消取消显示行号
:set number -->set nu
:set nonu

2 显示忽略或区分字符大小写
:set ignorecase --> set ic
:set noignorecare --> set noic

3 设置自动缩进
:set autoindent --> set ai
:setnoai

4 查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch

5 语法高亮
:syntax on
:syntax off

二十三 配置文件
/etc/vimc
~/.vimrc

Vim 命令常用功能详解的更多相关文章

  1. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  2. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

  3. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  4. [ kvm ] 学习笔记 6:virsh 命令及功能详解

    1. 虚拟机管理操作 attach-device 从XML文件附加设备 attach-disk 附加磁盘设备 attach-interface 连接网络接口 autostart 自动启动一个域 blk ...

  5. fiddler抓包常用功能详解

    一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...

  6. WebService开发常用功能详解

    一.WebService中常用的属性(Attributes)1. Web Service(Web服务)提供以下三个属性.    Namespace:此属性的值包含 XML Web Service的默认 ...

  7. (数据科学学习手札21)sklearn.datasets常用功能详解

    作为Python中经典的机器学习模块,sklearn围绕着机器学习提供了很多可直接调用的机器学习算法以及很多经典的数据集,本文就对sklearn中专门用来得到已有或自定义数据集的datasets模块进 ...

  8. JMeter5.1企业级应用应用常用功能详解(含插件安装)

    apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.jmeter可以模拟大量的服务器负载,并且jmeter提供图形化的性能分析. JM ...

  9. Linux常用命令及部分详解

    1.总结部分 常用指令 ls      显示文件或目录 -l            列出文件详细信息l(list) -a            列出当前目录下所有文件及目录,包括隐藏的a(all) m ...

随机推荐

  1. 洛谷 题解 P5015 【标题统计】 NOIP2018 普及组 T1

    没有人用 scanf("%c", &ch) != EOF 吗? scanf 和 EOF 会伤心的. 思路:逐个读入字符,遇到EOF中止,对于每个读入的字符进行判断. 附上考 ...

  2. Python流程控制之分支结构

    目录 if/else结构 多重if结构 嵌套if结构 练习 if/else结构 if如果,else否则 # java if(){ }else{ } # python if 条件: 语句 else: 语 ...

  3. 基于RT-Thread的开源飞控StarryPilot

    背景描述 近年来无人机应用市场日趋火热,无人机开始被应用在多个领域之中,比如航拍,植保,运输,安防等.随着应用场景的增加,对于无人机的大脑一飞控,的性能和功能要求也变得越来越高.国内具有一大批优质的无 ...

  4. 使用Vim编辑器,如何退出

    我们输入“冒号”,即":"(不需双引号),在下方会出现冒号,等待输入命令,我输入的是WQ.功能如下. W:write,写入 Q:quit,退出 再回车,就保存退出了 其实,保存退出 ...

  5. docker-compose编排参数详解

    一.前言 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配置中创建并启动所有服务. C ...

  6. yum换源,rpm包下载,源码包安装

    一.yum更换源 yum自带源地址一般斗是国外的,可能下载速度略慢,我们可以自己换成国内的源,比如163等.比如配置163的yum源:1.先删除默认源文件dvd.repo # rm -f /etc/y ...

  7. django生命周期请求l流程图

    django思维导图链接:https://www.processon.com/view/link/5dddb0f8e4b074c442e5c68c

  8. 记录我的 python 学习历程-Day08 文件的操作

    文件操作的初识 用 python 代码对文件进行各种操作. 基本构成: 文件路径:path 打开方式:读.写.追加.读写.写读-- 编码方式:utf-8 / gbk / gb2312-- f = op ...

  9. scrapy框架(二)

    scrapy框架(二) 一.scrapy 选择器 概述: Scrapy提供基于lxml库的解析机制,它们被称为选择器. 因为,它们“选择”由XPath或CSS表达式指定的HTML文档的某部分. Sca ...

  10. JVM系列二(垃圾收集算法).

    一.标记-清除算法(Mark-Sweep) 这种算法分为"标记"和"清除"两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象. Mar ...