vim编辑器基础操作大全

vim有三种模式:
Command Mode - 命令模式
Insert Mode - 输入模式
Last Line Mode - 底部模式(尾行)
 
vim abc   #打开文件abc
vim + abc    #打开文件abc,光标定位到最后一行
vim +3 abc   #打开文件abc,光标定位到第三行
vim +/imooc abc   #打开文件abc,光标定位在imooc第一次出现的地方
vim aa bb cc   #打开文件aa,bb,cc,在底部模式通过n切换文件
 

Command Mode - 命令模式

1)插入模式
  • [i]:在当前字符前插入字符
  • [I]:在当前行行首插入字符
  • [a]:在当前字符后插入字符
  • [A]:在当前行行末插入字符
  • [o]:在当前行下插入新的一行,从行首输入文字
  • [O]:在当前行下插入新的一行,从行首输入文字
2)从插入模式切换为命令模式
  • [ESC]键
3)移动光标
vi可以使用上下左右光标来移动,但正规的vi是用小写英文字母h,j,k,l分别控制左下上右一格的
  • [ctrl+g]:显示文件信息,统计行号
  • 数字+shift+G 跳到指定行
  • [ctrl+b]:屏幕往后移动一页
  • [ctrl+f]:屏幕往前移动一页
  • [ctrl+u]:屏幕往后移动半页
  • [ctrl+d]:屏幕往前移动半页
  • [gg]、[1G]:移动到文章首行
  • [G]:移动到文章尾行
  • nG:移动到文章第n行
  • [$]、[end]:移动到当前行行尾
  • [0]、[home]:移动到当前行行首
  • [w]:光标跳到下个字的开头
  • [e]:光标跳到下个字的字尾
  • [b]:光标回到上个字的开头
 
4)删除文字
  • [x]、[del]:删除光标所在位置的后面一个字符
  • [#x]:6x表示删除光标所在位置的后面6个字符
  • [X]、[backspace]:大写的X,删除光标所在位置的前面一个字符
  • [nX]:20X,表示删除光标所在位置的前面20个字符
  • [dd]:删除光标所在行
  • [ndd]:从光标所在行开始删除n行
  • [s]:删除光标所在的字符并开始插入
  • [S]:删除光标所在的行并开始插入
5)复制
  • [yw]:将光标所在之处到字尾的字符复制到缓冲区
  • [nyw]:复制n个字到缓冲区
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到末行的所有数据
  • [yy]:复制光标所在行到缓冲区
  • [nyy]:复制从光标开始往下的n行
  • [p/P]:p复制的数据从光标下一行粘贴,P则从光标上一行粘贴
6)替换
  • [r]:替换光标所在处的字符
  • [R]:替换光标所到之处的字符,直到按下ESC键
7)恢复上一次操作
  • [u]:撤回到上一个操作,多次按可以多次撤回
  • [ctrl+r]:撤销恢复的上一步操作
8)更改
  • [c#w]:写改光标后1(n)个词。例如,[c3w]表示更改3个词。(空格识别单词)
  • [c#l]:改写光标后n个字母。(删除n个字母重新写)
9)跳至指定的行
  • [ctrl+g]:显示光标所在行的行号,及当前编辑的文件文件名
  • [#G]:例如,15G,表示移动光标至文章15行行首
10)保存并退出
  • [ZZ]:保存并退出

Last Line Mode - 底部模式(尾行)

1)列出行号
  • [set nu]:在文件每一行前面列出行号。
  • [set nonu]:取消行号

补充

自动缩进
  • [set autoindent]:开启缩进
  • [set noautoindent]:取消缩进
搜索时不区分大小写
  • [set ic]:不区分大小写
  • [set noic]:区分大小写
 
2)跳到文件中的某一行
  • [#]:调到第#行
3)查找关键字符
:/word:从光标之后查找word,按n查找下一个
:?word:从光标之前查找字符,按n查找上一个
:n3,n5s/word1/word2/g:在第3行和第5行间,搜索word1,替换为word2。可将/替换为#
:n1,n$s/word1/word2/g:在第1行和末间,搜索word1,替换为word2。
:n1,n$s/word1/word2/gc:在第1行和末间,搜索word1,替换为word2。c参数作用为替换每一个前确认
 
4)保存文件
  • [w]:保存文件
5)离开vi
  • [q]:退出vi,如果无法退出,可以在后面加一个!强制退出
  • [wq]:保存并退出
  • ZZ:文档没修改,不保存退出。修改,则保存退出
  • [w]:保存不退出文件
  • [w filename]:当前内容另存为filename
 
6)列出当前打开的vi(若打开了多个vi)
  • [ls]:列出当前vim打开的所有文件
7)切换vim文件(若打开了多个vi)
  • [n] 切换vim的后一个文件
  • [N]切换vim的前一个文件
 

 

posted on   赛博狗尾草  阅读(1430)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示