【Linux】linux系统VIM简介_使用

1、简介

1.1定义

  • VIM(Vi IMproved)是 Vi 编辑器的增强版本,提供了更多的功能和改进的用户界面。
  • 它被广泛认为是程序员的编辑器首选之一,特别适用于代码编辑和文本处理。
  • VIM 拥有多种模式,每种模式都有其特定的功能和操作方式。

1.2常用模式

  • 命令模式(Normal Mode):默认模式,用于执行复制、粘贴、剪切、查找、替换等操作。
  • 插入模式(Insert Mode):从命令模式进入,用于插入和编辑文本。
  • 可视模式(Visual Mode):选择文本块,以便进行复制、剪切等操作。
  • 底行模式(Command-Line Mode):从命令模式通过输入冒号(:)进入,用于保存文件、退出 VIM、查找替换等操作。

2、使用

2.1基本模式分类

  • 命令模式(正常模式,一般模式) :
    • 直接用vim打开文本时,默认进入此模式。
    • 在此模式下,可以移动光标、复制粘贴、删除、替换、模式切换等操作,但不能直接编辑文本。
    • 光标移动可以使用如h(左)、j(下)、k(上)、l(右)等命令。
    • 撤销、恢复、重复等操作可以通过u(撤销)、Ctrl + r(重做)等命令实现。
  • 插入模式(编辑模式) :
    • 从命令模式进入编辑模式,需要按下i、I、o、O、a、A、r、R等键之一。
    • 屏幕左下方会出现INSERT或REPLACE等字样,表示已进入编辑模式。
    • 在此模式下,可以插入和删除文本。
    • 要回到命令模式,按Esc键。
  • 底行模式(尾行模式,命令行模式) :
    • 在命令模式下输入:或/可以将光标移到末行。
    • 在此模式下,可以执行如保存退出(:wq)、查找(/后接搜索内容)、替换(如:s@要查找的内容@替换的内容@g)等操作。

2.2常用快捷键

  • 移动光标 :
    • 字符间跳转:h(左)、j(下)、k(上)、l(右)。
    • 单词间跳转:w(下一个单词)、b(上一个单词)。
    • 行首行尾跳转:^(行首非空白字符)、0(行首)、$(行尾)。
    • 行间跳转:nG(跳转到第n行)、gg(跳转到第一行)、G(跳转到最后一行)。
    • 翻屏操作:Ctrl + f(向前翻页)、Ctrl + b(向后翻页)。
  • 编辑命令 :
    • 插入文本:i(当前字符前)、a(当前字符后)、o(当前行下方新开一行)。
    • 删除文本:x(删除当前字符)、dd(删除当前行)。
    • 复制粘贴:yy(复制当前行)、p(粘贴)。
    • 替换文本:r(替换当前字符)、cw(更改当前单词)。
  • 其他命令 :
    • 撤销操作:u(撤销)、Ctrl + r(重做)。
    • 保存退出::wq(保存并退出)、:q!(不保存强制退出)。
    • 查找替换:/(开始查找)、:s(替换命令)。

2.3多文件与多窗口操作

  • 使用:vs 文件名命令可以在当前窗口右侧打开一个新窗口并加载指定文件。
  • 使用Ctrl + w + w可以在不同窗口间切换。
  • 使用:wqall可以保存所有文件并退出vim。

2.4定制vim的工作特性

  • 在底行模式下,可以通过设置选项来定制vim的工作特性,但这些设置仅对当前vim进程有效。
  • 要使设置永久生效,需要修改vim的配置文件(通常是~/.vimrc)。
相关推荐
Android系统攻城狮30 分钟前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一32 分钟前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元34 分钟前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
无足鸟ICT1 小时前
【RHCA+】mpstat命令(监控CPU)
linux
GeW2 小时前
新质生产力Linux和数据库为啥这么关键
linux
番茄啊3 小时前
linux 开启xftp连接
linux·运维·服务器
CodeYp20193 小时前
第1讲:Linux 基础指令
linux·指令
李松桃3 小时前
基于端口号的服务配置
linux·nginx-核心模块配置
CodeYp20198 小时前
第14讲:mmap 实现文件 LRU 缓存
linux·lru·mmap
程序开发阿元8 小时前
一台 20G 的 VPS 被日志吃掉一半:我按这个顺序查了二十分钟
linux·ssh