Linux Vim 使用 显示行号、替换、查找、多文件打开等骚操作

目录

简述

vim的三种模式

概述

转换方式

文本编辑

命令模式

插入(编辑)模式

底行模式

搜索关键字

显示行号

替换

多文件打开


简述

vi编辑器是Linux系统下标准的编辑器。

那么简单的理解,就像是Windows下的记事本。

补充:vim是vi的升级版,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

  • vim的一般使用方法:

vim filepath

//如果直接输入vim则打开一个新文件

  • vim 有 3 种工作模式,分别是命令行模式、编辑模式、最底行模式。

vim的三种模式

概述

  • 命令行模式:最初进入vi之后的模式,该模式下可以移动光标进行浏览,整行删除,但无法输入文字。
  • 编辑模式:只有在该模式下,用户才能进行文字的编辑输入。
  • 最底行模式:该模式下,光标位于屏幕底行,用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号。

转换方式

文本编辑

命令模式

直接用命令(vi 文件名)打开一个文件的话,默认是在命令模式下。

root@localhost \~# vim /etc/gitlab/gitlab.rb

p 粘贴复制的内容到光标所在行之上

dd 删除当前光标所在行

cc 剪切当前光标所在行

u 取消前一个动作

此时处于命令模式下。

插入(编辑)模式

在命令模式下输入a、A、i 、I、o、O中任何一个字符即可进入插入模式,在此模式下才可以对文件进行编辑,输入内容。在此模式下按 ESC键 退出到命令模式

a、A、i、I、o、O字符作用如下:

  1. a:在当前光标下一位开始编辑

  2. A:在当前光标所在行行尾开始编辑

  3. i:在当前光标开始编辑

  4. I:在当前光标所在行行首开始编辑

  5. o:在当前光标的下一行开始编辑

  6. O:在当前光标的上一行开始编辑

底行模式

在命令模式下,通过输入 : (英文冒号)即可切换到底行模式,底行模式下可以做一些保存,字符替换等操作,底行模式下命令以回车结束,退出或者返回命令模式,或者双击Esc返回命令模式。

常用的底行模式下的命令如下:

:set nu 显示行号

:set nonu 取消显示行号

:q 只退出,不保存

:wq 保存退出

:q! 强制退出

:wq! 强制保存退出
:%s/old/new 将old替换成new
:/string 查找字符串
:n 定位到n行(n指数字)

搜索关键字

例如搜索 the写法:/the +回车

1、/+关键字 ,回车即可。 /the

此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置;

2、?+关键字,回车即可。?the

此为从文档挡圈位置向上查找关键字,按n键向上查找关键字;

3、查找单词"the"(忽略大小写)

复制代码
: /the\c //从光标位置开始查找

n 下一个

N 上一个

显示行号

复制代码
: set number //可简化为 set nu

替换

:1,10s/old/new/g替换 1 到 10 行 所有 old 为 new(s 表示替换)

:%s/old/new/g 替换整个文件的 old 为 new(% 是一个变量,在这里代表整篇文档)

多文件打开

在 vim 中可以同时打开两个文件

bash 复制代码
[root@hepingfly]# vim -o gitlab.rb gitlab-secrets.json         上下分屏打开两个文件(小 o)
[root@hepingfly]# vim -O gitlab.rb gitlab-secrets.json          左右分屏打开两个文件(大 O)

如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。

如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。

参考: https://blog.csdn.net/Sevel7/article/details/105189768

https://blog.csdn.net/JunLeon/article/details/120407552

https://zhuanlan.zhihu.com/p/155973403

欢迎点赞、评论

相关推荐
跨境小彭22 分钟前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu
李纲明22 分钟前
WordPress 定时发布不跑、备份邮件延误:先核 WP-Cron 触发与回环,再改系统 Cron
运维·wordpress·定时任务·devdiy·wp-cron
chushiyunen1 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
逆风的蚂蚁1 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
mennekes2 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
程序猿老A4 小时前
轻量云服务器总是卡,内存占比高?
运维·服务器
一只鹿鹿鹿5 小时前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节
沫璃染墨5 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
Kobebryant-Manba5 小时前
C/S和B/S结构
运维·服务器
AI_Lab017 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器