:set cursorline
:set nocursorline
:colorscheme desert / darkblue / evening
:set background=light / dark
:set nu
:set nonu
:set filetype 如果 filetype= 就要手动设置filetype的类型
:set filetype=java
:syntax enable
:set ruler
:set ignorecase 搜素的时候区分大小写
:set hlsearch
:set nohlsearch | :nohlsearch
:set incsearch
:set nowrapscan
:scriptnames - 查找配置文件
初步:
i a o O
删除换行符:J
u 撤销
行撤销:U
c+R 重做
ZZ 保存推出
移动:
w 下一个词词首 W
e 下一个词词尾 E
b 上一个词词首 B
ge 上一个词词尾 GE
^ 行首非空字符
0 行首字符
$ 行尾
<num>f<char> F find
<num>t<char> T to
; 命令重复 ,反向命令重复
% 括号匹配
gg
<num>G
50%
H(home) M(middle) L(last)
c+u(up) c+d(down) 半屏
c+f(forward) c+b(back) 整屏
c+e(extra) c+y 行
使用j滚动的时候,zz可以使光标留在屏幕中间 zt(最上) zb(最下)
'' 在位置上跳来跳去
c+o 跳到较老的地方 c+i跳到较新的地方
:jumps 可以找到任意你想跳到的地方
m<mark> '<mark> 做标记 然后跳过去
:marks
特殊的标记:
‘ 跳转前
“ 最后一次修改
[ 最后修改的开始位置
]最后修改的结束位置
搜索:
\是逃脱字符
/word
?word
n N
在一个单词上使用* #(反向查找),然后用n一个一个遍历
g* g#是部分匹配查找
指定词首词尾:/\<the\>
/^word$ 匹配行首和行尾
/h.E .的意思是匹配任意字符
改动:
d<num>w d<num>b
d<num>e d<num>ge
d<motion>
c和d用法一样 cc可以修改一行
x=dl X=dh
D=d$ C=c$
s=cl S=cc
. 重复最后一次的修改操作
v 进入可视模式
V 按行选择
c+v 列块模式
p(put)放置
交换两个字符:xp 想一想
y(yank) 复制
yw 复制一个单词(包含字符后的空格)
ye (不保函空格)
y<num>w y<num>e y<b> y<num>ge
yy = Y 复制一整行
y$ y0 复制到行首 行尾
文本对象:
dw 不同于 daw
caw 修改一个单词
cis (change inner sentence) 修改一个句子
cas
~ 修改光标下字符的大小写
文件:
编辑另一个文件
:edit foo.txt
:edit! foo.txt
:hide edit foo.txt
vim t1.txt t2.txt t3.txt
:next 去下一个 :next! :wnext 一个是放弃修改,一个是先保存在去下一个
我在看哪个文件?:args
:previous 去前一个 :wprevious
:last :first
编辑另外一个文件列表:
:args 4.txt 5.txt
:args *.txt
c+^ 在两个文件轮换
'" 跳转到你上次离开这个文件时候的位置
'. 跳转到你上次修改这个文件时候的位置
m<小写字母> 标记是当前文件有效的
m<大写字母> 标记是在所有文件中都起作用的,全局
mK 'K 就回去了
:marks K 查看K的位置
c+o c+i 在整个跳转系列中前后跳转
使用全局的寄存器:
"fyas 把一句话拷贝到f寄存器中
"fp 把f寄存器中的数据put上
添加到文件:
:write >> out.txt
:set backup 设置产生备份文件
:set autowrite 自动保存
:set noautowrite 不自动保存
打开只读文件
view file = vim -R filen= vim -M file
另存为:
:saveas newfile
重命名:
:file newName
分隔窗口
:split
:vsplit 在左边打开
:split otherFile 在新窗口打开其他文件
:3slplit otherFile 用三行的窗口打开一个文件
:new 打开窗口编辑一个新文件
:vertical new 垂直打开一个新窗口
c+ww 在窗口间切换
c+w hjkl 在窗口间切换
c+w HJKL 移动窗口
:close 关闭窗口
:only 关闭其他窗口
:qall 全部窗口退出
:wall 所有窗口保存
:wqall
:qall!
vim -o 1.txt 2.txt 3.txt 为每个窗口打开一个窗口
:all 把所有的文件都打开
:vertical all 如果vim已经打开了,则打开列表中所有的文件,每个文件一个窗口
更多搜索 vimdiff
vimdiff 1.txt 2.txt 显示文件差异
:tabedit aFile 标签页打开
:tab split 会新建一个tab, 但使用相同的缓冲区
gt 去某个tab
更多搜索tab模式
:edit main.c
:vertical diffsplit main.c~
打开折叠 zo zc
]c [c 跳到下一个修改点 - ??
分享到:
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
【毕业设计】java-springboot-vue交通管理在线服务系统的开发源码(完整前后端+mysql+说明文档+LunW).zip