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

VIM的三种模式

入坑!VIM编辑器(最强整理版)_第1张图片
VIM的三种模式

VIM 小抄图

入坑!VIM编辑器(最强整理版)_第2张图片
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 : 清屏

你可能感兴趣的:(入坑!VIM编辑器(最强整理版))