导图社区 VIM教程
linux vim文本编辑器使用教程。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
编辑于2021-02-25 18:46:00VIM教程
导语
Linux 系统上一款文本编辑器
VIM的四种模式
正常模式 (Normal-mode)
启动 VIM 后默认位于正常模式
用于浏览文件,复制、粘贴、删除等操作
启动vim后默认处于正常模式(即命令行模式)。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。
插入模式 (Insert-mode)
正常模式下,按 i 键进入插入模式
进入编辑状态,通过键盘输入内容
命令模式 (Command-mode)
正常模式下,按:或/进入命令模式
输入VIM指令,设置环境、文件操作等
可视模式 (Visual-mode)
正常模式下,按v,V,<ctrl>+v进入可视模式
选择文本时有鼠标选择的即视感
用VIM打开文件
打开一个文件
vim file1
file1 指具体操作的文件名
一次性打开多个文件
vim file1 file2
file1 file2指具体操作的文件名
进入命令模式
:ls列出 VIM 打开的所有文件
:bn显示第n个文件的内容
VIM的显示
一次性显示多个文件
左右分屏
vim -On file1 file2 ... filen
大写字母O
上下分屏
vim -on file1 file2 ... filen
小写字母o
分屏操作
分屏的方式
上下分割当前的文件
<Ctrl> + w s
上下分割当前文件和新打开的 file
命令模式下,:sp file
左右分割当前的文件
<Ctrl> + w v
左右分割当前文件和新打开的 file
命令模式下,:vsp file
在文件间切换光标
上下分屏
将光标定位到上边
<Ctrl> + w k
将光标定位到下边
<Ctrl> + w j
左右分屏
将光标定位到左边
<Ctrl> + w h
将光标定位到右边
<Ctrl> + w l
移动分屏
上下分屏
将分屏移动到上边
<Ctrl> + w K
将分屏移动到下边
<Ctrl> + w J
左右分屏
将分屏移动到左边
<Ctrl> + w H
将分屏移动到右边
<Ctrl> + w L
关闭分屏
关闭当前的分屏
<Ctrl> + w c
关闭分屏,如果是最后一个关闭VIM
<Ctrl> + w q
基本操作
光标的移动
快速移动光标
h向左
I向右
j向下
k向上
1.光标移动到行首:按键 shift+6或^ (T上面的6,不是小键盘的6)
2.光标移动到行尾:按键shift+4 或$
3.光标移动到首行:按键 gg
4.光标移动到尾行:按键GG
扩展
光标快速以移动到指定的行 按键 nG
以当前光标标准向上向下移动 按键 n+方向键
以当前光标标准向左向右移动 按键 n+方向键
翻页操作
查看下一页内容
<ctrl>+f(after) /pgdn
查看上一页内容
<ctrl>+b(befor) /pgup
正常模式
复制,粘贴 ,剪切(删除),撤销,恢复,替换
复制
y
yw 复制一个单词
yy 复制一行
nyy 复制n行
y$ 复制光标到本号的结尾
可视化复制:按键ctrl+v
粘贴
p
p 在光标后开始复制
P 大写的 P 光标前开始复制
删除
剪切
dd 剪切光标所在行 dd严格意义说是剪切,但是剪切不粘贴就是删除
d
dw 删除一个单词
dnw 删除 n 个单词
dd 删除一整行
ndd 删除光标处下面的 n 行
d$ 删除光标到本行的结尾
撤销
u
恢复
<ctrl> + r
替换
r 替换掉光标当前所在的字符
R 替换掉从光标开始以后的所有字符
插入模式
正常模式输入i,I,a,A,o,O,s,S
i是在光标所在的字符之前插入需要录入的文本
I是在光标所在行的行首插入需要录入的文本
a是在光标所在的字符之后插入需要录入的文本
A是在光标所在行的行尾插入需要录入的文本
o是光标所在行的下一行行首插入需要录入的文本
O是光标所在行的上一行行首插入需要录入的文本
s删除光标所在处的字符然后插入需要录入的文本
S删除光标所在行,在当前行的行首开始插入需要录入的文本
命令模式
行号
取消行号
:set nonu
显示行号
:set nu
定位行号
:n
关键字的查找
/{目标字符串}
n 会去寻找下一个匹配,N 会去寻找上一个匹配
删除多行文本
:n1,n2d
n1 和 n2 指的是起始行号和结束行号,d 是删除关键字
文本的替换
:{作用范围}s/{目标}/{替换}/{替换的标志}
把光标所在行的 zempty 替换成 handsome
:s/zempty/handsome/g
把全文中的 zempty 替换成 handsome
:%s/zempty/handsome/g
替换掉 n1 到 n2 行的zempty 为 handsome
:n1,n2s/zempty/handsome/g
作用范围分为当前行、全文、选区等
ab命令
:ab email kickcodeman@gmail.com
输入的 email 替换成 kickcodeman@gmail.com
可视化模式
v字符可视化
屏幕底部会有VISUAl 提示
继续按 v 退出
V 行可视化
屏幕底部有 VISUAL LINE 提示
继续按 V 退出
<Ctrl>+v 块状可视化
屏幕底部有VISUALBLOCK 提示
继续按<Ctrl>+v 退出
VIM 的退出
保存当前对文件的修改,但是不退出文件
:w
强制保存但是不退出文件
:w!
保存当前的文件修改到 file 文件当中
:w file
退出文件,对文件的修改不做保存
:q!
退出所有的文件,对所有的文件修改都不做保存
:qa!
退出文件并保存对文件的修改
":x" 和 ":wq" 的区别如下: (1) :wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。 (2) :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。 这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq" 强制更新文件的修改时间, 这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。
:wq
:x
打开另一个文件
:e file
放弃对文件的所有修改,恢复文件到上次保存的位置
:e!
另存为 file
:saveas file
阅读前须知:克隆后可删除
本人持续更新包括但不限于计算机类知识框架
如果您觉得脉络清晰、减少了学习成本
不妨动动小手,点个
关注
克隆后您将在导图中获得:
学习链接
摘自CSDN、CNblog、StackOverFlow等权威论坛, 省去您的搜索整理时间
详细备注
即摘要, 方便您理解概念、类比相似条目、延伸拓展
导图结构近似最科学的笔记方法 ——康奈尔笔记法
1. 笔记栏:
Record(记录):
搜集过滤信息、整理归纳信息。
2. 问题/线索栏:
Reduce(简化):
简化提炼重点。
Recite(复述):
只用简化信息,尽量完整的复述出来。
3. 总结栏:
Reflect(反思):
将自己的听课随感、意见、经验体会之类的内容,与知识内容区分开,写在卡片或笔记本的某一单独部分,加上标题和索引,编制成提纲、摘要,分成类目。
Review(复习):
这样一则以康乃尔笔记法写成的笔记,可以让我们事后回顾与查找资料时更容易找到重点,但也同时能找到细节资料。
上述蓝底黑字部分我已经帮您处理完毕, 如何使用知识就请您大显身手吧!
图例