一、Vim定义
Vim是linux系统中一个使用非常普遍,而且功能强大的文本编辑器(vi的升级版本)
二、Vim安装
1、本地安装(dpkg -i)
前提:系统中要存在下载好的安装包,并且可能还需要安装包的依赖包。
2、在线安装
语法:
sudo apt-get update //更新软件源
sudo apt-get install vim //安装vim
3、 卸载程序
语法:
sudo apt-get remove vim //这个命令是在卸载程序,vim也可以代替成其他程序名
三、vim使用
1、启动
语法:vim
启动vim后,此时vim处于命令模式:
1、系统命令行输入vim,就可以启动vim
zhangshili@zhangshili-vm:$ vim
在vim中导入待编辑的文件:
:r:待操作文件
2、系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后光标处于文件开头(第一行第一列)如下:
zhangshili@zhangshili-vm:$ vim ~/Mywork/triangle.c
说明:默认打开文件后光标处于文件末尾(最后一行第一列)如下:
zhangshili@zhangshili-vm:$ vim ~/Mywork/triangle.c +
说明:默认打开文件后光标处于指定行n(指定行n第一列)如下:
zhangshili@zhangshili-vm:$ vim ~/Mywork/triangle.c +4
2、退出
1、在命令模式下:ZZ(区分大小写)暴力退出。(改动之后有保存)
2、:q 文件不做任何修改直接退出
3、:wq 保存退出
4、:q!强制退出,不保存
四、vim的工作模式
1、命令模式:用户输入vim时当做指令处理的
2、编辑(插入)模式:当用户输入vim时字符要写入文件中
3、末行模式:文件保存和退出vim
五、vim的常用命令
1、光标移动
行间移动:
gg:移动光标到第一行
G:移动光标到最后一行
:n :移动到第n行,写法::6 :移动到第6行
列间移动:
$:移到光标的当前行的行尾
0:移动光标到当前行的行首
2、删除
列(字符)删除
x:删除当前光标所在处一个字符
nx:删除当前光标所在处以及后面n个字符。写法:6x 删除从当前光标开始6个字符
X:删除当前光标的左边一个字符
d:删除当前光标至行尾
行删除
dd:删除当前光标所在行
ndd:删除当前光标所在后面n行
dG:删除当前光标所在行至文件末尾
:n1,n2d:删除n1到n2行。写法:1,12d 表示删除自行1至12行
3、拷贝
列(字符)拷贝
多按几次ESC,然后按v,进入可视干事,移动方向键选中文本,然后按y就拷贝完成
行拷贝
yy:复制当前行
nyy:复制当前行一下n行
:1,2 copy n:复制n1~n2行数据后粘贴到n行.
4、粘贴
P:如果拷贝的是整行粘贴在当前行下,如果拷贝的是列(字符)粘贴在当前光标之后
p:如果拷贝的是整行粘贴在当前行上,如果拷贝的是列(字符)粘贴在当前光标之前
5、撤销
u:撤销上一步操作,相当于ctrl z
U:撤销当前行中的所有操作
Ctrl -r:重做撤销的操作
6、字符查找
/string:从光标所在处向后寻找“string”字符串,按n可往下继续找,按N可往上继续找
?string:从光标所在处向前寻找“string”字符串,按N可往下继续找,按n可往上继续找
:set ic:查找时忽略大小写。eg:查找f,匹配f和F
:set noic:查找时对大小写敏感。eg:查找f,匹配f
注意:set ic和:set noic必须要在文本查找之前进行。
7、字符替换
:%s /old/new 将全文每一行第一个old替换成new
:%s /old/new/g 全文替换old为new
:n1,n2s /old/new/g:在n1~n2行间替换old为new
8、其他常用指令
:set nu:设置行号
:set nonu:设置取消行号
:ctrl+g:显示文件名,当前的行号,文件的总行数和文件位置的百分比