标签:
vim的不同版本:
1.vim-minial 提供vi和相关命令。在RHEL 7的最小安装中
2.vim-enhanced 提供vim命令。提供语法突出显示、文件类型插件和拼写检查等功能
3.vim-X11 提供gvim,这是可以在自有图形窗口而不是终端中运行的vim版本
vim的三个主要模式:
模式 | 功能 |
命令模式 | 文件导航、剪切和粘贴以及简单命令。撤销、恢复和其它操作也在此模式中执行 |
插入模式 | 常规文本编辑。替换模式是插入模式的一种变体 |
Ex模式 | 用于保存、退出和打开文件,以及搜索、替换和其它更为复杂的操作。此模式中可以将程序的输出插入到当前文件中,以及配置vim等等 |
要切换至插入模式,系统提供了可用的命令,分别对应不同的键
键 | 结果 |
i | 切换至插入模式,并在当前光标位置之前开始插入(插入) |
a | 切换至插入模式,并在当前光标位置之后开始插入(附加) |
I | 将光标移至当前行的开头位置,并切换至插入模式 |
A | 将光标移至当前行的结尾位置,并切换至插入模式 |
R | 从光标下的字符开始,切换至替换模式。处于替换模式时,不会插入文本,输入的每个字符均替换掉当前文档中的字符 |
o | 在当前行的下方新打开一个行,并切换至插入模式 |
O | 在当前行的上方新打开一个行,并切换至插入模式 |
移动
键 | 结果 |
w | 将光标移动到下一个单词的开头(W会略过标点符号) |
b | 将光标移动到上一个单词的开头(B会略过标点符号) |
( | 将光标移到当前或上一句子的开头 |
) | 将光标移到当前或下一句子的开头 |
{ | 将光标移到当前/上一段落的开头 |
} | 将光标移到当前下一段落的开头 |
*********************************
在命令模式
$:跳转到行尾
^:挑战到行首(按数字键0也可以)
gg:跳转到首行
G:跳转到最后一行
yy: 复制一行
nyy: 复制n行
p:粘贴
dd:删除一行
ndd:删除n行
直接跳转到最后一行
# vi + passwd
直接跳转到第20行
# vi +20 passwd
把命令的执行结果插入正在编辑的文件
:r ! uname -a
如果不想把执行结果插入到正在编辑的文件,只是看看
:! uname -a
把其他文件内容取到正在编辑的文件
:r /etc/passwd
把当前文件的1-5行保存到新的文件newname.txt中
:1,5 w newname.txt
删除第n行 :nd
删除1-10行 :1,10d
加行号 :set nu
去掉行号 :set nonu
同时编辑两个文件(在两个文件之间切换光标:先ctrl+w,然后在按左右方向键)
vim -O t1.txt t2.txt 同时保存(:wqall)
命令模式下进行搜索(n:向上搜索;N:向下搜索)
/所有关键字
比如: /nologin
替换
:s/root/ROOT/g #替换当前行
:%s/root/ROOT/g #替换所有
:1,5s/root/ROOT/g #替换1-5行
vim的帮助教程:vimtutor
看中文 LANG=zh_CN.UTF-8;vimtutor
标签:
原文地址:http://www.cnblogs.com/abclife/p/4620273.html