IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vim骚操作 -> 正文阅读

[开发工具]vim骚操作

1. 普通模式(normal)

1.1 快速移动

? ? gi? 跳转到最后一次编辑的地方并进入插入模式

1.1.1 单词间快速移动

3w移到后面第三个word开头W移到下个WORD开头
2e移到后面第二个word结尾E移到下个WORD结尾
b移到上个word开头B移到上个WORD开头
ge移动到上一个word的词末gE移动到上一个WORD的词末

? ? ? ?word指以非空白符分割的单词,WORD指以空白符分割的单词

1.1.2? 行间搜索移动

3fa向后搜索并移动到第三个a字符上Fa向前搜索并移到a字符上
ta向后移到a的前一个字符上Ta向前移到a的后一个字符上
;继续搜该行的下一个,继续搜该行的上一个

1.1.3 水平移动

数字0移到行首第一个字符^移到行首第一个非空白字符
$移到行尾g_移到行尾非空白字符

1.1.4 垂直移动

4(移到前面第四个句子的开头)移到下一个句子的开头
{移到当前一段的开头}移到下一段的开头
[[移到当前这一节的开头]]移到下一节的开头
%在一对() {} [] 之间移动n+回车移到n行后的行首

1.1.5 页面移动

gg/G移动到文件开头/结尾H/M/L跳到屏幕开头/中间/结尾
ctrl+u/f上下翻页ctrl+o快速返回
zt/zz/zb把光标所在行放到屏幕顶部/中间/底部30%移到文件内容30%处

1.2 删除

2x删除光标处开始后面的两个字符3X删除光标前的3个字符
daw删除光标所在单词(不保留空格)diw删除光标所在单词(保留空格)
d0删除光标到行首d$删除光标到行尾
J删除光标所在行的换行符,与下一行合并dt)删除当前位置到)前的内容?

1.3 修改

r替换单个字符R持续替换
ra将光标所在字符替换成a~改变光标所在字符的大小写
cw删除单词光标之后的部分并进入插入模式cb删除单词光标之前的部分并进入插入模式
cc/S删除一整行(保留换行符)并进入插入模式xp交换光标所在字符和下一个字符的位置
s删除当前字符并进入插入模式u撤回上一步操作

1.4? 查询

/或者?向后/前搜索n/N跳到下/上一个匹配
*/#快速向前/后搜索光标所在单词并高亮显示

1.5 复制粘贴

?复制==>y(yank),粘贴==>p(put)?

y2w复制两个单词2yy复制光标所在行及其下一行
y$复制光标处到行尾的内容y0复制光标到行首的内容

2. 编辑模式(insert)

? ? ctrl+h ? 删除上一个字符
? ? ctrl+w? ?删除上一个单词
? ? ctrl+u ? 删除当前行

3. 命令模式(command)

替换 :[range]s[ubstitute]/{pattern}/{string}/[flags]
? ? ? ? ?range为替换范围 10,20 表示10-20行,%表示全部 ? ? ?
? ? ? ? ?pattern要替换的模式,支持正则 \<word\>可精准匹配word ?string是替换后文本
? ? ? ? ?flags为替换标志位 g(global)全局范围,c(confirm)替换前确认,n(number)仅统计匹配次数
:r! echo % 插入正在编辑的文件名
:r! echo %:p 插入正在编辑的文件名的绝对路径

:s/old/new将当前行的第一个old替换为new:s/old/new/g将当前行的所有old替换为new
:90s/old/new/g将指定行的所有old替换为new:90,93s/old/new/g将指定范围内所有old替换为new
:%s/old/new/gc依次替换每个字符串关键字:%s/^struct/int/g将所有以struct开头的字符串替换为int
:set hls设置高亮显示

4. 可视模式(visual)

? ? v? ? ? ? ? ? 连续字符选择
? ? V? ? ? ? ? ?连续行选择
? ? ctrl+v? ? ?块状选择

5. 模式切换

5.1 normal ==> insert

i插入到光标所在字符前I插入到行首第一个非空白字符前
a插入到光标所在字符后A插入到行尾左后一个字符后
o光标所在行的下一行新增空白行O光标所在行的上一行新增空白行
s删除光标所在处的字符并开始编辑S删除光标所在行并开始编辑

5.2 insert ==> normal

? ? ① Esc? ? ?② ctrl+c? ? ?③ ctrl+[

6 寄存器

无名寄存器-"" 缺省使用 ?使用d删除或者y复制的内容默认放到"无名寄存器" ??
深入寄存器(register)-"{register} 指定寄存器而不使用无名寄存器 ? 可以指定a-z为寄存器名
? ? "ayiw复制一个单词到寄存器a中?"bdd删除当前行到寄存器b中 ?:reg a 可以查看寄存器a的内容
? ? 复制专用寄存器-"0 文本同时被复制到无名寄存器""和复制寄存器0
? ? 系统剪贴板-"+ ?将内容复制到系统剪贴板,可以在除了vim外的其它地方粘贴 :echo has('clipboard')返回1表示支持此功能 ?:set clipboard=unnamed可以直接复制粘贴系统剪贴板的内容
? ? 其他寄存器 当前文件名-"% ? ?上次插入的文本-".

7 vim补全

? ?ctrl+n/p补全单词 候选列表出现时ctrl+n继续选择下一个 ctrl+p继续选择上一个
? ?ctrl+x/f补全文件名
? ?crtl+x/o补全代码(需要开启文件类型检查,安装插件)

8 vim换配色

? ? :colorscheme crtl+d 显示配色 ? 也可以网上搜索vim colorscheme选择其它的配色方案?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:33:21  更:2021-08-05 17:34:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 9:22:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码