Linux Vim的使用(超详细,只看这一篇就足够了!)

您所在的位置:网站首页 所有修改编辑命令的操作流程 Linux Vim的使用(超详细,只看这一篇就足够了!)

Linux Vim的使用(超详细,只看这一篇就足够了!)

2024-07-09 21:39| 来源: 网络整理| 查看: 265

文章目录 1)Vim 中的5种编辑模式1.命令模式2.输入模式 (命令模式:a、i、o、A、I、O键)3.末行模式 (在命令模式按 :)4.可视化模式(命令模式:v)5.查询模式(命令模式:?、/) 2) 使用vim编辑文件(实例)1.使用 Vim 编辑一个文件2.使用 Vim 编辑多个文件3.在新窗口中打开新的文件4.比较文件内容 开篇先上 vim 键盘神图 在这里插入图片描述

1)Vim 中的5种编辑模式

在命令行中执行 vim filename ,若 filename 已存在,则 filename 被打开显示其内容;若 firename 不存在,则Vim在第一次存盘时自动在硬盘上新建filename文件。

vim有5种模式:命令模式、输入模式、末行模式、可视化模式、查询模式。

1.命令模式

命令模式是用户进入 Vim 后的初始状态,在此模式中,可输入 Vim 命令,让 Vim 完成不同的工作,如光标移动,删除字符和单词、段落复制等,可以对选定内容进行复制。从命令模式可切换到其他四种模式,也可从其他四种模式返回命令模式。在输人模式下按 Esc键,或在末行模式中输人了错误命令,都会回到命令模式,常用的操作及其说明请见下表: VIm 光标移动命令

操作说明h (⬅)将光标向左移动一格l (➡)将光标向右移动一格j (⬇)将光标向下移动一格k (⬆)将光标向上移动一格0 (Home)数字0,将光标移动到行首$ (End)将光标移动到行尾PageUp / PageDown快捷键为 Ctrl + B 与 Ctrl + F 上下翻屏H将光标移动到屏幕顶端M将光标移动到屏幕中间L将光标移动到屏幕底端w 或 W将光标移动到下一单词gg将光标移动到文件的行首G将光标移动文件的尾行

Vim命令模式的复制与粘贴命令

操作说明yy 或 Y复制光标所在的整行2yy复制两行,数字可随意更改y^ 或 y0复制光标所在处到行首(不包括光标处的字符)y$复制光标所在处到行尾(包括光标处的字符)yw复制一个单词y2w复制两个单词,数字可随意更改yG复制到文件尾y1G复制到文件首p粘贴到光标所在行的下一行P粘贴到光标所在行的上一行 Vim 命令模式的删除操作命令 操作说明x 或 del删除键删除一个字符2x删除两个字符 ,数字可随意更换X删除光标前端字符dd删除光标所在行dG删除到文件尾d1G删除到文件首D 或 d$删除到行尾d0删除到行首(不包含光标所在字符)2dd删除所在光标处2行,数字可随意更改,d + 方向键删除所在光标处2行 (上或下或一个字符)dw删除到词尾2dw删除2个单词,数字可随意更改2d$删除后n行u撤回上一步操作

Vim 命令模式的撤销操作命令

操作说明u取消上一个变动U取消一行内所有改动 2.输入模式 (命令模式:a、i、o、A、I、O键)

在输入模式下,可对编辑的文件添加新的内容及修改,为此模式的唯一功能(文本输入)。 Vim 输入模式命令

操作说明a在光标后插入内容A在光标当前行的末尾插入内容i在光标之前插入内容I在光标当前的开始部分插入内容o在光标所在行的下面新增一行O在光标所在行的上面新增一行

3.末行模式 (在命令模式按 :)

此模式主要用来进行文字编辑辅助功能,如字符串查找、替代和保存文件等,在命令模式中输入 ”:“ 字符即可进入末行模式。若输入命名出错则返回命令模式。按Esc键即可返回命令模式。 Vim 末行模式命令

操作说明:w保存当前文件:q结束 Vim (不保存):q!强制结束 Vim (不保存):wq 或 :x保存当前文件并退出(可加!强制保存退出):e 文件名在原始窗口中打开新文件,旧文件则要求保存:e!放弃所有更改,重新编辑:r 文件名在当前光标下一行插入文件的内容:r! 命令在当前光标位置插入命令的执行结果:set nu 或 :set nonu显示行号\取消显示行号:number (数字)将光标定位到number行:[range] s///[g,c,i]替换一个字符在末行模式下,替换命令语法如下: [range]s/目标字符串/替换字符串/[option]

s(search):表示搜索

pattern:要被替换的字符串

string:将要替换pattern指定的字符串

c(confirm):每次替换前会询问

e (error):不显示错误信息

g(globe):不询问,将做整行替换

i(ignore):不区分大小写

g 一般都要用,否则只会替换每一行的第一个符合条件的字符串。多个选项可以合起来用,如 cgi 表示不区分大小写、整行替换、替换前要询问。

4.可视化模式(命令模式:v)

茬命令模式下输人 v,则进入可视化模式。在该模式下,移动光标以选定要操作的字符串,输入 c 剪切选定块的字符串,输人 y 复制选定块的字符串。

在命令模式中输人 p ,可将复制或剪切的内容粘贴在光标所在位置的右边。

5.查询模式(命令模式:?、/) 在命令模式中输入 “/” “?” 等字符则进人查询模式 (可以看成一种末行模式)、在该模式下,可以向下或向上查询文件中的某个关键字。在查找到相应的关键字后,可以用 n/N 键继续寻找下一个/上一个关键字。 Vim命令模式的查询操作: 操作说明/向下查询?向上查询n继续向下查询N继续向上查询

以上仅是常见的vim命令

2) 使用vim编辑文件(实例)

实例——使用 Vim 编辑文件

1.使用 Vim 编辑一个文件

第1步:执行命令 vim csdn.txt

在终端窗口中执行命令#vim csdn.txt,用 Vim 编辑器来编辑 csdn.txt 文件。

刚进人 Vim 之后,即进人命令模式,此时输人的每一个字符皆被视为一条命令,有效命令会被接收;若是无效的命令则会产生响声,以示警告(个人在安装系统时移除声卡,因为警报声太频繁会引起烦躁)。如果想输入或更改内容请输入a、i、o、A、I、O键。

第 2 步:在输人模式下操作。

在输人模式下就可以输人文件内容了。编辑好文件后,按 Esc 键返回命令模式。

第3步:在命令模式下操作

在命令模式下可以删除文件的内容,可以使用复制和粘贴命令。然后按 Shift 和 : 键进入末行模式。

第4步:在末行模式下操作

在末行模式下,可以执行替换命令。

第5步:保存并退出

在命令模式下,按shift键和 : 键进入末行模式,执行 wq 或 x 命令保存并退出。

2.使用 Vim 编辑多个文件 第1步:在 Vim 中打开另一个文件

命令格式如下:

:edit csdn.txt.bak

Vim 会关闭当前文件打开另一个。如果当前文件被修改过且没有保存,Vim 则会显示错误信息而不会打开新文件

E37: No write sinc last change (use ! to override)

中文状态显示:E37: 已修改但尚未保存 (可用 ! 强制执行)

Tips: Vim 在每个错误信息的前面都加了一个错误号。如果不明白错误信息的意思,可以从帮助中获得详细的说明,即 :help E37

出现以上问题,有多个解决方法。首先可通过如下命令保存当前文件。

:write

或者强制 Vim 放弃当前修改并重新编辑新的文件。如下:

:edit! csdn.txt.bak

如果想编辑另一个文件,但又不想马上保存当前文件,可以隐藏它。

:hide edit csdn.txt.bak

原来的文件还在那里,只不过看不见。

第2步:文件列表

可以在启动 Vim 的时候指定一堆文件 (加班时经常使用)。例如:

vim aaa.txt bbb.txt ccc.txt

这个命令启动 Vim,并告诉它要编辑 3 个文件,Vim 只显示第 1 个。等编辑完第 1 个以后、,用如下命令可以编辑第 2个。

:next

如果在当前文件中有未保存的修改,会得到一个错误信息而无法编辑下一个文件。这个问题与前一节执行:edit 命令的问题相同。要放弃当前修改。

:next!

但大多数情况下,需要保存当前文件后再进入下一个,这里有一个特殊的命令如下:

:wnext

这相当于执行了下面的两个命令:

:wrtie :next 要知道当前文件在文件列表中的位置,可以注意一下文件的标题。那里应该显示类似“(2 of 3)”的内容。这表示正在编辑 3 个文件中的第2 个。

第3步:查看文件列表

如果要查看整个文件列表,使用如下命令:

:args

这是argument的缩写,其输出如下内容 (正在编辑的文件会被中括号括起来)

aaa.txt [bbb.txt] ccc.txt

回到前一个文件,可用如下命令:

:wprevious

移动到列表的最后一个文件,可用如下命令:

:last

移动到列表的第一个文件,可用如下命令:

:first

可在 :next 和 :previous 前面加上计数词 (表示跳转第x个文件),命令如下:

:2next

第4步:自动保存文件

当进行多个文件编辑时,时刻要用 :wrtie 保存文件,在大量的编辑工作中非常影响效率,这时候可设置每次修改内容时,自动保存文件,命令如下:

:set autowrite

关闭自动保存:

:set noautowrite

第5步:编辑另一个文件列表

可以编辑另一个文件列表,而不需要退出 Vim 。使用如下命令编辑另外3个文件:

:args 111.txt 222.txt 333.txt

甚至使用通配符 (生产环境中不建议使用)

:args *.txt

当使用了文件列表,并用 Vim 编辑全部文件时,就不能提前退出。假设还没用编辑过最后一个文件,退出 Vim 时会提示错误信息:

E173: 6(文件数量) more files to edit

这时候只要在执行上一次保存命令即可保存退出

第6步:在另一个文件跳转到另一个文件

假设,现在在 111.txt 文件中,执行 :next 命令,跳转到 222.txt 文件里。这是只要安下 Ctrl+^ 组合键 可实现两个文件中来回跳转。

第7步:多文件的编辑

在 Vim 中可以同时打开很个文件进行编辑(无特殊情况建议多开一个终端)。下面介绍相关命令:

横向打开多文件:

:sp 文件名

3.在新窗口中打开新的文件 :e 文件名

查看 Vim 打开了多少个文件,在屏幕下方输出:

:ls 1 %a "111.txt" line 60 2 # "222.txt" line 0 3 "333.txt" line 0 4 "aaa.txt" line 0 5 "bbb.txt" line 0 6 "ccc.txt" line 0

:ls 命令相关说明:

1:表示打开文件的序号

%a :表示文件的代号,表示当前编辑的文件

#: 表示上一次编辑的文件

“111.txt” “222.txt” :表示文件名

line 60 : 表示光标的位置

打开序号文件:此命令用于打开 :ls 看到序号文件

:b (序号)

4.比较文件内容 :set diff

以上是个人在生产环境中的 Vim 常使用的命令及技巧

到此结束



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3