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编辑器,你学废了么?

目录
相关文章
|
25天前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
72 1
Linux系统之部署轻量级Markdown文本编辑器
|
1月前
|
监控 Unix Linux
Linux系统工具
Linux系统工具
42 6
|
14天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
32 5
Linux系统之安装Ward服务器监控工具
|
16天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
32 2
Linux系统之安装cook菜谱工具
|
5天前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
26 1
|
5天前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
11 1
|
29天前
|
存储 运维 搜索推荐
|
1月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
19 5
|
30天前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
54 1
|
12天前
|
IDE 搜索推荐 开发工具
LunarVim,vim编辑器推荐
【10月更文挑战第9天】