此为本人大学慕课的笔记,具体视频点击这里linux
Vi:Visual Editor的缩写,命令行界面下的文本编辑器;Unix操做系统中默认的编辑器等vim
Vim:Vi IMproved的缩写,Vi的升级版;用彩色显示文本,可视为程序编辑器等编辑器
默认CentOS已经安装Vim,若是没有,联网后使用如下命令进行安装:学习
yum install -y vim-enhanced
Vim的3种工做模式:操作系统
通常模式(指令模式)命令行
编辑模式code
从通常模式进入编辑模式视频
按键 | 做用 |
---|---|
i | 在光标前插入字符 |
I | 在光标所在行的行首插入字符 |
a | 在光标后插入字符 |
A | 在光标所在行的行末插入字符 |
o | 在光标所在行下插入新的一行 |
O | 在光标所在行上插入新的一行 |
r | 替换光标所在的字符,只替换一次 |
R | 一直替换光标所在的字符,直到按下Esc键 |
命令行模式文档
按键 | 做用 |
---|---|
:w | 保存文本 |
:wl | 若是文件属性为只读时,强制保存 |
:q | 退出vi |
:ql | 强制退出vi,无论编辑仍是未编辑都不保存退出 |
:wq | 保存以后退出 |
:e! | 将文档还原到最原始状态 |
ZZ | 等价于:wq |
:w [filename] | 将文档另存为filename |
:r [filename] | 在光标所在行的下面读入filename文档的内容 |
:set nu | 在每行的行首设置行号 |
:set nonu | 取消行号 |
:n1,n2 w [filename] | 将n1到n2行的内容另存为filename文件中 |
:! command | 暂时离开vi,执行某个Linux命令,例如::! ls/home 暂时列出/home下的文件,而后会提示按回车返回vi |
通常模式下的功能键分类:字符串
移动光标
按键 | 做用 |
---|---|
h或左方向键 | 光标向左移动一个字符 |
j或下方向键 | 光标向下移动一个字符 |
k或上方向键 | 光标向上移动一个字符 |
l或右方向键 | 光标向右移动一个字符 |
n方向键(n是数字) | 光标向方向键方向移动n个字符 |
Ctrl+f或PgDn | 屏幕向文件尾移动一页 |
Ctrl+b或PgUp | 屏幕向文件头移动一页 |
n空格(n是数字) | 按下数字n而后按空格,则光标向右移动n个字符,若是该行字符数小于n,则光标继续从下行开始向右移动,一直到n |
0(数字0)或Home | 移动到本行行首 |
$或End | 移动到本行行尾 |
H | 光标移动到当前屏幕的最顶行 |
M | 光标移动到当前屏幕的中央那一行 |
L | 光标移动到当前屏幕的最底行 |
G | 光标移动到文本的最末行 |
nG(n是数字) | 光标移动到文本的第n行 |
gg | 光标移动到文本的首行 |
n回车(n是数字) | 光标向下移动n行 |
删除、复制和粘贴
按键 | 做用 |
---|---|
x, X | x为向后删除一个字符,X为向前删除一个字符 |
nx(n是数字) | 向后删除n个字符 |
dd | 删除光标所在的那一行 |
ndd(n是数字) | 删除光标所在的向下n行 |
d1G | 删除光标所在行到第1行的全部数据 |
dG | 删除光标所在行到末行的全部数据 |
yy | 复制光标所在的那一行 |
nyy | 复制从光标所在行开始的向下n行 |
p,P | p将复制的数据从光标下一行粘贴,P则从光标上一行粘贴 |
y1G | 复制光标所在行到第1行的全部数据 |
yG | 复制光标所在行到末行的全部数据 |
J | 将光标所在行与下一行的数据结合成一行 |
u | 还原过去的操做 |
Ctrl+r | 重复上一个操做 |
. | 重复前一个操做 |
查找和替换
按键/输入 | 做用 |
---|---|
/keyword | 向光标以后寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个 |
?keyword | 向光标以前寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个 |
:n1,n2s/word1/word2/g | 在n1和n2行之间查找word1字符串并替换为word2 |
:1,$s/word1/word2/g | 从第一行到最末行,查找word1并替换为word2 |
:1,$s/word1/word2/gc | 在第一行和最末行之间查找word1,替换为word2以前须要用户确认 |
文件救援--交换文件(filename.swp)
注意:文件 filename.swp 不须要时,须要用户手动删除
未完,待续 ~