Linux(三) | Vim 编辑器的模式化架构与核心操作机制研究
个人主页-爱因斯晨
文章专栏-Linux
最近学习人工智能时遇到一个好用的网站分享给大家:
人工智能学习
介绍
Vim 是一款源于 Vi 且功能强大、应用广泛的文本编辑器,适用于多平台,有着模式化编辑(含命令、插入、末行模式)、高度可定制、文本处理高效、支持多种编程语言等特点,常用于编程开发、服务器管理以及各类文本处理编辑场景,虽学习门槛稍高,但熟练掌握后能极大提高编辑效率。
基本上有三种模式:命令模式、输入模式、底线模式。
作用:
命令模式
:刚启动vim就进入命令模式
vim doudou.txt
刚进入时输入的被识别为命令不是字符
常用命令:
i
:输入模式x
:删除当前光标处的字符:
切换到底线命令模式,以在最第一行输入命令
退出编辑模式ESC
,就回到命令模式
然后输入:
就进入底线命令模式,输入wq
保存退出
底线命令模式
:
在命令模式下按下:
就可以进入到底线命令模式,光标就移动到了最下面
- q:退出程序
- w:保存文件
按下ESC
就退出底线命令模式
root@VM-24-17-ubuntu:~# vim testdou.txt
root@VM-24-17-ubuntu:~# ls
0665f1354725765580a9f5fa1dca3178.pdf ceshi.docx testdou.txt
1eada41a4fd1d0278ef5dc7bfceea6d.jpg doudou.txt
1fef20ff65d7f03923621f8494e5877c.pdf tee
root@VM-24-17-ubuntu:~# cat testdou.txt
i love doushuji
root@VM-24-17-ubuntu:~# vim testdou.txt
root@VM-24-17-ubuntu:~#
完整演示说明
新建或者编辑文件vim 文件名.文件类型
。按i
进入编写内容,编写完成后退出编辑模式,ESC
,退出之后进入底线命令模式:
wq
保存并退出
键盘按钮说明
模式切换
- 进入插入模式:
- i:在当前光标前插入。
- a:在当前光标后插入。
- I:在当前行首插入。
- A:在当前行尾插入。
- o:在当前行下方新开一行并进入插入模式。
- O:在当前行上方新开一行并进入插入模式。
- 返回命令模式:Esc或Ctrl+[。
- 进入可视化模式:
- v:字符选择,按字符逐个选择。
- V:行选择,整行选择。
- Ctrl+v:块选择,矩形区域选择。
- 进入命令行模式::。
光标移动
- 基本移动:
- h:左移。
- j:下移。
- k:上移。
- l:右移。
- 单词间移动:
- w:移动到下一个单词的词首。
- b:移动到上一个单词的词首。
- e:移动到当前 / 下一个单词的词尾。
- ge:移动到上一个单词的词尾。
- 行内移动:
- 0:移动到行首(第一个字符位置)。
- ^:移动到行首的第一个非空白字符。
- $:移动到行尾。
- 行间移动:
- gg:移动到文件开头。
- G:移动到文件结尾。
- nG或 :n:移动到第 n 行。
- 屏幕内移动:
- H:移动到屏幕顶部。
- M:移动到屏幕中间。
- L:移动到屏幕底部。
- Ctrl+u:向上滚动半屏。
- Ctrl+d:向下滚动半屏。
文本编辑
- 删除 / 剪切:
- x:删除当前光标所在字符。
- X:删除当前光标前的字符。
- dd:删除当前行。
- ndd:删除从当前行开始的 n 行。
- dw:删除从当前光标位置到下一个单词词首的内容。
- 复制 / 粘贴:
- yy或Y:复制当前行。
- nyy:复制从当前行开始的 n 行。
- yw:复制从当前光标位置到下一个单词词首的内容。
- p:在当前光标后粘贴剪贴板内容。
- P:在当前光标前粘贴剪贴板内容。
- 替换:
- r:替换当前光标所在字符为指定字符。
- R:进入替换模式,持续替换后续字符,按Esc退出。
- 撤销 / 重做:
- u:撤销上一步操作。
- Ctrl+r:重做。
- 合并行:J:将当前行与下一行合并为一行,并用空格分隔。
查找与替换
- 查找:
- /:向光标之下寻找一个指定的字符串。
- ?:向光标之上寻找一个指定的字符串。
- n:重复前一个搜寻的动作,方向与之前相同。
*:将当前行与下一行合并为一行,并用空格分隔。
查找与替换
- 查找:
- /:向光标之下寻找一个指定的字符串。
- ?:向光标之上寻找一个指定的字符串。
- n:重复前一个搜寻的动作,方向与之前相同。
- N:反向重复前一个搜寻动作。