一、学习linux的重要性
在学习linux之前先来聊聊为什么要学vim,从而引出学习vim编辑器的重要性和强大的功能性。
学习linux的主要原因有:
- 所有的linux系统都会内置vim文本编辑器
- 很多软件的编辑接口都会主动调用vim(例如crontab、visudo、edquota等命令)
- vim具有程序编辑的能力,可以主动已字体颜色辨别语法的正确性,方便程序设计。
- 程序简单,编辑速度相当快速。
二、vim的三大模式及其主要命令
vim包括三种模式:一般模式、编辑模式与命令行模式。
- 一般模式:
使用vim直接打开文件,进入的则是一般模式。在这个模式下可以快速的上下左右按键来移动光标,可以删除字符或删除整行,也可以复制、粘贴文件数据。
- 编辑模式
在一般模式中可以删除、复制、粘贴等操作,但是无法编辑文件的内容,使用“i,I,o,O,a,A,r,R”等任何快捷键进入编辑模式。按【esc】按钮退出编辑模式。
- 命令行模式
在一般模式中,输入“、,/,?”按钮,进入命令行模式。提供了查找数据、读取、保存、大量替换字符、离开vim、显示行号等操作在此模式下操作。
各个模式下主要的操作命令如下图所示
三、vim高级进阶
在学习了一般的vim指令后,还是需要学习一些vim的高级操作,这样才比较炫酷,并且在工作中真的很有用。比如快选择器,多文件编辑等。
1、vim快选择器:
有时会有需要选择某一列数据的场景,这时块选择器就很重要了。比如有很多行代码前有注释,如何快速删除注释:首先按下 ctrl + V 进入选择器模式,然后按键d删除,也可以按键p粘贴一列
主要指令包括:
V | 行选择,会将光标经过的行反白选择 |
ctrl+v | 块选择,可以用长方形的方式选择数据 |
y | 将反白的地方复制起来 |
d | 将反白的地方删除 |
2、多文件编辑器
快速实现不同文件之间的内容复制和粘贴。
打开多个文件,实现将A文件中的内容拷贝到B文件中。
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个vim打开的所有文件 |
3、多窗口功能
比照查看两个文件
:sp [filename] | 打开一个新窗口,如果有加filename,表示在新窗口打开一个新建,否则宝石两个窗口为同一个文件内容(同步显示) |
[ctrl]+w+j [ctrl]+w+向下 |
按键的按法是:先按下ctrl不放,再按下w后放开所有的按键,然后再按下j(或向下箭头键),则光标可以移动到下方的窗口 |
[ctrl]+w+k [ctrl]+w+向上 |
同上,不过光标移动到上面的窗口 |
[ctrl]+w+q | 离开 |
4、文件编码转换iconv
iconv -f utf8(原本编码) -t gbk(新编码) test.php(文件) -o test.copy.php(新文件)