IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Vim编辑器快速上手 -> 正文阅读

[开发工具]Vim编辑器快速上手

Vim编辑器是什么?Vim编辑器是Linux系统中自带的一款文本编辑工具,我们可以使用Vim编辑器去编辑文本。Vim编辑器和我们在Windows系统中使用的文本编辑器完全不同,因为Linux是基于命令行的,它不像Windows系统的文本编辑器那样,可以通过鼠标,快速进入某个目录,然后编辑,Vim编辑器有它的特点,它基于命令行和快捷键的方式,当你熟练后,使用Vim编辑器去编辑文本,效率完全不必Windows下的文本编辑器差!

Vim编辑器主要模式

Vim 编辑器主要有3中模式:普通模式、插入模式、命令模式

普通模式(Normal mode)

在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是 Vim 启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。

Vim 强大的编辑功能来自于其普通模式命令。在普通模式下,可以输入快捷命令对文本内容进行操作。比如dd删除,gg快速到文本头部等等。

在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按 a(append/追加)键或者 i(insert/插入)键。

插入模式(Insert mode)

在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。
在插入模式中,可以按 ESC 键回到普通模式。

命令行模式(Command line mode)

在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim 返回到命令行模式之前的模式,通常是普通模式。

在这里插入图片描述

Vim快速入门

vim 启动进入普通模式,处于插入模式或命令行模式时只需要按 Esc即可进入普通模式。普通模式中按 i(插入)或 a(附加)键都可以进入插入模式,普通模式中按 : 进入命令行模式。命令行模式中输入 wq 回车后保存并退出 vim。
在这里插入图片描述

使用 vim 命令进入 vim 界面

vim 后面加上你要打开的已存在的文件名或者不存在(则作为新建文件)的文件名。在环境里输入下面的命令:

vim practice_1.txt

直接使用 vim 也可以打开 vim 编辑器,但是不会打开任何文件。

进入命令行模式后输入 :e filepath 同样可以打开相应文件。

游标移动

在进入 vim 后,按下 i 键进入插入模式。在该模式下您可以输入文本信息,下面请输入如下三行信息:

12345678
abcdefghijk
csdn.com

按Esc进入普通模式,在该模式下使用方向键或者 h,j,k,l 键可以移动游标。

按键说明
h
l右(小写 L)
j
k
w移动到下一个单词
b移动到上一个单词

当然我更喜欢使用方向键去控制光标的移动,不过在命令模式中,使用w和b用于单词之间的快速移动还是非常方便的。
在这里插入图片描述

进入插入模式

使用Vim用的最多的应该就是使用它的插入模式,我们可以在插入模式中写输入我们想要输入到文本中的字符,但插入模式不仅仅只能使用i进行插入,我们还能有其他的插入方式去提高效率。

命令说明
i在当前光标处进行编辑
I在行首插入
A在行末插入
a在光标后插入编辑
o在当前行后插入一个新行
O在当前行前插入一个新行
cw替换从光标所在位置后到一个单词结尾的字符

我们除了使用i在当前光标所处的位置插入以外,还能使用其他方式进入插入模式,在光标所属的行首行尾,或者下一行插入。

命令行模式下保存文档

从普通模式输入 : 进入命令行模式,输入 w 回车,保存文档。

命令行模式下退出 vim

从普通模式输入 : 进入命令行模式,输入 wq 回车,保存并退出编辑。

以下为其它几种退出方式:

命令说明
:q!强制退出,不保存
:q退出
:wq!强制保存并退出
:w<文件路径> 另存为
:saveas文件路径 另存为
:x保存并退出
:wq保存并退出

普通模式下删除 vim 文本信息

在Windows下我们是如何删除文本了,使用backSpace退格快速删除?
但这样的参数方式,在文本特别的的情况下,删除速度不可恭维,Vim编辑器有更好的删除策略。
进入普通模式,使用下列命令可以进行文本快速删除:

命令说明
x删除游标所在的字符
X删除游标所在前一个字符
Delete同 x
dd删除整行
dw删除一个单词(不适用中文)
d$或D删除至行尾
d^删除至行首
dG删除到文档结尾处
d1G删至文档首部

除此之外,你还可以在命令之前加上数字,表示一次删除多行,如:

2dd 表示一次删除 2 行。

是不是很方便。

Vim文档编辑

重复执行上次命令

在普通模式下 .(小数点)表示重复上一次的命令操作。

拷贝测试文件到本地目录:

cd /home/shiyanlou
cp /etc/protocols .
vim protocols

普通模式下输入 x,删除第一个字符,输入 .(小数点)会再次删除一个字符,除此之外也可以重复 dd 的删除操作。

执行指定次数相同的命令
进入普通模式输入 N,N 表示重复后面的次数,下面来练习:

输入 10x,删除 10 个连续字符
输入 3dd,将会删除 3 行文本

在普通模式下,你还可以使用 dw 或者 daw(delete a word)删除一个单词,所以你可以很容易的联想到 dnw(n 替换为相应数字) 表示删除 n 个单词。

游标的快速跳转

普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现行间跳转和行内跳转。

行间跳转

命令说明
nG游标移动到第 n 行
gg游标移动到到第一行
G到最后一行

还是来练习一下吧,使用 vim 打开练习文档:
依次进行如下操作练习:

  • 快速跳转到第 9 行,然后将其该行删除
  • 回到第一行,向下删除 8 行
  • 跳转到文档末,然后删除该行

小技巧:你在完成依次跳转后,可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置,这个技巧很实用,比如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。

复制粘贴和剪切

复制及粘贴文本

  • 普通模式中使用 y 复制

  • 普通模式中,yy 复制游标所在的整行(3yy 表示复制 3 行)

  • 普通模式中,y^ 复制至行首,或 y0。不含光标所在处字符。

  • 普通模式中,y$ 复制至行尾。含光标所在处字符。

  • 普通模式中,yw 复制一个单词。

  • 普通模式中,y2w 复制两个单词。

  • 普通模式中,yG 复制至文本末。

  • 普通模式中,y1G 复制至文本开头。

  • 普通模式中使用 p 粘贴

  • 普通模式中,p(小写)代表粘贴至光标后(下)

  • 普通模式中,P(大写)代表粘贴至光标前(上)

剪切及粘贴

其实前面讲得 dd 删除命令就是剪切,你每次 dd 删除文档内容后,便可以使用 p 来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行。

ddp,就这么简单,即实现了快速交换光标所在行与它下面的行。

思考:

我们前面学过的那些命令、操作,除了提到过的还有哪些支持前面加上数字实现重复多次操作,如 3dd。

Vim 查找替换

快速查找

普通模式下输入 /然后键入需要查找的字符串,按回车后就会进行查找。? 与/ 功能相同,只不过 ? 是向上而 / 是向下查找

进入查找之后,输入 n 和 N 可以继续查找。n 是查找下一个内容,N 查找上一个内容。

高级查找

普通模式下输入 \* 寻找游标所在处的单词
普通模式下输入 \# 同上,但 \# 是向前(上)找,\* 则是向后(下)找
普通模式下输入 g\* 同 \*,但部分符合该单词即可
普通模式下输入 g\# 同 \#,但部分符合该单词即可
以上查找 n,N 的继续查找命令依然可以用。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:17:48  更:2022-04-01 00:18:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:43:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码