vim编辑器

vim编辑器

vi/vim编辑器

  • vi是一款很多unix及其延伸系统内置的文本编辑器,具有强大的文本编辑能力。

  • vim是从vi发展出来的一个文本编辑器,可以理解为vi编辑器的增强版。vim中代码补完、编译及错误跳转等方便编程的功能特别丰富。

  • vi/vim编辑器的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有的编辑操作。

  • 学习使用vi/vim编辑器最大挑战:万物皆命令

image-20240310052158161

vi/vim 3种工作模式

  • 命令模式(Command mode)

    • 命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。
    • 此模型下,不能自由进行文本编辑。
  • 输入模式(Insert mode)

    • 也就是所谓的编辑模式、插入模式。
    • 此模式下,可以对文件内容进行自由编辑。
  • 底线命令模式(Last line mode)

    • 以:开始,通常用于文件的保存、退出。

image-20240310052409341

命令模式<-->输入模式

  • i 进入到编辑输入模式后,定位到当前光标前面

  • o 进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)

  • 输入模式下按ESC退回到命令模式

命令模式<-->底线命令模式

  • 在命令模式下,输入:进入底线命令模式。

  • 常用的底线命令有:

    • :q 退出
    • :w保存
    • :wq 保存退出
    • :wq! 强制保存退出

提示:在命令模式下按下shift + zz,可以实现快速的保存退出

打开与新建文件

vim /path/file

  • 如果打开的文件不存在,此时就是新建文件,编辑器左下角会提示new file

  • 如果文件已经存在,此时就打开这个文件,进入命令模式

打开时异常处理

  • 原因:编辑时非正常退出,数据没有保存,vim编辑器把未保存内容写入一个隐藏的swp文件

  • 现象:下次打开时,提示用户如何处理上次未保存的内容。

  • 解决:

    • 可以根据提示进行打开、编辑、恢复、删除、退出等操作
    • 也可以直接使用rm 删除swp这个隐藏文件。

image-20240310054312869

  • O、E、R、D、Q、A分别代表打开、编辑、恢复、删除、退出

光标移动

  • 方向键控制移动

  • 命令 hjkl移动

  • 翻页 pageup pagedown

  • 行首(home 0) 行尾(end $)

  • 跳到文件的最后一行 G

  • 跳到文件的第一行 gg

复制粘贴

  • 复制

    • yy 复制光标当前所在行内容
    • nyy 复制当前行往下n行
  • 粘贴

    • p(小写) 当前行的下一行粘贴
    • P (大写)当前行的上一行粘贴

注意:使用鼠标从window或者其他地方复制内容到vim编辑器粘贴,一定要在输入模式下进行,否则数据会有丢失的风险。

搜索替换(在命令模式下使用)

  • 搜索 /待搜索的内容,回车进行搜索,搜索到的结果会高亮显示

    • n跳转到下一个搜索到的内容,N跳转上一个
    • :noh 清除搜索匹配之后的高亮显示
  • 替换

    • :2,4s/原内容/替换内容/gc
    • 没有g的时候,替换每一行匹配的到的第一个。g表示替换这一行的所有匹配到的
    • c表示替换前给用户提示

    注意:如果需要进行全局替换 所谓第一行到最后一行

  • :1,$s/原内容/替换内容/gc

  • :%s/原内容/替换内容/gc

删除、撤销操作

  • 删除命令

    • dd 删除光标所在当前行内容
    • ndd 删除当前行往下n行
  • 撤销、反撤销

    • u 撤销上一步的操作(后悔药)
    • ctrl+r 反撤销
posted @   七落安歌  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示