vim

在所有linux里都有一套文本编辑器,那就是vi。vim,则是高级版的vi。vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。

一般来说所有UNIX LIKE系统内置vi文本编辑器,其他的文本编辑器不一定存在。如果vim命令打开一个文件,显示命令不存在,那么毫无疑问需要安装vim。

安装vim

一般来说软件安装一般有三种方式,其他的暂且不说,采用apt-get方式安装比较方便。

执行

sudo(非root用户需要) apt-get install vim

命令,

乌班图写入emmc 乌班图vim_配置文件


然后执行vim a.txt命令

乌班图写入emmc 乌班图vim_vim_02


出现下面界面则安装成功

乌班图写入emmc 乌班图vim_配置文件_03

vim打开文件的方式(4种)

vim 文件路径 作用:打开指定的文件
vim + 数字 文件路径 作用:打开指定的文件并将光标移动到指定行
vim + /关键词 文件路径 作用:打开指定的文件,并高亮显示关键词
vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个指定的文件

vim的三种模式

三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)

命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【打开文件后默认进入的模式】;
编辑模式:在该模式下可以对文件内容进行编辑;
末行模式:可以在末行输入命令对文件进行一些操作(搜索、替换、保存、退出、撤销、高亮等)

vim命令模式

该模式是打开文件的第一个看到的模式(打开文件即可进入),当前模式下还无法编辑文件,但可以复制、删除等操作。

乌班图写入emmc 乌班图vim_乌班图写入emmc_04


1、光标移动

1):某行内光标移动到行首

按键:shift+6或^(键盘上面的6不是小键盘的6)

2):某行内光标移动到行尾

按键:shift+4或$(键盘上面的4不是小键盘的4)

3):光标移动到首行行首

按键:g

4):光标移动到尾行行首

按键:G

这个快捷键比较常用,比如有一个较长的shell脚本,通过vim\进入后,直接按下G,光标就迅速移动到尾行的行首

5):光标翻屏

向上翻屏:按键:ctrl+b或pgUp

向下翻屏:按键:ctrl+f或pgOn

2、复制操作 配合粘贴一起使用
1):按键:yy
粘贴:在想要粘贴的地方按下p键

2):以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字 yy

3):可视化复制
按键:ctrl + v,然后按下上下左右方向键来选中需要复制的区块,按下yy键复制,再按下p键进行粘贴。

3、剪切/删除
1):剪切/删除光标所在行
按键:dd(删除后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切不粘贴那就是删除的效果。

2):剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字 dd

3):剪切/删除光标所在行,但删除后光标不上移
按键:D(删除后当前行会变成空白行)

4、撤销/恢复
撤销::(冒号) u或u
恢复:ctrl + r 恢复之前的撤销

扩展1:光标的快速移动
1):快速将光标移动到指定行
按键:数字G

2):以当前光标为准向上/下移动n行
按键:数字 方向键向上键/向下键

3):以当前光标为准向左/右移动n个字符
按键:数字 方向键向左键/向右键

4):末行模式下光标的快速移动,移动到指定的行
按键:输入英文:,再输入数字,按下回车

vim编辑模式

在命令模式下输入:

i:在光标所在字符前开始插入;

最常用的一个,比如从某个位置要开始编辑内容,按下i,下方则会一直出现INSERT(不管输入i还是a都会出现INSERT),表明是编辑模式。

乌班图写入emmc 乌班图vim_配置文件_05


a:在光标所在字符后开始插入;

o:在光标所在行下面另起一新行插入;

I:在光标所在行的行首插入,如果行首有空格则在空格后插入;

A:在光标所在行的行尾开始插入;

O:在光标所在行的上面另起一行开始插入;

S:删除光标所在行并开始插入;

退出方式:按下ESC键

编辑模式下编辑内容只是编辑内容,保存操作则是末行模式的操作才可以保存。

末行模式

由命令模式按下英文‘:’进入末行模式
1):保存操作(write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为

2):退出(quit)
输入:‘:q’ 退出文件

3):保存并退出
输入:‘:wq’

4):强制退出,之前的操作不保存
输入:‘:q!’

5):调用外部命令(了解)
输入:‘:! 外部命令’

6):搜索/查找
输入:‘/关键词’

在输入结果中切换上/下一个结果 N/n
取消高亮,输入:‘nohl’

7):替换,
输入:‘?/搜索的关键词/要替换的词’ 替换光标所在行的第一处符合条件的内容
输入:‘?/搜索的关键词/要替换的词/g’ 替换光标所在行所有符合条件的内容
输入:‘%s/搜索的关键词/要替换的词’ 替整个文档中每一行第一个符合条件的内容
输入:‘?/搜索的关键词/要替换的词/g’ 替换整个文档中所有符合条件的内容
上面的表情符号其实:和s,但markdown语法显示成表情了,研究以下怎么去掉,下回再修改

8):显示行号

输入:‘:set nu’按回车,则会有以下效果

乌班图写入emmc 乌班图vim_搜索_06


取消:‘set nonu’

如果在末行模式输入了命令,要想清空,按两下ESC,即可清除所有命令。

vim的配置

vim是一款编辑器,编辑器也是有配置文件的。
vim配置有三种情况:
a、在文件打开的时候在末行模式下输入的配置(临时的)
b、个人配置文件(~/.vimrc,如果没有可新建一下)
c、全局配置文件(vim自带,/etc/vimrc)

1)新建好个人配置文件之后进入编辑
比如显示行号:set nu
不显示着色:syntax off

如果某个配置项,在个人配置文件与全局配置文件产生冲突时以谁为准?针对同一配置,如果个人配置有,以个人配置为准;如果个人配置没有,以全局配置为准。

2、异常退出
什么是异常退出:在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的效果,这个情况称之为异常退出。

解决办法:将交换文件(在编辑过程中产生的临时文件后缀名为.swp)删除掉即可。

中文乱码解决方式

编辑~/.vimrc文件,加上如下几行:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
即可解决中文乱码的问题