纵然今天是国庆,但是学习不能停,今天学习的是linux中,比较重要的2个编辑器,vi和vim,也许会有人问为什么要学习这2个呢?不是有简单好用的nano么。
主要还是因为有一些别的linux版本,是没有内置的nano的,这个如果你突然接触就不能很快入手,而vi是每个linux版本都内置有的,所有这个学习是很必要的,
vi的一些基本应用,如用vi新建一个文件,并打开:
vi /tmp/testing #新建一个testing文件,并打开
vi分成三种基本的模式:
1.一般模式(默认)
2.编辑模式(通过按I,i,O,o,A,a都可以进入)
3.命令行模式(通过按 /,?,: 都可以进入)
普通模式下的一些功能键(常用的)
数字0:回到光标所在的行首,
符号$:去到光标所在行的末尾,
n(加左右方向键):n表示数字,去到左右n个字符的地方
n[enter]:去往光标下面的n行位置
G:跳到这个文件的末尾位置,
1G/gg:跳到这个文件的第一行,
n1,n2s/Word1/word2/g:在n1到n2行之间找word1这个字符串,并将其替换成word2
n1,n2s/word1/word2/gc:在n1到n2行之间找word1这个字符串,并将其替换成word2,会询问用户是否替换
1,$s/word1/word2:从第一行到最后一行,找word1然后将其替换成word2
与复制,删除,粘贴有关的:
dd:删除光标所在的这一行,
ndd:删除从光标所在的下面的n行,
d1G:删除从光标开始到第一行的数据,
dG:删除从光标开始到最后一行的数据,
d0:删除从光标开始到行首的数据,
d$:删除从光标开始到行末的数据,
yy:辅助光标所在的这一行,
nyy:复制从光标所在的下面n行,
y1G:复制从光标开始到文件第一行的数据,
yG:复制从光标开始到文件最后一行的数据,
d0:复制从光标开始到行首的数据,
d$:复制从光标开始到行末的数据,
p:向光标所在的行,下面粘贴,
P:想光标所在的行,上面粘贴,
命令行模式下:
:w 将编辑的文字内容写入到磁盘中去,
:w! 强制写入,不过还是与你对文件的权限有关,
:wq 写入并退出,
:ZZ 如果这个文件没有被编辑,不需要进行保存离开,有的话,保存-》离开
================================================================================================
vim 部分
1.vim的文件恢复功能
在使用vim的时候,系统会自动给你生成一个.swp的暂存文件,就是未了避免发生意外情况,而文件没有保存,
在打开vim之后可以通过ctrl + z,暂时跳出vim,在使用ls查看是否有.swp文件
文件恢复时的参数有:
[O]pen Read-Only 只读,
[E]dit anyway 不会载入暂存文件,而是正常打开,不过容易造成问题,
[D]elete it 删除暂存文件,
[R]ecover 载入暂存文件,恢复工作,
[Q]uit 就是退出vim不进行任何操作,
[A]bort 忽略这次操作,类似于Q操作
==================================================
2.vim的功能
(1)块选择(values blocks)
主要参数有:
小写v:光标选择的字符反白
大写V:光标选择的行反白
ctrl-v: 自定义块选择区域
(2)多文件操作
主要参数有:
:files:查看操作的文件
:n :向下一个操作文件
:N :向上一个操作文件
(3)多窗口文件操作:(主要还是针对文件较大,需要有前后对照的)
主要操作有:
sp:操作本文件
sp 【filename】:选择操作文件,
=========================================
3.vim的一些参数设置:(只写出一些常用的,如有需要可以:set all自行去查看)
:set nu :显示行号,
:set nonu :取消行号
:set hlsearch :将查找的字符高亮显示
:set nohlsearch :取消高亮
:set autoheight :自动缩进
:set noautoheight :不自动缩进
:synatx on :语法校正
:synatx off :关闭语法校正
这都是一些常用的,有需要的自行set all或者是百度都是OK的。
这里上张图供大家理解:
这个就是一般的vim不同模式下的处理
====================================
4.vim的其他使用注意事项
字符的编码问题:
有utf8,gb2312,big5等,如果编码不对,中文出现乱码是很正常的现象,
一般可以通过在LANG = zh_big5这样来修改,来可以通过在终端机的,termnal那修改字符的编码,
新闻热点
疑难解答