【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(重做)等命令实现。
  • 插入模式(编辑模式)
    • 从命令模式进入编辑模式,需要按下iIoOaArR等键之一。
    • 屏幕左下方会出现INSERTREPLACE等字样,表示已进入编辑模式。
    • 在此模式下,可以插入和删除文本。
    • 要回到命令模式,按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)。
相关推荐
dadaobusi5 小时前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端
唐墨1235 小时前
关于linux kernel错误码为负数编码这件事情,我个人的一些看法
linux·运维·服务器
Full Stack Developme5 小时前
Linux Shell 教程概览
linux·前端·chrome
网络系统管理5 小时前
第八届江苏技能状元大赛选拔赛信息通信网络运行管理项目模块D网络服务与系统运维-Linux样题
linux·运维
凡人叶枫6 小时前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发
零陵上将军_xdr6 小时前
Shell流程控制:if/case/for/while让脚本活起来
linux·运维·服务器
坤昱6 小时前
cfs调度类深入解刨——pelt细节篇
linux·linux内核·cfs调度·eevdf·cfs调度类深入解刨·pelt·pelt细节篇
故渊at6 小时前
第十二板块:Android 系统启动与初始化 | 第二十九篇:Init 进程、RC 脚本与属性服务(Property Service)
android·linux·内存映射·权限控制·init进程·rc脚本·属性服务
某林2127 小时前
ROS2 并行编译死锁与 Linux 后台声卡/提权踩坑实录:大型轮足机器人架构复盘
linux·架构·机器人·iassc
无足鸟ICT7 小时前
【RHCA+】末行模式
linux