Linux工具之Vim编辑器

简介: Linux工具之Vim编辑器

关于Vim


Vim是Linux系统下一款功能强大的编辑器,在Vi的基础上改进和增加了许多特性。


Vim的三种模式


编辑模式。

输入模式。

末行模式。


三种模式之间的关系如下图:


image.png


三种模式之间的转换方式如下:


编辑–>输入:


    i: 在当前光标所在字符的前面,转为输入模式;
    a: 在当前光标所在字符的后面,转为输入模式;
    o: 在当前光标所在行的下方,新建一行,并转为输入模式;
    I:在当前光标所在行的行首,转换为输入模式
    A:在当前光标所在行的行尾,转换为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式;


输入–>编辑:


ESC
• 1


编辑–>末行:


:
• 1


末行–>编辑:


ESC, ESC


Vim常用命令


Vim的常用命令如下图所示:


image.png


具体常用命令可以分为以下几个大类:


打开/退出


vim -R file1 只读打开
:qall 退出所有文件
:wq 写入并退出
:q! 强制退出

插入

i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行

移动

h 左移一个字符
l 右移一个字符
k 上移一个字符
j 下移一个字符

删除

dd 删除当前行
dj 删除当前行和上一行
dk 删除当前行和下一行
10dd 删除当前行开始的共10行
D 删除当前字符至行尾
x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符

跳转

gg 跳转到文件头
G 跳转到文件尾
gg=G自动缩进 (非常有用)
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
冒号+行号,跳转到指定行;比如:120,跳转到120行;
$ 跳转到行尾0 跳转到行首

编辑

u             撤销
Ctrl + r      重做
yy            复制当前行
按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制任意部分
p 粘贴在当前位置
另外,删除在vim里面就是剪切的意思,所以dd就是剪切当前行,可以用v或V选择特定部分再按d就是任意剪切了

查找

/text  查找text,按n健查找下一个,按N健查找前一个

?text  查找text,反向查找,

:set ignorecase  忽略大小写的查找
:set noignorecase  不忽略大小写的查找

替换

:s/old/new/ 用old替换new,替换当前行的第一个匹配
:s/old/new/g 用old替换new,替换当前行的所有匹配
:%s/old/new/ 用old替换new,替换所有行的第一个匹配
:%s/old/new/g 用old替换new,替换整个文件的所有匹配
也可以用v或V选择指定行,然后执行

多文件操作

vim file1 file2 file3 ... 同时编辑多个文件
:split 将窗口分成上下两个子窗口,对应两个不同的文件
:vsplit 将窗口分成左右两个子窗口,对应两个不同的文件
:open file4 打开新文件
:bn 切换到下一个文件(当前窗口)
:bp 切换到上一个文件(当前窗口)
Ctrl-w h    移动到窗口左边
Ctrl-w j    移动到窗口下边
Ctrl-w k    移动到窗口上边
Ctrl-w l    移动到窗口右边

高级话题

1、显示或取消显示行号

    :set nu
    :set nonu
    mu = number

2、显示忽略或区分字符大小写

    :set ic
    :set noic
    ic = ignorecase

3、设定自动缩进

    :set ai
    :set noai
    ai = autoindent

4、查找到的文本高亮显示或取消

    :set hlsearch
    :set nohlsearch

5、语法高亮

    :syntax on
    :syntax off

``

:set ic

:set noic

ic = ignorecase

3、设定自动缩进
:set ai
:set noai
ai = autoindent
4、查找到的文本高亮显示或取消
5、语法高亮
:syntax on
:syntax off

关于Linux工具之Vim编辑器,你学废了么?

目录
相关文章
|
13天前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
69 36
|
22天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
25天前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
79 28
|
27天前
|
Rust Ubuntu Java
[Linux工具] Makefile
Makefile是Linux环境下用于自动化编译和链接程序的配置文件,常用于简化大型项目的编译流程。通过定义目标文件、依赖文件及生成命令,Makefile能高效管理编译任务。它不仅适用于C语言项目,还可扩展到其他编程语言和非编程任务中。
53 20
[Linux工具] Makefile
|
1月前
|
安全 网络协议 Linux
结合 `nc` 工具利用笑脸漏洞(Smile Bug)攻击 Metasploitable2 Linux
本文介绍如何使用 `nc`(Netcat)工具结合笑脸漏洞(Smiley Bug)攻击 Metasploitable2 Linux 靶机。首先概述了 `nc` 的基本功能和高级用法,包括建立连接、监听端口、文件传输等操作。接着详细描述了笑脸漏洞的原理及其在网络攻防中的应用,展示了通过 `nc` 发送恶意输入检测漏洞的方法。最后结合 Python 脚本实现更复杂的攻击场景,并强调了合法性和环境隔离的重要性。
51 13
|
1月前
|
开发框架 Java 编译器
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
78 1
|
2月前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
177 6
|
9天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用