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

(0)
K-seoK-seoSEO优化员
上一篇 2023年12月21日 03:16
下一篇 2023年12月21日 03:19

相关推荐

发表回复

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

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