情感视频素材网站品牌型网店
web/
2025/10/7 0:35:41/
文章来源:
情感视频素材网站,品牌型网店,哈什么网一个网站做ppt,如何建设dj网站背景#xff1a;最近在重新学习vi/vim#xff0c;发现这个编辑器的用法真是太灵活了#xff0c;所能掌控的也太多了#xff0c;这次学习了一些之前没有学习过的内容#xff0c;之前都是移动鼠标、编辑、复制、粘贴、保存等等(点我查看)#xff0c;本次将介绍 标签、区域、…背景最近在重新学习vi/vim发现这个编辑器的用法真是太灵活了所能掌控的也太多了这次学习了一些之前没有学习过的内容之前都是移动鼠标、编辑、复制、粘贴、保存等等(点我查看)本次将介绍 标签、区域、跳转、选项页、收缩/展开代码、文件浏览等。
1.标签marks
标签用于记录你当前光标的位置这样有利于你快速返回到某个位置但这种标签不会在屏幕上显示。文件内部的区域可以使用a-z多个文件的区域可以使用A-Z还有一些特殊的标签例如反向跳或向回跳使用两个单引号即可
比如我们直接在某个文件的某一行mA,然后:q 然后输入vim后然后按 A即可打开原来的文件。
我们可以使用a-z在某个文件中做标签marks
CommandDescriptionma在当前光标所在地方进行标记在m是marks的缩写而这个标记是aa跳到a标记这行的首字母的位置这是和反引号a 的主要区别a跳到a标记这行的那一列的位置例如之前标记了第二行第三列此时会回到第二行第三列da删除从当前行和a标记的那个行的整个区域包括当前行和a所指向的那行即当前行-a标记的行的区域或从a标记的行 到 当前行的区域da删除从当前行当前列 到 a标记的那个行那个列的整个区域或从a标记的那个行那个列到 当前行当前列 ca改变从当前行到a标记的那一行的内容亦或是从a标记的那一行到当前行的内容然后输入变更的文字即可ca改变从当前行当前列 到a标记的那一行那一列的内容然后输入变更的文字即可ya复制当前行到a标记的那一行的内容或a标记的那一行到 当前行ya复制从当前行当前列 到a标记的那一行那一列的内容或从 a标记的那一行那一列到当前行当前列:marks查看所有标记]下一个标记的那一行的行首[上一个标记] 下一个标记的那一行那一列[ 上一个标记的那一行那一列
上面是以a标记进行举例同理a-z都适用
特殊标记
.跳转至当前文件的最后被修改的那一行跳转至当前文件上一次退出的那一行0跳转至上一次已退出的文件的 被修改的那一行跳转至上一个位置的那一行跳转至上一个位置的那一行那一列[ or ]跳转到被修改或被复制的区域的开头或末尾 or 跳转至可视化选项的开头或末尾
删除标记 :delmarks或:delm命令其实并不需要删除只需要重新定义即可即ma或等等
CommandDescription:delm a删除标记 a:delm a-d删除标记 a, b, c, d:delm abxy删除标记 a, b, x, y:delm aA删除标记 a, A:delm!删除当前buffers中的所有a-z的标记 2. 区域 可视化选择模式下选择区域的开始的地方 可视化选择模式下选择区域的结束的地方
例如
v进入可视化按字符的选择模式然后j或l进行选择此时输入 : 会在底部看到, 代表当前选择的一个区域
:,d //对所选区域进行删除
:,w abc.txt //对所选区域如没有文件则新建文件并写入如存在文件则进行强行写入到abc.txt文件中或追加到abc.txt
:,w! abc.txt 强制写入到abc.txt
:,w abc.txt 追加到abc.txt
:,s/old/new/g //对所选区域进行替换由old替换为new
:1,10s/old/new/g //对第一行到第十行进行替换由old替换为new
:s/old/new/g //对当前行进行替换由old替换为new
:%s/old/new/g //对所有的行进行替换由old替换为new
:w my.txt //默认是将所有行写入到my.txt中
:a,bs/old/new/g //对标签a到标签b的区域进行替换由old替换为new
:a,bd //对标签a到标签b的区域进行删除
:a,bw abc.txt //对标签a到标签b的区域进行写入到abc.txt
:a,bw abc.txt //对标签a到标签b的区域进行追加到abc.txt
RangeDescriptionExample21第21行:21s/old/new/g1第一行:1s/old/new/g$最后一行:$s/old/new/g.当前行:.w single.txt%所有行:%s/old/new/g21,25从第21行到第25行:21,25s/old/new/g21,$从第21行到最后一行:21,$s/old/new/g.,$从当前行到最后一行:.,$s/old/new/g.1,$从当前行的下一行到最后一行:.1,$s/old/new/g.,.5从当前行到当前行后的5行:.,.5s/old/new/g.,.5同上从当前行到当前行后的5行:.,.5s/old/new/g:1,.-1d删除第一行到当前行的前一行的内容:.1,$d删除当前行下一行到最后一行的内容:21,25co 30复制第21行到第25行到第30行:21,25m 30移动第21行至第25行到第30行:g/old/列出匹配old的所有行
3.跳转
在单个文件中进行跳转这些跳转信息保存到jumplist中是一个栈可以通过:jumps查看栈中的跳转信息。
ctrl-o 将光标向上跳
ctrl-i 将光标向下跳或使用tab键
:jumps 查看跳转列表
:clearjumps 清除跳转列表
注意 普通的hjkl不会被记录到jumplist中同时 底部输入命令: 42回车像这种也不会被记录到jumplist中而是 nG会被记录例如 42G 转到第42行
还有哪些能修改jumplist呢
第一种是 搜索或查找 /pattern 从当前行向下面查找 或 ?pattern从当前行向上面查找
第二种是 *或#用于查找当前这个词汇*向下进行查找#向上进行查找
第三种是 % 可以在大括号、中括号之间进行跳转
第四种是Any inter-file navigation like gf
4.选项页
vim -p abc.txt xyz.txt 同时在不同的标签中打开多个文件
:tabnew // 创建一个新的空白的未命名的标签
:tabnew filename // 在标签中打开一个filename文件
:tabe[dit] filename // 在一个新的选项卡打开filename文件
:tabf[ind] filename // 在一个新的选项卡找filename然后打开filename
:tabnext // 切换到下一个选项卡或快捷键gt
:tabprev // 切换到上一个选项卡或快捷键gT
:tabfirst // 切换到第一个选项卡
:tablast // 切换到最后一个选项卡
:tabclose // 关闭当前选项卡
:tabc[lose] n // 关闭选项卡n从1开始tabc是缩写
:ntabc // 或是先输入 n 然后关闭选项卡
:tabo[nly] // 只保留当前选项卡关闭其他选项卡
ngt // 切换到第n个选项卡无需输入:从1开始
:tabs // 查看所有的选项卡
:tabm[ove] n // 将当前选项卡移动到第n个位置
:help tab-page-intro
:tabdo %s/foo/bar/g 5. 收缩/展开代码 收缩或展开代码的首字母都是z从一侧看起来像折叠的报纸这是为什么z开头。
折叠fold是一个记号用于标记从哪一行开始到哪一行结束的区域为折叠fold使用zf命令进行定义。
一共分为 6 种不同的折叠方式一般默认是 手动manual 进行折叠的这种方式。
zd 移除当前光标的折叠zD 递归的删除当前光标的折叠zE 移除所有的折叠zo 打开当前光标的折叠可以看到当前的代码zc 关闭当前光标的折叠代码将会被折叠无法看到zR 打开所有的折叠可以看到全貌的代码zM 关闭所有的折叠可以看到最简化的文件za 对当前光标的进行打开fold和关闭fold的toggle开关zO 递归的打开当前光标的折叠zC 递归的关闭当前光标的折叠
我们可以输入命令
: 1,10fold // 选择从第一行到第十行进行折叠
: 1,10foldo[pen] // 从第一行到第十行将折叠进行打开可以看到代码
: 1,10foldc[lose] // 从第一行到第十行将折叠进行关闭将代码进行折叠
或 通过 可视化方式 v或V或C-v进行选择然后 zf 即可。
或 zfj // 将当前行和下一行手动设置为 折叠
或 zf10j // 将当前行和以下10行手动设置为 折叠
或 zfa // 将当前行到a标记的行 手动设置为 折叠 6.NerdTree
安装NerdTree我是在vim8版本及以上进行安装
git clone https://github.com/preservim/nerdtree.git ~/.vim/pack/vendor/start/nerdtree
vim -u NONE -c helptags ~/.vim/pack/vendor/start/nerdtree/doc -c q
然后再.vimrc 中设置快捷键
nnoremap C-t :NERDTreeToggleCR
这样C-t就能快速呼出NerdTree而不用手动再输入:NERDTreeToggle了。
C-wh 光标向左移动
C-wl 光标向右移动
C-ww 光标左右移动 显示帮助信息
分为 文件节点、目录节点、标签、目录树导航、文件系统、树过滤、其他快捷键 参考文献
1. Vim documentation: fold
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88186.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!