关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程教程 > 技术文章 > 正文

Vim太难用?一篇超详细的Vim常用技巧,新手小白也能轻松玩转

guanshanw 2023-08-22 02:57 98 浏览 0 评论

VIM 是 Linux 系统上一款文本编辑器,它是操作 Linux 的一款利器。当前有很多优秀的 IDE 都支持安装 VIM 插件,原因就是使用它便捷,高效,很爽
本文精心整理了 VIM 的一些常用的使用技巧,方便大家随时查阅学习 。

1. 常用命令

编辑

以下命令在命令模式执行

  • i,a,r:在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace)
  • O,o:在当前行前面,后面插入一空行
  • cw,dw:改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete)
  • x,d$,dd:删除光标处,光标之后,光标所在行的字符

光标移动

  • k,j,h,l:分别上下左右移动光标
  • Ctrl+f,Ctrl+b:分别向下,向上翻页
  • n:敲数字然后回车,光标往后移动 n 行
  • nG:使得光标跳动到指定行
  • w,b:使光标向前或向后跳过一个单词
  • ma,mb,mc:光标移动到起始行,结束行,粘贴行
  • w或W:光标右移一个字至字首
  • b或B:光标左移一个字至字首
  • e或E:光标右移一个字至字尾
  • (,):光标分别移至句首,句尾
  • {,}:光标分别移至段落开头,结尾
  • H,M,L:光标移至屏幕顶行,中间行,最后行
  • 0:(注意是数字零)光标移至当前行首
  • $:光标移至当前行尾

删除

  • ndw 或 ndW:删除光标处开始及其后的n-1个字
  • do:删至行首
  • d$:删至行尾
  • ndd:删除当前行及其后n-1行
  • x 或 X:删除一个字符,x删除光标后的,而X删除光标前的
  • Ctrl+u:删除输入方式下所输入的文本
  • n1,n2 d:将n1行到n2行之间的内容删除
  • %d:删除全部内容
  • 1,$d:删除全部内容

查找

  • /abc:从光标开始处向文件尾搜索abc
  • ?abc:从光标开始处向文件首搜索abc
  • /\/abc:从光标开始处向文件尾搜索/abc,其中/是转义
  • n:在同一方向重复上一次搜索命令
  • N:在反方向上重复上一次搜索命令

替换

  • s/vivian/sky/:替换当前行第一个 vivian 为 sky
  • s/vivian/sky/g:替换当前行所有 vivian 为 sky
  • n,$s/vivian/sky/:替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
  • n,$s/vivian/sky/g:替换第 n 行开始到最后一行中每一行所有 vivian 为sky
  • %s/vivian/sky/g:(等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky
  • s#vivian/#sky/#:替换当前行第一个 vivian/ 为 sky/(可以使用 #或+作为分隔符,此时中间出现的 / 不会作为分隔符)
  • s/p1/p2/g:将当前行中所有p1均用p2替代
  • n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
  • g/p1/s//p2/g:将文件中所有p1均用p2替换

复制粘贴

  • yy:复制当前行
  • nyy:复制当前行开始的n行
  • 先按 v 然后方向键选择区域,按 y 复制选中行
  • dd:剪切当前行
  • p(小):在当前光标处下面粘贴内容。
  • P(大):在当前光标处上面粘贴内容
  • n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
  • n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

常用选项

编辑器选项

  • set number:显示行号
  • set number!:不显示行号,其它选项同理加!号
  • set all:列出所有选项设置情况
  • set ignorance:在搜索中忽略大小写
  • set list:显示制表位(Ctrl+I)和行尾标志($)
  • set warn:在转到别的文件时若没保存当前文件则显示NO write信息
  • set nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
  • set mesg:允许vi显示其他用户用write写到自己终端上的信息

编辑器保存

  • :wq :保存并退出
  • :q! :不保存退出
  • :w :保存更改
  • U:撤销更改
  • Ctrl+r:重做,用于撤销的更改恢复

VIM 的学习重在实践,需要经常复盘,时间久了,也就有了使用 VIM 的技能。文中提到的操作都是 VIM 常用的基本操作,VIM 还可以针对个人需求进行各种插件的安装,针对不同开发语言都有相应的插件支持。

另外,今天再免费分享给大家一份《vim操作命令大全》,这份文档详细讲解了以下这15个模块

1.关于vim 2.启动vim 3.文档操档 4.光标的移动

5.插入文本 6. 剪切复制和寄存器 7. 查找与替换 8.排版

9. 编辑多个文件 10.分屏编辑 11. 快速编辑 12. 编辑特殊文件

13. 编程辅助 14. 命令行 15. 其它

由于文章有限制,不再一一展示,需要完整版文档的朋友看下图领取

相关推荐

七条简单命令让您玩转Git
七条简单命令让您玩转Git

凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这...

2023-10-07 12:14 guanshanw

基本完整的关于Git分支branch的操作
基本完整的关于Git分支branch的操作

Git使用背景项目中要用到dev或者其他分支开发完代码,需要将该分支合并到master的需求操作步骤下面以dev名称为lex为分支名为例来操作一遍客户端操作:...

2023-10-07 12:14 guanshanw

Git 进阶(合并与变基)
Git 进阶(合并与变基)

在Git中整合来自不同分支的修改主要有两种方法:合并(merge)以及变基(rebase)合并(merge)merge流程图merge的原理是找到这两个分...

2023-10-07 12:13 guanshanw

Git学习笔记 003 Git进阶功能 part5 合并(第一部分)

合并(merge)是很常用的操作。尤其是一个庞大的很多人参与开发的企业级应用。一般会设定一个主分支,和多个副分支。在副分支开发完成后,合并到主分支中。始终保持主分支是一个完整的,稳定的最新状态的分支。...

非标题党,三张图帮你理解git merge和git rebase的区别
非标题党,三张图帮你理解git merge和git rebase的区别

初始场景:基于正常的开发分支修改几个小bug,然后在合并到开发分支上。gitmergegitcheckoutfeaturegitmergeho...

2023-10-07 12:13 guanshanw

git 初次使用(01)
git 初次使用(01)

先从github上克隆代码下来:使用vscode克隆代码如下图,填写上github仓库地址:vscode有时候克隆代码速度比较慢,可以用命令行方式克隆gitc...

2023-10-07 12:12 guanshanw

Git 远程操作

4.Git远程操作命令说明gitremote远程版本库操作gitfetch从远程获取版本库gitpull下载远程代码并合并gitpush上传远程代码并合并4.1远程版本库操作gitre...

Git常用命令-总结
Git常用命令-总结

创建git用户$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.em...

2023-10-07 12:12 guanshanw

git中删除从别人clone下来项目的git信息,并修改为自己的分支

如果你从别人的Git存储库中克隆了一个项目,并想要删除与该存储库相关的Git信息,并将其修改为你自己的分支,则可以执行以下步骤:使用gitclone命令克隆存储库:gitclone<u...

git系列-回滚和放弃本地修改

回滚历史提交就是reset的功能。这种情况是已经提交远程仓库,需要回滚到之前的提交。gitreset--hardcommitId//注:强制提交后,当前版本后面的提交版本将会删掉!gi...

GIT使用小技巧大全
GIT使用小技巧大全

在大型软件工程的开发过程中,版本控制是无法绕过去的;目前来说,最火的版本控制软件就是GIT了。早两年SVN比较火,不过被大神linus喷了几次后,就日落西山了,...

2023-10-07 12:11 guanshanw

git相关命令-上
git相关命令-上

这些命令都是看了文档后,个人觉得比较有用的一些,展示给大家。回到远程仓库的状态抛弃本地所有的修改,回到远程仓库的状态。gitfetch--all&...

2023-10-07 12:10 guanshanw

Git命令行接口:掌握Git的必备技能
Git命令行接口:掌握Git的必备技能

Git是一款强大的分布式版本控制工具,它支持命令行界面操作。熟练掌握Git命令行接口,是开发者使用Git的必备技能之一。在这篇文章中,我们将介绍Git命令行接口...

2023-10-07 12:10 guanshanw

Git命令详解
Git命令详解

相信各位小伙伴们应该都对git有一些了解,毕竟作为代码管理的神器,就算不是IT行业的小伙伴肯定也或多或少的听说过一些。今天就来和小伙伴们分享一下自己总结的常用命...

2023-10-07 12:10 guanshanw

工作7年收集到的git命令
工作7年收集到的git命令

概念git中的术语解释:仓库也叫版本库(repository)stage:暂存区,add后会存到暂存区,commit后提交到版本库git安装linux...

2023-10-07 12:10 guanshanw

取消回复欢迎 发表评论: