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

这篇具有很好参考价值的文章主要介绍了Linux Vim的使用(超详细,只看这一篇就足够了!)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


开篇先上 vim 键盘神图
linux的vim使用教程,Linux基础,vim,linux,编辑器

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 常使用的命令及技巧

到此结束文章来源地址https://www.toymoban.com/news/detail-737400.html

到了这里,关于Linux Vim的使用(超详细,只看这一篇就足够了!)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python操作Excel教程(全网最全,只看这一篇就够)

    目录 Python Excel库对比 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 1.2 安装xlrd模块 1.3 使用介绍 1.4 实战训练 2 Python xlwt 写入 操作Excel(仅限xls格式!) 2.1 pip安装xlwt 2.2 使用xlwt创建新表格并写入 2.3 xlwt 设置字体格式 2.4 xlwt 设置列宽 2.5 xlwt 设置行高 2.6 xlwt 合并列和行 2.7 xlwt 添加

    2024年02月15日
    浏览(41)
  • git代码撤销回滚只看这一篇就足够了!

      目前大家都在使用 git ,在项目开发中,总会遇到提交的代码有问题,想要撤销回滚的操作,关于撤销回滚代码单独给大家介绍一下。   正常的提交代码如果要提交到远程仓库有下边3步命令:   在 git 里,撤销代码的命令主要为 git reset ,但是有 git reset --soft 、 gi

    2024年02月03日
    浏览(38)
  • 云平台 stm32连接oneNET保姆级别教学只看这一篇就够了~

    ▬▬▬▬▬▶玩转oneNET平台◀▬▬▬▬▬ oneNET点击直达 你现在拥有了一个oneNET账号 如设备ID 鉴权信息 产品ID 以上三个保存好 在代码中需要用到 硬件准备方案1 EPS01S+烧录座 硬件准备方案2 ESP8266-NodeMcu 成本最低选第1个 手头上正好有2就选2个 现在正式开始进入固件烧录 获取

    2024年02月11日
    浏览(41)
  • 云平台 stm32连接阿里云2023最新版本保姆级别教学只看这一篇就够了~

    ▬▬▬▬▬▶玩转阿里云◀▬▬▬▬▬ 阿里云平台点击直达 点击控制台 鼠标悬浮会出现下拉栏 点击物联网 再点击物联网平台 点击公共实例 新用户需要开通 开通需要五分钟的时间 点击创建产品 蓝色显眼字体 参数设置 仔细比对下图 点击查看产品详情 蓝色显眼字体 点击功

    2024年02月11日
    浏览(34)
  • 数据结构—顺序表(如果想知道顺序表的全部基础知识点,那么只看这一篇就足够了!)

            前言:学习完了C语言的基础知识点之后,我们就需要使用我们所学的知识来进一步对存储在内存中的数据进行操作,这时候我们就需要学习数据结构。而这篇文章为数据结构中顺序表的讲解。 ✨✨✨ 这里是秋刀鱼不做梦的BLOG ✨✨✨ 想要了解更多内容可以访问我的

    2024年04月13日
    浏览(40)
  • 【Linux】shell编程基础(超详细,入门看这一篇就够了)

    🥇🥇【Liunx学习记录篇】🥇🥇 篇一:【Linux】VMware安装unbuntu18.04虚拟机-超详细步骤(附镜像文件) 篇二:【Linux】ubuntu18.04系统基础配置及操作 篇三:【Linux】用户与组的操作详细介绍 篇四:【Linux】管理Linux文件权限属性介绍 篇五:【Linux】使用数字表示法和文件表示法修

    2024年02月04日
    浏览(40)
  • CSS基础之伪类选择器(如果想知道CSS的伪类选择器知识点,那么只看这一篇就足够了!)

            前言:学习CSS就必须要学习选择器,在之前我们已经学习了基本选择器和复合选择器,但是还有几个选择器没有学习,这篇文章主要讲解伪类选择器。 ✨✨ ✨ 这里是秋刀鱼不做梦的BLOG ✨✨✨ 想要了解更多内容可以访问我的主页 秋刀鱼不做梦-CSDN博客 那么废话不多

    2024年04月17日
    浏览(40)
  • 耗时80小时!超详细的胎教级Stable Diffusion使用教程,看这一篇就够!

    大家好,用爷爷都能听懂的方式分享可以落地实操的干货 花了很长时间终于整理好了这份SD的使用教程! 从手把手安装部署,到界面功能讲解,再到实战案例制作,到下载优质模型,每一步都有详细教程 并且用一个又一个的例子展示,让大家不止是枯燥地看,而是看完立刻

    2024年01月17日
    浏览(48)
  • gitee教程详解(超详细,看这一篇就够了!)

    Git是目前世界上最先进的 分布式版本控制系统 。它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。 那什么是版本控制系统? 版本控制系统不但能自动帮记录每次文件的改动,还可以让其他人协作编辑,这样就不用自己管理一堆类似的

    2024年02月08日
    浏览(39)
  • Linux 命令大全(看这一篇就足够)

    目录 第一章:Linux目录结构 第一节:基本介绍 第二节:Linux具体目录结构 第二章:Linux常用命令 第一节:目录处理命令 2.1.1 命令格式 2.1.2 列出目录的内容:ls 命令 2.1.3 创建目录:mkdir 命令 2.1.4 切换工作目录:cd 命令 2.1.5 显示当前路径:pwd 命令  2.1.6 删除空目录:rmdir 命

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包