vim
在所有linux里都有一套文本编辑器,那就是vi。vim,则是高级版的vi。vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。
一般来说所有UNIX LIKE系统内置vi文本编辑器,其他的文本编辑器不一定存在。如果vim命令打开一个文件,显示命令不存在,那么毫无疑问需要安装vim。
安装vim
一般来说软件安装一般有三种方式,其他的暂且不说,采用apt-get方式安装比较方便。
执行
sudo(非root用户需要) apt-get install vim
命令,
然后执行vim a.txt命令
出现下面界面则安装成功
vim打开文件的方式(4种)
vim 文件路径 作用:打开指定的文件
vim + 数字 文件路径 作用:打开指定的文件并将光标移动到指定行
vim + /关键词 文件路径 作用:打开指定的文件,并高亮显示关键词
vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个指定的文件
vim的三种模式
三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【打开文件后默认进入的模式】;
编辑模式:在该模式下可以对文件内容进行编辑;
末行模式:可以在末行输入命令对文件进行一些操作(搜索、替换、保存、退出、撤销、高亮等)
vim命令模式
该模式是打开文件的第一个看到的模式(打开文件即可进入),当前模式下还无法编辑文件,但可以复制、删除等操作。
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),表明是编辑模式。
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’按回车,则会有以下效果
取消:‘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
即可解决中文乱码的问题