【NLP工具】Vim常用命令小结
Vim是解决文本快速处理(尤其是服务器端)的神器,本文简单总结下常用的命令。
1. 基本概念和功能
1.1 模式及其切换
Vim中包括如下常见模式“
普通模式:Vim启动后的默认模式,可用于光标的移动、文本的删除等。
插入模式:向文本中插入字符。
可视化模式:用于区块选择,可通过v
一类的命令进入
命令行模式: 在命令行内输入命令。在其它模式下,通过ESC
进入命令行模式。
1.2 界面设置
:set number
显示各行行号, set nonumber
取消该功能
:set list
显示制表符和行末, set nolist
取消该功能
:set fileencoding
查看当前文件编码
:e ++enc=gb18003
强制采用某种编码重新打开本文档(临时的)
1.3 文件保存和退出
:w
保存文件但不退出vim
:w file
将修改保存到file,但不退出vi
:wa
或ZZ
或:x
保存文件并退出vi
"q!
不保存文件,退出vi
:e
! 放弃所有修改,并从上次保存文件开始再编辑
2. 选择区块
通过光标移动选择指定的字符区间/行/区块,是实现其它复杂操作的基础。
2.1 光标行内移动
->
或l
向右逐字符移动
<-
或h
左箭头,向左逐字符移动
w
下一个单词的开头, 可实现跨行
e
下一个单词的结尾,可实现跨行
b
上一个单词的开头, 可实现跨行
^
行首(第一个非空字符)
$
行末(最后一个非空字符)
0
或|
:当前行的第一列
2.2 光标跨行移动
向上箭头
或k
向上一行
向下箭头
或j
向下一行
数字+向上/下箭头
向上/下移动数字行
+
或Enter
键 下一行的第一个非空字符
-
上一行的的第一个非空字符
H
: 屏幕第一行
M
: 屏幕中建行
L
: 屏幕最后一行
(
: 句子的开头
)
: 句子的结尾
{
: 段落的开头
}
: 段落的结尾
ctrl+f
向前翻页
ctrl+b
向下翻页
gg
第一行
G
最后一行
数字+%
文档的 数字%处
2.3 指定文本定向查找
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
/text
命令行模式下输入,从文本从头开始,向下寻找目标字符串,最终定位到字符串所在行第一个非空字符
?text
命令行模式下输入,从文本从尾开始,向上寻找目标字符串,最终定位到字符串所在行第一个非空字符
n
: 配合前面的/text
和?text
使用,向同一方向寻找下一个。
N
: 配合前面的/text
和?text
使用,向相反方向寻找下一个。
查找功能还支持正则表达式,如^$
选择空行。
2.4 可视化模式
v
字符可视化模式,文本选择以字符为单位,跨行选择时前序行会被全部选中。
V
行可视化模式,文本选择以行为单位,直接选择所在所在行,
ctrl+v
块可视化模式,文本选择以矩形区块为单位,通过指定矩形左上角和右下角点,定义所选区块,特别适用于选择表格列等场景。
3. 插入模式
3.1 进入插入模式
i
在光标所在位置处进入插入模式(效果类似于左侧插入)
I
在光标所在行行首进入插入模式
a
在光标所在位置右边进入插入模式(效果类似于右侧插入)
A
在光标所在行行尾进入插入模式
o
在光标所在行下,插入新的一行进入插入模式
O
在光标所在行上,插入新的一行进入插入模式
s
删除光标所在字符,并进入插入模式
S
删除光标所在行,并进入插入模式
3.2 复制和剪切
yy
将当前行的内容复制到临时缓冲区
nyy
将第n行的内容复制到临时缓冲区
x
剪切
p
将临时缓冲区内的文本粘贴到光标后
P
将临时缓冲区内的文本粘贴到光标前
3.3 修改
c
: 可视化模式选择高亮指定文本后,使用c
即可删除指定文本,同时进入插入模式
rchar
: 用 char 替换当前字符(注意是单个字符)
R text ESC
: 用 text 替换当前字符直到按下 Esc 键
3.4 删除
d
: 删除,注意删除后的文本是在剪切板里的,所以仍可将其进行p
操作
db
: 删除光标前面的word
dw
: 删至下一个字的开头
d^
: 删除光标至行首
dw
: 删除光标至行末
dd
: 删除一行
dG
: 从当前行一直删至文件结束
数字+dd
: 删除光标起的若干行
:m,nd
: 删除第m-n行,其实这是进入命令行模式后的删除,此处的m和n可以采用数字表示绝对行号,也可以采用+m
表示从本行开始往下的第m
行(+0表示本行),-m
同理
3.5 缩进
>
增加光标区域所在行的缩进
<
减少光标区域所在行的缩进
3.5 撤销与反撤销
u
撤销上一步操作
U
撤销当前行的所有修改
ctrl+r
恢复上一步被撤销的操作
3.6 插入新文本
:r file
读入文件 file 内容,并插在当前行后
:nr file
读入文件 file 内容,并插在第 n 行后
3.7 批量替换
:ranges/oldtext/newtext/g
全文范围内,用newtext 替换 oldtext
:m,ns/oldtext/newtext
第m-n行范围内,用newtext 替换 oldtext,这里的m和n除了用绝对行号,还可以使用相对行号
:g/text1/s/text2/text3
全文范围内,查找包含 text1 的行,用 text3 替换 text2,
:g/text/command
上一条命令的通用版本,在所有包含 text 的行运行 command 所表示的命令,这里的g可以改为指定行区间
:v/text/command
上一条命令的反向命令,即所有不包含 text 的行运行 command 所表示的命令,这里的g可以改为指定行区间
【NLP工具】Vim常用命令小结相关推荐
- Linux下实用工具Vim常用命令总结
vi有输入和命令两种工作模式.输入模式用于输入.命令模式则是用来运行一些编排文件.存档以及离开vi等操作命令.当执行vi后,首先进入命令模式,此时输入的任何字符都被视为命令. vi默认是命令模式,在命 ...
- [Window] Windows批处理(cmd/bat)常用命令小结
目录 Windows批处理(cmd/bat)常用命令小结 什么是批处理? 批处理命令简介 批处理符号简介 常用DOS命令 Windows Batch 常用命令 Windows批处理(cmd/bat)常 ...
- Linux常用命令小结(间歇性更新纠正)
Linux的常用命令小结 参考:全文是关于根据菜鸟教程."兄弟连细说Linux"等教程资料学习的部分知识点记录. ssh 端口:22 ftp 端口:20(用于传输数据) 21(用于 ...
- 数据包构造分析工具Hping3常用命令集合大学霸IT达人
数据包构造分析工具Hping3常用命令集合大学霸IT达人 Hping是一个命令行下使用的TCPIP数据包组装分析工具.该工具的命令模式很像Unix下的ping命令.它不止能发送ICMP回应请求,还支持 ...
- 基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人
基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人 ARP是将IP地址转化物理地址的网络协议.通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机.netdisc ...
- 批量探测工具fpingping常用命令集合大学霸IT达人
批量探测工具fpingping常用命令集合大学霸IT达人 批量探测工具fpingping是各个系统自带的基于ICMP协议的主机探测工具.但该工具一次只能检测一个主机,不满足渗透测试批量探测的需要.fp ...
- ARP探测目标工具arping常用命令集合大学霸IT达人
ARP探测目标工具arping常用命令集合大学霸IT达人 ARP协议是一种将IP地址转化物理地址的协议.通过ARP请求包和响应包,可以判断一个IP地址是否在使用.同理,通过该协议可以探测局域网主机是否 ...
- Wifitap是一个WiFi注入工具集常用命令集合大学霸IT达人
Wifitap是一个WiFi注入工具集常用命令集合大学霸IT达人 该工具集允许任何应用程序都可以发送和接收IP数据包,使用802.11流量捕获和注入,并通过WiFi网络简单配置接口wj0.Wifita ...
- 无线密码离线破解工具Pyrit常用命令集合大学霸IT达人
无线密码离线破解工具Pyrit常用命令集合大学霸IT达人 Pyrit是一款可以使用GPU加速的无线密码离线破解工具.该工具提供了大量的命令,可以用来实现不同的功能.使用Pyrit工具中的命令,可以通过 ...
最新文章
- ListT随机返回一个
- WebViewJavascriptBridge原理解析
- spring-boot环境搭建
- [POJ1741]Tree
- 跟我一起学Redis之Redis持久化必知必会
- javaone_JavaOne 2015 –第二十版十大收获
- 依赖管理和Maven
- 用pyqt5做一个能python程序能插入图片的ide
- 社区智慧+机器智能=奇虎经验的知识机器人
- spark之常见的机器学习算法
- 2 机器学习基本概念
- 《经济机器是怎样运行的》笔记(一)
- android7.1.2安装包,APK.1文件安装器下载-APK.1安装:微信APK安装器下载1.7 安卓版-西西软件下载...
- C++面向对象(1):防卫式声明
- 数据对接利用hutool工具类进行xml解析,xml转换成map,然后进行数据入库
- 智能体的奇幻漂流之“成都折叠”篇
- win10进入安全模式和退出安全模式
- spark python_Python、流、SQL 有更新!耗时两年,Spark 3.0 重磅发布!
- SRPG游戏开发(五十三)第十一章 地图动作与地图事件 - 二 地图剧情(Map Plot)
- 微特技术钢丝绳探伤仪自动监测系统功能概述