入坑!VIM编辑器(最强整理版)

简介: VIM的三种模式VIM的三种模式VIM 小抄图vim小抄.pngVIM具体操作进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n...

VIM的三种模式

img_cf7b2204500bd70138b9c448b9e9c81f.png
VIM的三种模式

VIM 小抄图

img_adc8bdc8884cef52ac614982cc17221a.png
vim小抄.png

VIM具体操作

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首 
vi +n filename :打开文件,并将光标置于第n行首 
vi + filename :打开文件,并将光标置于最后一行首 
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename 
vi filename....filename :打开多个文件,依次进行编辑  

移动光标命令

  • 操作在命令模式下
j  或下箭头 向下移动一行
k  或上箭头 向上移动一行
h  或左箭头 左移一个字符
l  或右箭头 右移一个字符
w  右移一个词
W  右移一个以空格分隔的词 
b  左移一个词
B  左移一个以空格分隔的词
0  移到行首
Ctrl-F  向前翻页
Ctrl-B  向后翻页
nG  到第n行
G  到最后一行

插入文本命令

  • 操作在命令模式下
i  在当前字符前插入文本   
I  在行首插入文本       
a  在当前字符后添加文本   
A  在行末添加文本      
o  在当前行后面插入一空行  
O  在当前行前面插入一空行  
R  以改写方式输入文本

替换文本

$     到行尾
(     到句子的开头 
)     到句子的末尾
{     到段落的开头
}     到段落的末尾

文本操作

  • 在命令模式下
r   替换一个字符
c   修改文本直到按下Esc健 
cw  修改下一个词
cnw  修改接下来的n个词

删除操作

  • 在命令模式下
x     删除光标处的单个字符 
dd    删除光标所在行 
dw    删除当前字符到单词尾(包括空格)的所有字符 
de    删除当前字符到单词尾(不包括单词尾部的空格)的所有字符 
d$    删除当前字符到行尾的所有字符 
d^    删除当前字符到行首的所有字符 
J     删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容

文本编辑

yy 将一行文本移到缺省缓冲区中 
yn 将下一个词移到缺省缓冲区中
ynw 将后面的n个词移到缺省缓冲区中
p  如果缺省缓冲区中包含一行文本,则在当前    
  行后面插入一个空行井将缺省缓冲区中的声    
  容粘贴到这一行中;如果缺省缓冲区中包含    
  多个词,把这些词粘贴到光标的右边.     

P  如果缺省缓冲区中包含一行文本,则正当前     
  行前面插入一个空行井将缺省缓冲区中的内     
  容粘贴到这一行中;如果缺省缓冲区中包含    
  多个词,把这些词粘贴到光标的左边. 

保存退出

zz          保存并退出(在命令行模式下)

在末行模式下:
:w filename     写入文件
:W          写入文件
:x          保存(如果当前文件修改过)并退出 
:q!         不保存文件,直接退出(强制退出)
:q         退出vi

编辑模式的编辑键操作

方向键进行上下左右方向的光标移动 
Home快速定位光标到行首
End快速定位光标到行尾
PageUp进行文本的向上翻页 
PageDown进行文本的向下翻页
Backspace删除光标左侧的字符
Del删除光标位置的字符

替换操作

  • 在末行模式下
:s/old/new        将当前行中查找到的第一个字符“old” 串替换为“new”

:s/old/new/g      将当前行中查找到的所有字符串“old” 替换为“new”

:#,#s/old/new/g   在行号“#,#”范围内替换所有的字符串“old”为“new”

:%s/old/new/g     在整个文件范围内替换所有的字符串“old”为“new”

:s/old/new/c      在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

撤消操作

  • 在命令模式下
u           取消最近一次的操作,并恢复操作结果,可以多次使用u命令恢复已进行的多步操作 

U           取消对当前行进行的所有操作 

Ctrl + r    对使用u命令撤销的操作进行恢复  

复制与粘贴操作

  • 在命令模式下
yy    复制当前行整行的内容到vi缓冲区 

yw    复制当前光标到单词尾字符的内容到vi缓冲区 

y$    复制当前光标到行尾的内容到vi缓冲区 

y^    复制当前光标到行首的内容到vi缓冲区

p    读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)

字符串查找操作

  • 在命令模式下
/word    从上而下在文件中查找字符串“word” 

?word    从下而上在文件中查找字符串“word”

n        定位下一个匹配的被查找字符串 

N        定位上一个匹配的被查找字符串

快捷键

ctrl-a : 把光标移动到命令行最开始的地方。 
ctrl-e : 把光标移动到命令行末尾。 
ctrl-u : 清除命令行中光标所处位置之前的所有字符。 
ctrl-k : 清除从提示符所在位置到行末尾之间的字符
ctrl-w : 清除左边的字段 
ctrl-y : 将会贴上被ctrl-u 或者 ctrl-k 或者 ctrl-w清除的部分。 
ctrl-r : 将自动在命令历史缓存中增量搜索后面入的字符。 
tab :    命令行自动补全-自动补全当前的命令行。如果启用自动补全脚本命令参数和选项也可以自动补齐。

ctrl-l : 清屏
目录
相关文章
|
2月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
54 2
|
2月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
124 1
|
2月前
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
57 0
|
1天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
9 1
|
2天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
10天前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
|
25天前
|
Linux 程序员 开发工具
最强文本编辑器 VIM 获取与安装
最强文本编辑器 VIM 获取与安装
|
2月前
|
机器学习/深度学习 数据可视化 Unix
2023最全vim编辑器教程(详细、完整)-编辑器之神
2023最全vim编辑器教程(详细、完整)-编辑器之神
|
2月前
|
IDE Linux 开发工具
【Linux】| Linux编辑器-vim的使用
【Linux】| Linux编辑器-vim的使用
|
3月前
|
数据可视化 Linux Shell
【Linux工具篇】编辑器vim
【Linux工具篇】编辑器vim
43 1