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

入坑!VIM编辑器(最强整理版)

guanshanw 2023-08-22 02:50 28 浏览 0 评论

VIM的三种模式

VIM 小抄图

VIM具体操作

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首 
vi +n filename :打开文件,并将光标置于第n行首 
vi + filename :打开文件,并将光标置于最后一行首 
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename 
vi filename....filename :打开多个文件,依次进行编辑

移动光标命令

  • 操作在命令模式下

j 或下箭头 向下移动一行
k 或上箭头 向上移动一行
h 或左箭头 左移一个字符
l 或右箭头 右移一个字符
w 右移一个词
W 右移一个以空格分隔的词 
b 左移一个词
B 左移一个以空格分隔的词
0 移到行首
Ctrl-F 向前翻页
Ctrl-B 向后翻页
nG 到第n行
G 到最后一行

插入文本命令

  • 操作在命令模式下

i  在当前字符前插入文本   
I  在行首插入文本       
a  在当前字符后添加文本   
A  在行末添加文本      
o  在当前行后面插入一空行  
O  在当前行前面插入一空行  
R  以改写方式输入文本

替换文本

$     到行尾
(     到句子的开头 
)     到句子的末尾
{     到段落的开头
}     到段落的末尾

文本操作

  • 在命令模式下

r   替换一个字符
c   修改文本直到按下Esc健 
cw  修改下一个词
cnw  修改接下来的n个词

删除操作

  • 在命令模式下

x 删除光标处的单个字符 
dd 删除光标所在行 
dw 删除当前字符到单词尾(包括空格)的所有字符 
de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符 
d$ 删除当前字符到行尾的所有字符 
d^ 删除当前字符到行首的所有字符 
J 删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容

文本编辑

yy 将一行文本移到缺省缓冲区中 
yn 将下一个词移到缺省缓冲区中
ynw 将后面的n个词移到缺省缓冲区中
p  如果缺省缓冲区中包含一行文本,则在当前    
  行后面插入一个空行井将缺省缓冲区中的声    
  容粘贴到这一行中;如果缺省缓冲区中包含    
  多个词,把这些词粘贴到光标的右边.     

P  如果缺省缓冲区中包含一行文本,则正当前     
  行前面插入一个空行井将缺省缓冲区中的内     
  容粘贴到这一行中;如果缺省缓冲区中包含    
  多个词,把这些词粘贴到光标的左边.

保存退出

zz          保存并退出(在命令行模式下)

在末行模式下::w filename     写入文件:W          写入文件:x         保存(如果当前文件修改过)并退出 
:q!         不保存文件,直接退出(强制退出):q         退出vi

编辑模式的编辑键操作

方向键进行上下左右方向的光标移动 
Home快速定位光标到行首
End快速定位光标到行尾
PageUp进行文本的向上翻页 
PageDown进行文本的向下翻页
Backspace删除光标左侧的字符
Del删除光标位置的字符

替换操作

  • 在末行模式下

:s/old/new 将当前行中查找到的第一个字符“old” 串替换为“new”:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”:#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”:s/old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

撤消操作

  • 在命令模式下

u 取消最近一次的操作,并恢复操作结果,可以多次使用u命令恢复已进行的多步操作 

U 取消对当前行进行的所有操作 

Ctrl + r 对使用u命令撤销的操作进行恢复

复制与粘贴操作

  • 在命令模式下

yy 复制当前行整行的内容到vi缓冲区 

yw 复制当前光标到单词尾字符的内容到vi缓冲区 

y$ 复制当前光标到行尾的内容到vi缓冲区 

y^ 复制当前光标到行首的内容到vi缓冲区

p 读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)

字符串查找操作

  • 在命令模式下

/word 从上而下在文件中查找字符串“word” 

?word 从下而上在文件中查找字符串“word”

n 定位下一个匹配的被查找字符串 

N 定位上一个匹配的被查找字符串

快捷键

ctrl-a : 把光标移动到命令行最开始的地方。 
ctrl-e : 把光标移动到命令行末尾。 
ctrl-u : 清除命令行中光标所处位置之前的所有字符。 
ctrl-k : 清除从提示符所在位置到行末尾之间的字符
ctrl-w : 清除左边的字段 
ctrl-y : 将会贴上被ctrl-u 或者 ctrl-k 或者 ctrl-w清除的部分。 
ctrl-r : 将自动在命令历史缓存中增量搜索后面入的字符。 
tab : 命令行自动补全-自动补全当前的命令行。如果启用自动补全脚本命令参数和选项也可以自动补齐。

ctrl-l : 清屏

相关推荐

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

取消回复欢迎 发表评论: