vim编辑器

vim编辑器

vim有三种模式,命令模式,插入模式,末行模式,在一开始的时候默认进入的是命令模式

命令模式

命令模式:默认的模式,该模式下有很多的快捷键

文件内移动

  • n+Shift+g(或nG)快速定位到指定的行,先按你想要的跳转的行,然后按G,如:7G,跳转到第7行
  • Shift+g(或者G)跳转到尾行
  • 0 跳转到该行首个字符
  • gg跳转到首行
  • :n 跳到指定行 n为指定的行号
  • Ctrl+G 报告光标位置
  • Ctrl+f 屏幕向前移动一页
  • Ctrl+b 屏幕向后移动一页
  • Ctrl+d 屏幕向前移动半页
  • Ctrl+u 屏幕向后移动半页
  • $ 跳转到该行最后一个字符
  • w 光标前移一字
  • b 光标倒退一字
  • +移动非空格的下一行
  • -移动非空格的上一行
  • H 移到当前屏幕最顶行
  • M 移到当前屏幕中央一行
  • L 移到当前屏幕最底行
  • G 移到文本最末行
  • n +回车(n表示数字)光标向下移动n行
  • j 光标向下移动一格
  • k 光标向上移动一格

行内移动

  • ^ 移动到行首
  • $ 移动到行尾
  • w、b键,分别表示向后和向前移动一个单词
  • h 光标向左移动一格
  • l 光标向右移动一格

删除字母

  • x 删除单个字母
  • nx 删除多个字符
  • dw 删除一个字符(剪切)

删除整行

  • dd 删除整行
  • D 删除光标所在行到末尾行的内容
  • ndd 删除多行
  • :n1,n2d删除指定行
  • dG 从当前行删除到文件尾
  • 想要删除该行末尾的回车,也就是两行合并为一行,使用Shift+j

剪切、复制、粘贴

  • dd 既是删除也是剪切,按p是粘贴至光标后,P是粘贴至光标前
  • yw 复制一个词
  • yy 复制单行
  • nyy 复制多行
  • p 粘贴,从当前行后面粘贴被复制的行
  • P 粘贴,从当前行前面粘贴被复制的行

撤销

  • u 撤销修改
  • Ctrl+r 反撤销
  • :u! 恢复到文档初始状态

替换

  • r 替换光标所在处的字母
  • R 进入替换模式,从光标所在处开始替换字符,按esc结束
  • 查找,按下/键,然后输入所要查找的字符,按回车,如果找到光标会跳转到第一个搜索结果的位置,然后按n,继续向下查找,如果按Shift+n,会反向向上查找

插入模式

插入模式(输入模式):可以向文件中输入字符的模式。

在命令模式下,

  • 按a 在光标所在位置后插入(追加)
  • 按i 在光标所在位置前插入(插入)
  • 按A 在光标所在行尾插入
  • 按I 在光标所在行首插入
  • 按o 在光标上插入新行
  • 按O 在光标上插入新行

按Esc退出输入模式,进入命令模式

末行模式

末行模式:该模式下,在vim界面最下边可以输入命令,来执行各种操作,编辑完文件之后,想要保存修改或者不保存修改都需要进入末行模式来进行操作,从命令模式切到底末模式,按:(冒号)进入末行模式

文件编辑

  • :w 保存文件但不退出vi
  • :w 文件名 将修改另外保存到新的文件中,不退出vi
  • new 文件名 如果该文件存在则打开该文件,如果不存在,则新建(只有保存之后该文件才会创建成功)
  • :w! 强制保存,不退出vi
  • :wq 保存文件并退出vi
  • :wq! 强制保存文件,并退出vi
  • :q 不保存文件,退出vi
  • :q! 不保存文件,强制退出vi
  • :e! 放弃所有修改,从上次保存文件开始再编辑

参数设置

  • :set nu 显示行号
  • :set nonu 隐藏行号
  • :set list 显示特殊符号(Tab用^I表示,换行符用$显示)
  • :set nolist 不显示特殊符号

查找

  • /查找内容 从光标处往下查找
  • ?查找内容 从光标处往上查找
  • n 下一个
  • N 上一个

替换

  • :s/old/new 当前行的第一个old替换为new

  • :s/old/new/g 替换当前行的所有old为new

  • :1,10s/old/new 将1到10行的每一行的第一个old替换为new,如果使用1,$则是从第一行到最后一行

  • :1,10s/old/new/g 替换1到10行的所有old为new,如果使用1,$则是从第一行到最后一行

  • :%s/old/new/g 替换全文的所有old为new

    #1到10行添加注释# (使用^是因为^在正则中表示行首)
    :1,10s/^/#/g
    #1到10行取消注释# (使用^是因为^在正则中表示行首)
    :1,10s/^#//g

可以在vim中执行shell,而不退出vi

使用:!命令来实现

:!pwd 来显示当前目录路径名

https://zhhll.icu/2021/linux/基础/vim编辑器/

本文由mdnice多平台发布

相关推荐
测试界萧萧13 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
AI_小站2 天前
LLM——10个大型语言模型(LLM)常见面试题以及答案解析
人工智能·程序人生·语言模型·自然语言处理·大模型·llm·大模型面试
良技漫谈2 天前
Rust移动开发:Rust在iOS端集成使用介绍
后端·程序人生·ios·rust·objective-c·swift
我爱学Python!2 天前
AI Prompt如何帮你提升论文中的逻辑推理部分?
人工智能·程序人生·自然语言处理·chatgpt·llm·prompt·提示词
博纳软云_小程序一站服务平台2 天前
手边酒店多商户版V2源码独立部署_博纳软云
程序人生·微信小程序·小程序·微信公众平台
AI_小站2 天前
多模态大模型微调实践!PAI+LLaMA Factory搭建AI导游
人工智能·程序人生·语言模型·大模型·llm·产品经理·多模态大模型
良技漫谈2 天前
Rust移动开发:Rust在Android端集成使用介绍
android·程序人生·rust·kotlin·学习方法
AI_小站3 天前
【AI工作流】FastGPT - 深入解析FastGPT工作流编排:从基础到高级应用的全面指南
人工智能·程序人生·语言模型·大模型·llm·fastgpt·大模型应用
python_知世3 天前
AI时代:成为产品经理的核心路径
人工智能·深度学习·程序人生·自然语言处理·产品经理·计算机技术·大模型应用
提笔惊蚂蚁3 天前
java-web-day7-会话跟踪技术
java·开发语言·前端·程序人生