【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)。
相关推荐
安大小万28 分钟前
C++ 学习:深入理解 Linux 系统中的冯诺依曼架构
linux·开发语言·c++
九品神元师44 分钟前
jupyter配置说明
linux·ide·jupyter
黯然~销魂1 小时前
root用户Linux银河麒麟服务器安装vnc服务
linux·运维·服务器
菠萝炒饭pineapple-boss2 小时前
Dockerfile另一种使用普通用户启动的方式
linux·docker·dockerfile
Zfox_3 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·c++
laimaxgg3 小时前
Linux关于华为云开放端口号后连接失败问题解决
linux·运维·服务器·网络·tcp/ip·华为云
浪小满3 小时前
linux下使用脚本实现对进程的内存占用自动化监测
linux·运维·自动化·内存占用情况监测
东软吴彦祖4 小时前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
艾杰Hydra4 小时前
LInux配置PXE 服务器
linux·运维·服务器
慵懒的猫mi4 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin