vi\vim的使用
目前大部分的Unix Like 的distributions都使用vim代替vi功能了。
由下图显示我所使用的distributions的vim替代了vi的功能了
vim优势是:
- vim具有颜色显示功能,并且支持多种程序语法(syntax),能够直接进行程序出错
- 支持正则表达式的查找架构
- 支持多文本编辑
- 能够进行块复制
vim模式转换
vim有三种模式:
- 一般模式,可以进行移动光标、复制、粘贴、删除等操作
- 编辑模式,可以进行文件内容的编辑,与一般模式相比更注重内容的增加编辑
- 命令行模式,可以进行查找、读取、保存、大量替换字符、离开vim、显示行号等操作
三种模式之间的转换可以使用下图表示:
一般模式 --> 编辑模式:a,i,o
a——append 属于在后面追加内容;
i——insert 属于插入,在前面插入内容;
o——other 属于另起一行的意思,会在光标所在行的下一行另起一行。
一般模式 --> 命令行模式
:——进入命令行模式,后面跟不同的命令,会有不同的效果
例如:
- :w——将编辑的数据写入硬盘文件中;
- :w!——若文件属性为“只读”时,强制写入该文件。但是能不能写入还是根据你对该文件的权限;
- :q——离开vim,是没有更改文件内容的情况下;
- :q!——强制离开不保存文件,即:修改过文件,又不想保存;
- :w[filename]——将编辑的数据保存到另一个文件(类似于另存为);
- :r[filename]——在编辑的数据中,读入另一个文件的数据,即将‘filename’这个文件内容加到光标所在行后面;
- :n1,n2 w [filename]——将n1到n2的内容保存成filename这个文件;
- :!command——占时离开vim命令行模式并执行command命令;
- :set nu——显示行号,设置后,设置后会在每一行的前缀显示该行的行号;
10.:set nonu——与set nu相反,取消行号。
块选择
块选择作用在一般模式下:
- v——字符选择,会将光标经过的地方反白选择
- V——行选择,会将光标经过的行反白选择
- [ctrl]+v——块选择,可以用长方形的方式选择数据
- y——将反白的地方复制起来
- d——将反白的地方删除
有文件hosts,内容及格式如下图所示
当按下v时,会进入Visual模式
移动光标,光标经过的地方都会反白
当按下y时,上面反白的地方就会被复制(d则删除反白的内容)并退出Visual模式,此时如果按下p就会在光标后面将复制的内容粘贴出来。
而按下V,则进入了Visual Line模式了,光标所经过的行都会反白,同样也可以使用y复制反白的内容,d则删除反白的内容。
按下[ctrl]+v则进入Visual Block模式
移动光标通过对角线画一个矩形,这这个矩形的内容就会反白,成为被选择的内容
一样可以通过y复制,d删除等操作。