DevOps
网络知识整理
交换机的主要分类
Linux 常用命令
本文档使用 MrDoc 发布
-
+
首页
Linux 常用命令
## Vim 的使用 ### vi 和 vim的关系 vi 和 vim 是两款文本编辑器,它们之间有着直接的联系和区别。 vi 是 Visual Editor 的缩写,是一款在 UNIX 系统上广泛使用的文本编辑器。它于 1979 年由 Bill Joy 开发,是最早的屏幕编辑器之一。vi 编辑器以其简洁的界面和易于使用的命令模式而闻名,尽管它的功能在今天看来可能相对基础,但它的设计理念和操作方式对后续的许多文本编辑器产生了深远的影响。 vim 是 vi improved 的缩写,意味着它是 vi 的改进版本。vim 由 Bram Moolenaar 开发,最初的目的是为了提供一个更加强大和易于使用的文本编辑器。vim 在 vi 的基础上增加了许多新的特性,包括语法高亮、多窗口编辑、命令行历史、自动补全、插件系统等。这些特性使得 vim 成为了程序员和系统管理员的最爱。 vim 还保持了对 vi 命令的兼容性,这意味着 vi 用户可以轻松地过渡到 vim,而无需重新学习所有的快捷键和命令。 此外,vim 还具有跨平台的特性,可以在多种操作系统上运行,包括 Linux、Windows、macOS 等。它还拥有一个活跃的社区,不断地进行更新和改进,以适应现代编程的需求。 总结来说,vim 是 vi 的一个增强版,它继承了 vi 的基本设计理念,同时增加了许多现代化的功能和改进,使得它更加强大和用户友好。两者之间的关系可以看作是经典与创新的结合,vim 保留了 vi 的精髓,同时引入了新的特性来满足用户的需求。 ### vim的使用模式 `vim` 是一个高度可配置的文本编辑器,它具有多种模式,每种模式都有其特定的用途和命令。这些模式的设计使得用户能够在编辑文本时更加高效和灵活。以下是 `vim` 的几种主要模式: 1. **普通模式(Normal Mode)**: - 这是 `vim` 启动时的默认模式,也是大多数命令操作的起点。 - 在普通模式下,你可以使用光标键移动光标,执行搜索、替换等命令。 - 普通模式下的一些常用命令包括复制(`yy`)、粘贴(`p`)、删除(`dd`)、查找(`/pattern`)等。 2. **插入模式(Insert Mode)**: - 用于插入文本。 - 可以通过按 `i` 进入插入模式,在光标位置开始输入文本。 - 也可以通过 `a` 在光标后插入文本,或者 `A` 在行尾插入文本。 - 插入模式下,你可以像在其他文本编辑器中一样自由地输入文本。 3. **可视模式(Visual Mode)**: - 用于选择文本块,以便进行复制、剪切或删除等操作。 - 可以通过按 `v` 进入可视模式,然后使用光标键选择文本。 - 也可以使用 `V` 进入可视行模式,选择整行或多行文本。 - 选中文本后,可以执行 `y` 复制、`d` 删除或 `c` 改变(删除并进入插入模式)等操作。 4. **命令模式(Command Mode)**: - 虽然 `vim` 没有明确称为“命令模式”的模式,但普通模式可以视为执行命令的模式。 - 在普通模式下,通过输入冒号 `:` 可以进入命令行模式,用于执行一些需要完整命令的高级操作,如保存文件、退出编辑器、运行宏等。 5. **末行模式(Last Line Mode)**: - 通过按 `:` 进入末行模式,可以执行一些编辑器级别的命令。 - 末行模式下的命令通常用于管理编辑器选项、保存文件、退出编辑器等。 6. **替换模式(Replace Mode)**: - 通过按 `r` 进入替换模式,可以替换单个字符。 - 替换模式是普通模式的一个特殊状态,可以快速替换光标所在位置的单个字符。 7. **易用性模式(Easy Mode)**: - `vim` 7.4 版本引入了易用性模式,旨在为新手用户提供更友好的体验。 - 在这个模式下,一些命令会以更直观的方式呈现,例如,`dd` 命令会提示用户“删除当前行”。 这些模式是 `vim` 编辑器的核心特性之一,通过灵活地在不同模式间切换,用户可以高效地完成各种编辑任务。掌握这些模式的切换和使用,是成为一名熟练的 `vim` 用户的关键。 通常最常用的有`命令模式`、`插入模式`、`尾行模式` ### 常用指令 1. **启动和打开文件**: - `vi filename`:启动 `vi` 并打开(或创建)一个名为 `filename` 的文件。 2. **插入模式**: - `i`:在光标前进入插入模式。 - `I`:在当前行的开头进入插入模式。 - `a`:在光标后进入插入模式。 - `A`:在当前行的末尾进入插入模式。 - `o`:在当前行下方新开一行并进入插入模式。 - `O`:在当前行上方新开一行并进入插入模式。 3. **命令模式**: - `:w`:保存文件。 - `:q`:退出 `vi`。 - `:wq`:保存文件并退出 `vi`。 - `:x`:同 `:wq`,是 `vi` 的快捷方式。 - `:q!`:放弃所有更改并退出 `vi`。 - `:w filename`:将文件保存为 `filename`。 - `:%s/old_text/new_text/g`:查找 `old_text` 并替换为 `new_text`,`g` 表示全局替换。 - `:%s/old_text/new_text/gc`:全局替换时,每次替换前都会要求用户确认。 4. **移动光标**: - `h`:向左移动一个字符。 - `j`:向下移动一行。 - `k`:向上移动一行。 - `l`:向右移动一个字符。 - `G`:移动到文件的最后一行。 - `gg`:移动到文件的第一行。 - `$`:移动到当前行的末尾。 - `0`:移动到当前行的开头。 - `/text`:向下搜索 `text` 字符串。 - `?text`:向上搜索 `text` 字符串。 - `n`:跳转到下一个搜索匹配。 - `N`:跳转到上一个搜索匹配。5. **编辑文本**: - `dd`:删除当前行。 - `D` 或 `d$`:从光标位置删除至行尾。 - `d^`:从光标位置删除至行首。 - `dw`:删除从光标开始的一个单词。 - `diw`:删除光标所在的整个单词。 - `yy` 或 `Y`:复制当前行。 - `yw`:复制从光标开始的一个单词。 - `yiw`:复制光标所在的整个单词。 - `p`:粘贴先前复制或删除的内容。 5. **查找和替换**: - `/pattern`:向下搜索 `pattern`。 - `?pattern`:向上搜索 `pattern`。 - `:%s/old/new/g`:在整个文件中查找 `old` 并替换为 `new`,`g` 表示全局替换。 - `:%s/old/new/gc`:全局替换时,每次替换前都会要求用户确认。 这些命令是 `vi` 编辑器中的基础,通过熟练掌握这些命令,用户可以更加高效地进行文本编辑工作。需要注意的是,`vi` 命令模式和插入模式是两种不同的状态,用户需要在这两种模式之间切换来执行不同的操作 ## Linux常用命令 > cat > chmod > chown > ln > more 和 less > head 和 tail > grep > find > top
Honlia
2024年4月6日 00:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码