小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-04-25 / 23 阅读
0
0

Linux vim编辑器

Vim(Vi IMproved)是一款高度可配置的文本编辑器,作为原始Vi编辑器的增强版,在各类操作系统中广泛使用。Vim的设计哲学以键盘为中心,提供了一种极其高效的文本编辑体验,特别适合程序员和高级用户。

Vim的模式

Vim有四种核心模式,每种模式都有特定的功能:

  1. 普通模式(Normal mode):启动Vim后的默认模式,用于通过键盘命令进行文本操作。
  2. 插入模式(Insert mode):输入文本的模式,类似于普通文本编辑器。
  3. 可视模式(Visual mode):用于选择文本的区域,以便进行复制、删除等操作。
  4. 命令行模式(Command-line mode):输入命令来控制Vim的行为,如保存文件、退出编辑器等。

Vim的基本操作

  • 打开与关闭文件
    • vim 文件名:打开文件进行编辑。
    • :q:退出Vim(未修改文件时)。
    • :q!:强制退出Vim,不保存修改。
    • :wq:xZZ:保存并退出Vim。
  • 移动光标
    • hjkl:左、下、上、右移动一个字符。
    • web:跳至下一个、当前/下一个单词末尾、前一个单词开始。
    • 0^$:跳至行首、行首个非空白字符、行尾。
  • 复制、粘贴与删除
    • yyY:复制当前行。
    • pP:在光标后、前粘贴。
    • dddwx:删除当前行、光标后的单词、光标所在字符。
  • 撤销与重做
    • u:撤销最近更改。
    • Ctrl + r:重做已撤销操作。
  • 搜索与替换
    • :/text:?text:向后、向前搜索文本。
    • :%s/old/new/g:全文替换“old”为“new”。

Vim的配置

通过编辑家目录下的 .vimrc 文件进行个性化配置,包括设置选项、定义快捷键、选用配色方案等。

Vim的插件

Vim强大的插件系统极大地扩展了其功能,如代码补全、语法高亮、版本控制支持等。

Vim的高级命令

  • 替换
    • :s//:使用上一次的查找模式和替换字符串进行替换。
    • :s/old/new/g:全文替换“old”为“new”。
  • 剪切、复制、粘贴
    • dd:剪切当前行。
    • yy:复制当前行。
    • pP:在光标后、前粘贴。
  • 移动到特定行
    • nG:移动到第 n 行。
    • G:移动到文件最后一行。
  • 显示/隐藏行号
    • :set nu:set number:显示行号。
    • :set nonu:set nonumber:隐藏行号。
  • 搜索向前/向后
    • nN:重复上一次搜索。
    • ?文本/文本:向后、向前搜索指定文本。
  • 强制退出不保存
    • :q!:强制退出,不保存修改。
  • 移动到文件开头
    • gg:移动到文件第一行。
  • 撤销
    • u:撤销上一次编辑操作。
      Vim的学习曲线虽然陡峭,但一旦熟练掌握,它能够极大地提高文本编辑的效率。Vim的灵活性和可扩展性使其成为许多程序员和高级用户的文本编辑器首选。

:n

:n 命令在 Vim 中用于移动到指定行号。在普通模式下,你可以输入 :n 后跟一个行号,来快速跳转到该行。例如,:5 会将光标移动到文件的第5行。
这里是一个关于 :n 命令的详细解释:

  • 命令格式:n:n+:n-,其中 n 是一个正整数,表示行号。
  • 功能:跳转到文件中指定的行号。
  • 使用场景:当你知道要跳转到的行号时,可以使用这个命令来快速定位。
    例如,如果你想跳转到第10行,可以在命令行模式下输入 :10,然后按 Enter。如果你想跳转到当前行的下一行,可以使用 :n+1,其中 n 是当前行的行号。如果你想跳转到当前行的上一行,可以使用 :n-1
    需要注意的是,:n 命令会相对于当前行进行计算。如果你在行号前加上 +-,Vim 会将行号视为相对于当前行的偏移量。例如,如果你在命令行模式下输入 :+3,Vim 会将光标移动到当前行的下3行。
    总的来说,:n 命令是一个非常有用的命令,可以帮助你在大型文件中快速导航到特定的行。

在vim编辑器中,ioa 是三个用于进入编辑模式并在不同位置开始插入文本的关键命令。以下是它们各自的详细说明:

i (Insert)

作用:在当前光标位置左侧插入文本。

操作:在命令模式下按下 i 键。

行为:光标变为可输入状态,并在光标当前位置的左侧闪烁,表示可以开始输入文字。此时,您键入的所有字符都会被添加到光标所在位置之前,且不会覆盖任何现有文本。

应用场景:当您想在当前光标位置插入新的文本内容时使用。例如,您可能需要在某行中间插入一个单词或一段注释。

o (Open a new line)

作用:在当前光标下方新开一行,并进入编辑模式。

操作:在命令模式下按下 o 键。

行为:vim会在当前光标所在行的下方插入一个新行,并自动将光标置于新行的起始位置,进入编辑模式。您可以立即开始在新行上输入文本。

应用场景:当您需要在当前行下面新增一行内容时使用,如添加新的一段代码、一个新的列表项目或一个空行来分隔内容。

a (Append)

作用:在当前光标位置右侧插入文本。

操作:在命令模式下按下 a 键。

行为:光标变为可输入状态,并在光标当前位置的右侧闪烁,表示可以开始输入文字。此时,您键入的所有字符都会被添加到光标所在位置之后,同样不会覆盖任何现有文本。

应用场景:当您想在当前光标位置之后插入新的文本内容时使用。例如,您可能需要在单词后添加一个后缀,或者在某行末尾继续书写下一行内容。

总结来说,ioa 分别提供了在光标左侧、下方新开一行以及光标右侧开始插入文本的功能。熟练运用这三个命令,可以让您在vim中更加灵活地进行文本编辑操作。在完成编辑后,记得按下 Esc 键返回命令模式以执行其他非插入文本的操作。

详解:https://blog.csdn.net/wangyuxiang946/article/details/126560108?app_version=6.3.2&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126560108%22%2C%22source%22%3A%22qq_20027141%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app

您提供的链接指向一篇CSDN博客文章,标题为“vim使用教程图文教程(零基础超详细)”,作者为“士别三日wyx”。根据您给出的内容摘要,该文章主要介绍了以下几个方面:

  1. vim编辑器概述:vim是一款强大的Linux系统内置文本编辑器,用于查看和编辑文件内容。熟练掌握vim能极大提升在Linux终端环境下的工作效率。

  2. vim的三种模式

    • 命令模式(Command Mode):启动vim或从其他模式返回时所处的默认模式。在此模式下,可以执行移动光标、搜索、复制、粘贴、删除等快捷操作。
    • 编辑模式(Insert Mode):通过在命令模式下按下 i键进入,此时可以像常规文本编辑器一样输入和编辑文件内容。
    • 末行模式(Last Line Mode):通过在命令模式下按下冒号 :键进入,用于执行保存、退出、查找替换、设置等高级文件操作。
  3. vim的三种打开方式

    • 指定文件:使用 vim 文件路径命令打开指定路径的文件。
    • 跳转至指定行:使用 vim +行数 文件路径命令打开文件并直接将光标定位到指定行。
    • 高亮显示关键字:使用 vim +/关键字 文件路径命令打开文件,同时将指定关键字高亮显示。
  4. 命令模式下的操作

    • 移动光标:使用 hjkl(分别对应左右上下)、0(行首)、$(行尾)、gg(文件首行)、G(文件尾行)、nG(第n行)等命令移动光标。
    • 搜索与替换:使用 /字符串?字符串分别向下和向上搜索指定字符串;使用 nN继续搜索下一个/上一个匹配项;使用 :s/word1/word2/g:s/word1/word2/gc进行单行、全局或范围内的替换操作。
    • 复制粘贴删除:使用 x删除后一个字符,X删除前一个字符,dd剪切整行,yy复制整行,p粘贴到下一行,P粘贴到上一行。数字键配合这些命令可以实现多次操作,如 10dd剪切10行。
  5. 编辑模式:在命令模式下按下 io(插入新行)或 R(替换模式)进入编辑模式。在此模式下可直接输入文本,按 Esc键返回命令模式。

  6. 末行模式:在命令模式下按下 :进入末行模式,执行以下操作:

    • 保存与退出:w保存、:q退出、:wq保存并退出、:q!不保存强制退出。
    • 显示行号:set nu显示行号,:set nonu取消显示行号。
    • 文件操作:w [文件名]另存为、:2,5 w [文件名]将指定行另存为、:r [文件名]读取另一文件内容插入到当前光标位置。

综上所述,该博客文章提供了对vim编辑器的全面介绍,包括其工作模式、基本操作方法以及常见文件管理功能,旨在帮助初学者快速掌握vim的使用技巧。如果您需要更详细的解释或有具体操作疑问,欢迎进一步提问。


评论