vim编辑器基本命令

Vim编辑器常用命令总结

Vim是一款高度可定制的文本编辑器,它允许用户通过在终端输入命令来操作文本,Vim的命令丰富多样,掌握这些命令可以让你更加高效地使用Vim,本文将介绍一些Vim中常用的命令。

vim编辑器基本命令

1. 基本概念

Vim有三种模式:普通模式、插入模式和命令行模式,普通模式下,你可以输入文本;插入模式下,你可以选择文本并插入到光标位置;命令行模式下,你可以输入各种命令。

1.1 进入和退出插入模式

i:进入插入模式,从光标位置开始输入文本。

I:退出插入模式,回到普通模式。

a:进入插入模式,从当前光标位置到行尾开始输入文本。

A:退出插入模式,回到普通模式。

1.2 进入和退出命令行模式

::进入命令行模式。

:qZZ:退出Vim并返回到系统。

:wq:x:保存修改并退出Vim。

:q!ZZ:强制退出Vim,不保存修改。

2. 文件操作

vim编辑器基本命令

2.1 打开文件

:e filename:打开名为filename的文件,如果文件不存在,将创建一个新文件。

:e $filename:打开名为$filename的文件,这个命令通常用于批处理文件。

:edit filename:使用默认程序打开名为filename的文件,这个命令通常用于运行外部程序。

2.2 保存文件

:w:保存当前文件,但不退出Vim,如果文件已修改,会弹出确认对话框。

:w!:强制保存当前文件,不退出Vim,如果文件已修改,会弹出确认对话框。

:x:保存当前文件,并退出Vim,如果文件已修改,会弹出确认对话框。

2.3 关闭文件

:qZZ:退出Vim并返回到系统,如果有未保存的修改,会提示是否保存。

:q!ZZ:强制退出Vim,不保存修改,如果有未保存的修改,会被直接丢弃。

3. 搜索和替换

3.1 /搜索字符串(N次)

vim编辑器基本命令

/pattern:在文件中搜索pattern,并将光标移动到第一个匹配项,按n键可以跳转到下一个匹配项,按N键可以跳转到上一个匹配项。

nG/pattern:在整个文件中搜索pattern,并将光标移动到最后一个匹配项,按nG可以跳转到第一个匹配项,按Ng可以跳转到最后一个匹配项。

%s/pattern/replacement/g:在整个文件中搜索pattern,并将光标移动到第一个匹配项,用replacement替换匹配项,并跳到下一个匹配项,按%可以重复上一次的操作。

:s/old/new/g:在整个文件中搜索old,并用new替换所有匹配项,按:可以重复上一次的操作。

3.2 搜索行号(N次)

:line N:跳转到第N行,如果N为正数,则向下跳转;如果N为负数,则向上跳转,按:可以重复上一次的操作。

:$N,$:跳转到第N行和第N+1行之间,按:可以重复上一次的操作。

:set number:显示行号,按:可以重复上一次的操作,要关闭行号显示,请执行命令:set nonumber

4. 高级功能

4.1 寄存器和命令扩展

Vim支持寄存器来存储值和命令,以下是一些常用的寄存器:

'a:光标所在行的字符数(包括空格),可以使用此寄存器来移动光标或计算距离等,要移动到当前行的开头,可以使用命令'a|0"(注意要加上反斜杠),要删除当前行的开头的一个字符,可以使用命令'a|1d(注意要加上反斜杠),要删除当前行的最后一个字符,可以使用命令'a|0delete(注意要加上反斜杠),要删除当前行的第n个字符,可以使用命令'a|ndelete' n是字符的索引(从0开始),要删除光标所在的字符,可以使用命令'a|deletechar' 'a|deletechar'表示删除当前行的第一个非空白字符),要删除光标所在行的前n个字符,可以使用命令'0,' '0,'表示删除从第0个字符到第n个字符之间的所有字符),要删除光标所在行的后n个字符,可以使用命令'.,' '.,'表示删除从第n个字符到最后一个字符之间的所有字符),要删除光标所在的一个单词(由空格分隔),可以使用命令'\<,>w' \<,\>w表示选择以光标为中心的一个单词),要复制当前选中的文本(不包括光标所在的部分),可以使用命令y|p(y表示复制),要将选中的文本粘贴到光标所在的位置,可以使用命令p|y(p表示粘贴),要在当前行的开头插入一个单词(由空格分隔),可以使用命令I\<,\>w I\<,\>w表示在当前行的开头插入一个单词),要在当前行的末尾插入一个单词(由空格分隔),可以使用命令A\<,\>w A\<,>w表示在当前行的末尾插入一个单词),要在当前行的第n个位置插入一个单词(由空格分隔),可以使用命令"I|" "I|"表示在当前行的第n个位置插入一个单词),要在当前行的开头或末尾添加n个空格或其他指定的字符,可以使用命令"ggvG" "ggvG"表示在当前行的开头或末尾添加n个空格或其他指定的字符),要反转当前行的内容(包括单词的顺序),可以使用命令":g/^/s//gn" "^"表示每一行的开头,":g/^/s//gn"表示对每一行进行反向查找、替换和移动光标操作),要交换两行的内容(包括单词的顺序),可以使用命令":S/swapfile/swapname" "swapfile"和"swapname"分别是两个文件的名称,":S/swapfile/swapname"表示将这两个文件的内容交换位置并写入磁盘),要交换两列的内容(包括单词的顺序),可以使用命令":%s/\(.*\)\(\=/^\1 \= \2/gc" "\(.*)(\=)"表示查找所有包含等号的列名,"^\1 \= \2"表示将这些列名交换位置并去掉等号和空格),":%s/(.*\)\(\=/^\1 \= \2/gc"表示查找所有包含等号的列名并将其转换为列号的形式("80 = a", "80 = b", "80 = c", "90 = d", "90 = e", "90 = f", "90 = g", "90 = h", "90 = i", "90 = j", "90 = k", "90 = l", "90 = m", "90 = n", "90 = o", "90 = p", "90 = q", "90 = r", "90 = s", "90 = t", "90 = u", "90 = v", "90 = w", "90 = x", "90 = y", "90 = z"),":%s/\(.*\)\(=/^\1 \= \2/gc"表示查找所有包含等号的列名并将其转换为列号的形式("80 = a", "80 = b", "80 = c", "90 = d", "90 = e", "90 = f", "90 = g", "90 = h", "90 = i", "90 = j", "90 = k", "90 = l", "90 = m", "90 = n", "90 = o", "90 = p", "90 = q", "90 = r", "90 = s", "90 = t", "90 = u", "90 = v", "90 = w", "90 = x", "90 = y", "90 = z"),":%s/\(.*)\(\=/^\1 \= \2/gc"表示查找所有包含等号的列名并将其转换为列号的形式("80,55"表示在第80列和第55列之间),":%s/\(.*)\(\=/^\1 \= \2/gc"表示查找所有包含等号的列名并将其转换为列号的形式("80,55"表示在第80

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/151620.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-21 03:16
Next 2023-12-21 03:19

相关推荐

  • oracle报错ora-01017

    Oracle错误ORA-01145是一个常见的数据库错误,它表示在执行SQL语句时,尝试访问的表或视图不存在,这个错误通常是由于以下原因导致的:1、表或视图的名称拼写错误。2、表或视图的定义与其名称不匹配。3、表或视图已经被删除。4、表或视图所在的模式(schema)不存在。要解决ORA-01145错误,可以按照以下步骤进行操作:1.……

    2024-01-21
    0216
  • linux命令指定行数?

    在Linux系统中,命令行是最常用的工具之一,它提供了一种简洁、高效的方式来执行各种任务,对于初学者来说,可能会对如何在命令行中指定行数感到困惑,本文将详细介绍如何在Linux命令行中指定行数进行文件处理。我们需要了解的是,Linux命令行中的大多数命令都支持通过参数来指定行数,这些参数通常以“-n”或“--number”的形式出现,……

    2023-11-06
    0364
  • Linux基础命令tune2fs的用法

    Linux基础命令tune2fs的用法 tune2fs是一个用于调整文件系统参数的Linux命令行工具,它允许您修改ext2/ext3/ext4文件系统的属性,以提高文件系统的性能和稳定性,本文将详细介绍tune2fs的基本用法,帮助您更好地理解和使用这个工具。tune2fs简介tune2fs是Linux内核的一部分,位于binuti……

    2023-12-18
    0222
  • 简介Redis中的showlog功能

    Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,Redis提供了多种数据类型来支持各种应用需求,如字符串、列表、集合、散列和有序集合等,在Redis中,showlog功能是一个非常实用的命令,它可以帮助用户查看Redis服务器的日志信息,本文将对Redis中的showlog功能进行详细的介绍。1、……

    2024-03-08
    0149
  • Redis SCAN命令详解

    Redis SCAN命令是一种迭代数据库键的高效方式,用于避免BLOCKING命令的缺点,逐批返回结果,适用于大规模数据遍历。

    2024-02-18
    0112
  • linux常用命令ls-a

    lsattr命令简介lsattr(list attribute)是Linux系统中一个非常实用的命令,用于列出文件或目录的属性信息,通过使用lsattr命令,我们可以查看文件或目录的各种属性,如权限、所有者、组、大小、时间戳等,这对于了解文件或目录的详细信息非常有帮助。lsattr命令基本用法lsattr命令的基本语法如下:lsatt……

    2023-12-19
    0127

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入