vim 程序编辑器
vi
是命令行模式下的文本编辑器,
vim
是高级版的
vi
,
vim
不但可以用不同颜色显示文字内容,而且还可以进行诸如
shell
脚本、C语言等程序编辑,可以将
vim
看做是一种程序编辑器,
一、vi与vim
为什么要学习vim
:
- 所有的
UNIX-like
系统都会内置vi
文本编辑器 - 很多软件的编辑接口都会主动调用
vi
vim
具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计
二、vi的使用
vi
共分为三种模式,分别是一般命令模式、编辑模式与命令行模式
- 一般命令模式
功能:光标的移动、搜索与替换、删除字符、删除整列、复制整列、粘贴整列一般命令模式可用的功能按键说明 移动光标的方法 [Page Down] 向下翻页 [Page Up] 向上翻页 0或[Home] 移动到这一行的最前面字符处 $或[End] 移动到这一行的最后面字符 G 移动到这个文件的最后一行 gg 移动到这个文件的第一行 n n为数字,代表光标向下移动n行
一般命令模式可用的功能按键说明 | 查找与替换 |
---|---|
/word | 向光标之下寻找一个名为word 的字符串 |
?word | 向光标之上寻找一个名为word 的字符串 |
:n1,n2s/word1/word2/g |
n1与n2为数字,在n1与n2行之间寻找/word1 这个字符串,并将该字符串替换为word2 |
:1,$s/word1/word2/g |
从第一行到最后一行寻找word1 字符串,并将其替换为word2 |
:1,$s/word1/word2/g | 从第一行到最后一行寻找word1 字符串,并将其替换为word2 ,替换之前提示字符给用户确认是否需要替换 |
。。。 | 。。。 |
- 编辑模式:
功能:由一般命令模式按下[i,I,o,O,a,A,r,R]等任何一个字母才会进入编辑模式,以插入或替换来编辑文件内容
一般命令模式切换到编辑模式的可用功能按键说明 | 进入插入或替换的编辑模式 |
---|---|
i与I |
i 为从当前光标所在处插入,I 为在目前所在行的第一个非空格处开始插入 |
a与A |
a 为从目前光标所在的下一字符处开始插入,A 为从光标所在行的最后一个字符处开始插入 |
o与O |
o 为在目前光标所在的下一行处插入新的一行;o 为在目前光标所在处的上一行插入新的一行 |
r与R |
进入替换模式,r 只会替换光标所在的那一个字符一次;R 会一直替换光标所在的文字,直到按下Esc 为止 |
[Esc] | 退出编辑模式,回到一般命令模式中 |
- 命令行模式
功能:由一般命令模式按下[:,/,?]来进入命令行模式,具有读取/存储文件其他额外功能
下面来学习一下,vi
中常用的按键功能吧
一般命令模式切换到命令模式的可用功能按键说明 | 命令行模式的保存、退出等命令 |
---|---|
:w |
将编辑的数据写入到硬盘文件中 |
:w! |
若文件属性为[只读]时,强制写入该文件。具体能否写入与文件的文件权限有关 |
:q |
退出vi |
wq |
保存后退出,若为:wq! 则为强制保存后退出 |
三、vim的额外功能
1.可视化区块(Visual Block)
如何操作以列为操作单位数据呢?
可视区块的按键意义 | |
---|---|
v |
字符选择,会将光标经过的地方反白选择 |
V |
行选择,会将光标经过的行反白选择 |
[Ctrl]+v |
可视化区块,可以用矩形的方式选择数据 |
y |
将反白的地方复制起来 |
d |
将反白的地方删掉 |
p |
将刚刚复制的区块,在光标所在处粘贴 |
2.多文件编辑
vim
命令后面同时接好几个文件来同时打开,相关的按键有:
多文件编辑的按键 | |
---|---|
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个vim开启的所有文件 |
3.多窗口功能
4.vim
的关键词补全功能
vim
补齐功能,大致有下面几个:
组合键 | 补齐的内容 |
---|---|
[ctrl]+x —>[ctrl]+n |
通过目前正在编辑的这个[文件的内容文字]作为关键词,予以补齐 |
[ctrl]+x--->[ctrl]+f |
以当前目录内的[文件名]作为关键词,予以补齐 |
[ctrl]+x--->[ctrl]+o |
以扩展名作为语法补充,以vim 内置的关键词,予以补齐 |
备注:一定要使用.html
或.php
的扩展名,否则vim
不会调用正确的语法检验功能。
5.vim环境设置与记录:/.vimrc**、**/.viminfo
vim
的设置值一般是放置在/etc/vimrc
文件中,一般不建议修改
6.***vim***常用命令示意图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tBqBzts9-1586392123529)(C:\Users\lee\Desktop\vim常用命令示意图.jpg)]
三、其他vim使用注意事项
vim
虽然功能强大,但是下面有一些地方需要注意
1.中文编码的问题
由于编码的问题,vim
有时候会无法正常显示正常的中文。
vim
的终端界面中使用的是UTF-8
,由于编码的不同,中文内容便会显示一堆乱码,这时候需要考虑一下几点:
- Linux系统默认支持的语系数据,与
/etc/locale.conf
有关 - 终端(bash)的语系,与LANG、LC_ALL几个变量有关
- 文件原本的编码
- 打开终端的软件,例如GNOME下面的窗口界面
2.DOS与Linux的换行符
两者的字符定义不同,不建议在Windows
系统中将文件编辑好之后再上传到Linux
系统。当对文本文件进行复制时,需要使用unix2dos
或dos2unix
转换行格式
3.语系编码转换
iconv
命令可以将语系编码进行转换
四、重点回顾
Linux
下面的配置文件多为文本文件,故使用vim
即可进行设置编辑vim
可视为程序编辑器,可用以编辑shell
脚本,配置文件等,避免打错字vi
有三种模式,包括命令模式,编辑与命令行模式,常见的按键有i
、[Esc]
、wq
等vi
的替换功能,例如:n1,n2s/old/new/g
- 进入编辑模式几乎只要记住:i,o,R三个按键即可,尤其是新增一行的o与替换的R
vim
的环境设置可以写入在~/.vimrc
文件中- 可以使用
iconv
进行文件语系编码的转换 - 使用
dos2unix
及unix2dos
可以变更每一行的行尾换行符
R三个按键即可,尤其是新增一行的o与替换的R vim
的环境设置可以写入在~/.vimrc
文件中- 可以使用
iconv
进行文件语系编码的转换 - 使用
dos2unix
及unix2dos
可以变更每一行的行尾换行符 - 对于文章内有对齐的区块,可使用
[ctrl]-v
进行复制,粘贴,删除的操作