Linux Vim的 命令大全

简介: Linux Vim的 命令大全

Vim 的历史

Vim 的历史可以追溯到 1991 年,它是由荷兰程序员 Bram Moolenaar 开发的。Vim 的全称是 Vi IMproved,顾名思义,它是对经典文本编辑器 Vi 的增强版。以下是 Vim 的发展历史及其背景介绍:

Vi 的诞生

要了解 Vim,首先要提到它的前身 Vi。Vi 是 UNIX 操作系统中的一种文本编辑器,由 Bill Joy 在 1976 年开发。Vi 的诞生初衷是为了提供一个可以在当时计算机资源受限的环境中使用的高效文本编辑器。Vi 的设计哲学强调键盘上的简洁快捷操作,减少依赖鼠标的交互,极大地提高了编辑文本的效率。


由于 Vi 是开源的,并且伴随 UNIX 的流行在多个操作系统中得到广泛应用,许多开发者和用户都对其功能提出了更多需求。然而,Vi 在早期版本中存在一些功能的局限性,这为 Vim 的诞生奠定了基础。


Vim 的诞生

Bram Moolenaar 于 1991 年发布了最初版本的 Vim,最初它是为 Amiga 计算机设计的。最初版本被称为 “Vi IMitation”,旨在模仿 Vi 的行为。随着时间推移,Moolenaar 添加了大量新功能,使其超越了 Vi 的功能,因而重命名为 Vi IMproved,即 Vim。


Vim 作为 Vi 的增强版,提供了许多原始 Vi 所缺乏的功能,例如:


多级撤销:Vi 只有单级撤销功能,而 Vim 支持无限撤销。

语法高亮:Vim 提供了语法高亮显示,帮助用户在编辑代码时更容易区分不同的语法元素。

可视模式:Vim 引入了可视模式,允许用户在选择文本后对其进行操作。

插件系统:Vim 支持插件,使其功能可以进一步扩展,适应各种需求。

这些改进使得 Vim 不仅是一个高效的文本编辑器,还成为了开发者、系统管理员等专业用户的首选工具之一。


Vim 的开源与发展

Bram Moolenaar 从 Vim 的早期版本开始就将其作为开源软件发布,并一直保持着对 Vim 的维护和更新。他还通过 Vim 推广慈善项目。他将用户捐款用于支持乌干达的儿童福利项目,尤其是帮助当地的儿童教育和基础设施建设。


随着时间的推移,Vim 社区不断壮大,越来越多的贡献者加入,推出了各种插件和配置,进一步扩展了 Vim 的功能。例如,Vim 的插件系统使得它能够支持 IDE 功能,如代码补全、错误检查等,使其成为了现代开发者的强大工具。


Vim 的影响力

Vim 的影响力不仅限于 Linux 和 UNIX 系统,它几乎可以在所有主流操作系统上运行,包括 Windows 和 macOS。Vim 的轻量级、高效特性使其在资源受限的环境中尤其受欢迎,许多服务器管理员依赖 Vim 进行快速的远程文件编辑。


Vim 的设计思想和模式编辑方式也影响了许多其他编辑器。许多现代文本编辑器(如 Sublime Text、Visual Studio Code 等)提供了 Vim 模式,让用户可以在这些编辑器中使用 Vim 的操作方式。


1.Vim 的基本模式

Vim 有三种主要的模式,每种模式对应不同的操作:

正常模式(Normal Mode):默认模式,用于浏览和修改文本。

插入模式(Insert Mode):用于插入和编辑文本。

命令模式(Command Mode):用于执行保存、退出、查找等命令。

进入 Vim

复制代码

vim filename

打开文件 filename,进入正常模式。如果文件不存在,Vim 会创建一个新文件。


2. 正常模式常用命令

进入 Vim 默认处于正常模式,可通过以下命令来快速导航和操作文本。


基本导航

h:光标左移一个字符

l:光标右移一个字符

j:光标下移一行

k:光标上移一行

w:跳到下一个单词的开头

b:跳到上一个单词的开头

gg:移动到文件开头

G:移动到文件结尾

0:移动到行首

$:移动到行尾

Ctrl + f:向下翻页

Ctrl + b:向上翻页

编辑文本

x:删除光标所在字符

dd:删除当前行

yy:复制当前行

p:粘贴复制或剪切的内容

u:撤销上一步操作

Ctrl + r:重做撤销的操作

r:替换当前字符

J:将当前行与下一行合并


:当前行右移

<<:当前行左移

搜索与替换

/pattern:搜索 pattern

n:跳转到下一个匹配结果

N:跳转到上一个匹配结果

:%s/old/new/g:全局替换所有 old 为 new

:%s/old/new/gc:全局替换,逐个确认

高效删除

dw:删除到下一个单词的开头

d$:删除至行尾

dgg:删除至文件开头

dG:删除至文件结尾


3. 插入模式

在正常模式下,通过以下命令进入插入模式:


i:在光标前插入

I:在行首插入

a:在光标后插入

A:在行尾插入

o:在当前行下方插入新行

O:在当前行上方插入新行

进入插入模式后,输入的文本将被插入文件中。完成后按 Esc 键返回正常模式。


4. 命令模式

在正常模式下,按 : 进入命令模式,执行各种文件操作命令。


文件操作

:w:保存文件

:q:退出 Vim

:wq:保存并退出

:q!:不保存强制退出

:w filename:将文件另存为 filename

:e filename:打开文件 filename

:r filename:将文件 filename 的内容插入到当前文件中

:set nu:显示行号

:set nonu:取消行号显示


5. 可视模式

按下 v 键进入可视模式,可以通过移动光标选择文本,进行批量操作。


v:字符选择

V:行选择

Ctrl + v:块选择

d:删除选择的文本

y:复制选择的文本


:右移选择的文本

<:左移选择的文本

6. 其他有用的命令

.:重复上一个命令

~:切换字符大小写

Ctrl + g:显示光标所在行与文件信息

:! command:执行外部命令,例如 :! ls 列出当前目录的文件

7. 自定义设置

你可以通过配置 .vimrc 文件,定制 Vim 的行为。例如,自动显示行号、设置缩进等。

set number           " 显示行号
set autoindent       " 自动缩进
set tabstop=4        " 将 Tab 设为 4 个空格
set shiftwidth=4     " 每次缩进为 4 个空格
set expandtab        " 将 Tab 替换为空格
syntax on            " 启用语法高亮


下载

下载https://www.vim.org/download.php

windows 下载

文档下载

目录
相关文章
|
18天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
112 6
|
19天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
58 3
|
19天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
51 2
|
27天前
|
缓存 监控 Linux
|
1月前
|
Linux Shell 数据安全/隐私保护
|
1月前
|
域名解析 网络协议 安全
|
14天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
47 3
|
2月前
|
运维 监控 网络协议
|
2月前
|
监控 Linux Shell
|
19天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
57 3