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

Vim 使用笔记

guanshanw 2023-08-22 02:45 23 浏览 0 评论

vim的三种模式

  • 输入模式,键入i 或 a 或 o都可以进入输入模式
  • 普通模式,打开vim默认的模式
  • 命令模式,键入 : 进入命令模式

按下 ESC 可以从输入模式或命令模式退回到普通模式

退出 vim ,需要在普通模式下切换到命令模式(:)

Vim 使用笔记

  • q 无修改的情况下,直接退出
  • q! 有修改的情况下,不保存退出
  • wq 有修改的情况下,保存并退出

vim 配置

编辑 .vimrc 文件:vim .vimrc

"语法高亮
set syntax=on

"自动缩进
set autoindent

"Tab键的宽度
set tabstop=4

"显示行号
set number

"高亮显示匹配的括号
set showmatch

"快速插入文本, o表示换行输入
"map <keymap> oContent
"例子:快速打印一行日志,命令模式输入'dz',将会输出 Bd_Log::warning("==dz==>".var_export($,true)); 光标停在 $ 符号后面
map dz oBd_Log::warning("==dz==>".var_export($,true));<ESC>F$1li

编辑完成后,source .vimrc使配置生效

光标移动

普通模式下

单词间移动(分隔符为非英文)

  1. w移动光标到下一个单词的词首
  2. b 移动光标到上一个单词的词首
  3. e移动光标到下一个单词的结尾
  4. ge移动光标到上一个单词的结尾

(分隔符为空格)

  1. W 移动光标到下一个单词的词首word
  2. B 移动光标到上一个单词的词首begin
  3. E 移动光标到下一个单词的结尾end

行内移动

  1. ^ 移动到行首
  2. $ 移动到行尾

行移动

  1. :行号 跳转到相应的行首
  2. 行号gg 跳转到相应的行首
  3. gg 跳转到文件第一行
  4. shift + g 跳转到文件最后一行

翻页操作

  1. Ctrl + f:向后翻一页(forward)
  2. Ctrl + b:向前翻一页(backward)
  3. Ctrl + d:向后翻半页(down)
  4. Ctrl + u:向前翻半页(up)

调整页面布局

  1. zz:让当前行居中显示,方便浏览上下文
  2. zt:让当前行显示在最上方,方便浏览后面的内容(t 表示 top)
  3. zb:让当前行显示在最下方,方便浏览前面的内容(b 表示 bottom)

匹配括号

光标提留在括号上,包括( {,},[,],(,) ),键入%,将会跳转到匹配的括号上

文本编辑

  • o 进入输入模式,并从下一行进行编辑
  • i或a 进入输入模式,从当前光标位置进行编辑
  • I 从光标所在行的行首进行编辑
  • A 从光标所在行的行尾进行编辑
  • dd 快速删除一行,其实这个命令本质上是剪切
  • 5dd 快速删除5行
  • p 粘贴
  • yy 复制
  • 5yy 复制5行
  • u 撤销上一次修改
  • diw: 删除一个单词(word)
  • ca":删除双引号内的文本并编辑(包含双引号自身)
  • yi":复制双引号内的文本(不包含双引号自身)
  • dtx:向右删除,直到遇到遇到字符 x(不包含 x)

搜索与替换

普通模式或命令模式下

/pattern 搜索一个文本,不区分大小写

/pattern\C 搜索一个文本,区分大小写

:范围s/oldpattern/newpattern/替换模式 替换

# 比如:把第 1 - 10 行中所有的 hello 换成 hallo
:1,10s/hehe/haha/g

# % 表示 1,$的范围,也就是整个文件的范围
:%s/hehe/haha/g

# g 表示全部替换,假如不加g的话,只替换1次

大小写切换

  1. guu 当前行全部小写,gUU 当前行全部大写
  2. ~ 当前光标下的字符切换大小写, 3~ 当前光标下后面三个字符切换大小写
  3. guiw 当前单词全部小写,gUiw 当前单词全部大写
  4. g~iw 当前单词每个字符大小写交换

列操作

  1. Ctrl + V 进入列操作模式,此时可以选择要操作的行
  2. ec 删除所选单词,并进入编辑模式
  3. ESC 退出编辑模式,并且编辑后的改动作用于选中的行

相关推荐

七条简单命令让您玩转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

取消回复欢迎 发表评论: