Linux学习-鸟哥-第九章-vim程序编辑器


vi是命令行模式下的文本编辑器, vim是高级版的 vivim不但可以用不同颜色显示文字内容,而且还可以进行诸如 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系统。当对文本文件进行复制时,需要使用unix2dosdos2unix转换行格式

3.语系编码转换

iconv命令可以将语系编码进行转换

四、重点回顾

  • Linux下面的配置文件多为文本文件,故使用vim即可进行设置编辑
  • vim可视为程序编辑器,可用以编辑shell脚本,配置文件等,避免打错字
  • vi有三种模式,包括命令模式,编辑与命令行模式,常见的按键有i[Esc]wq
  • vi的替换功能,例如:n1,n2s/old/new/g
  • 进入编辑模式几乎只要记住:i,o,R三个按键即可,尤其是新增一行的o与替换的R
  • vim的环境设置可以写入在~/.vimrc文件中
  • 可以使用iconv进行文件语系编码的转换
  • 使用dos2unixunix2dos可以变更每一行的行尾换行符
    R三个按键即可,尤其是新增一行的o与替换的R
  • vim的环境设置可以写入在~/.vimrc文件中
  • 可以使用iconv进行文件语系编码的转换
  • 使用dos2unixunix2dos可以变更每一行的行尾换行符
  • 对于文章内有对齐的区块,可使用[ctrl]-v进行复制,粘贴,删除的操作
发布了33 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/leaeason/article/details/105402181