linux-04 Vim编辑器
一、vim编辑器
vim与vi的区别,vi为黑色,vim为红色
- 三种状态:
Command:任何输入都会作为编辑命令,而不会出现在屏幕上,任何输入都引起立即反映Insert:任何输入的数据都置于编辑寄存器,按ESC,可跳回command方式Escape:以':'或者'/'为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别的指令
离开命令
ZZ保存当前文件并退出Vi:q!离开vi,并放弃刚在缓存区编辑的内容:wq将缓冲区内的资料写入磁盘中,并离开vi:x同:wq(:X是文件加密,需要区分一下)
进入输入模式
a光标之后输入A行末输入i光标之前输入I行首输入o向下新增一行O向上新增一行
删除、修改、撤销
x删除光标下的字X删除光标之前的字D删除当前光标至行尾的内容dd删除整行dgg删除当前光标至文件头的内容:10,20d删除第10行至20行的资料:10d删除第10行:%d删除整个编辑缓冲区cc修改整行的内容r修改当前光标的文字R进入修改模式直到ESC退出为止u恢复最后一个指令之前的结果U恢复光标该行的所有改变ctrl+r恢复撤消前的内容
光标移动
m<a-z>设置书签<a-z><a-z>移至书签<a-z>处0移至行首$移至行末e移到下个字的最后一个字母w移动到下个字的第一个字母b移动到上个字的第一个字母^移至该行的第一个字H移至视窗的第一行M移至视窗的中间那行L移至视察的最后一行G移至该文件的最后一行+移至下一列的第一个字-移至上一列的第一个字:n移至该文件的第n列n+移至光标所在位置之后的第n列n-移至光标所在位置之前的第n列<ctrl><g>显示该行之行号、文件名称、文件中最末行之行号、光标所在行号占总行号之百分比
视窗的移动
ctrl+f视窗往下卷一页ctrl+b视窗往上卷一页ctrl+d视窗往下卷半页ctrl+u视窗往上卷半页ctrl+e视窗往下卷一行ctrl+y视窗往上卷一行
选择、复制、剪切、删除
v从光标当前位置开始,经过的地方会被选中,再按v结束V从光标当前行开始,光标经过的行都会被选中,再按一下V结束ctrl+v从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按ctrl+v结束ggVG选中全部的文本,其中gg为跳到行首,V选中整行,G末尾d剪切y复制p粘贴yy复制光标当前行
查找与替换
/字串光标之后寻找?字串光标之前寻找n往下继续寻找下一个相同的字串N往上继续寻找下一个相同的字串%查找'(',')','{','}'的配对符s搜寻某行列范围g搜寻整个编辑缓冲区的资料:1,$s/old/new/g将文件中所有old改成new:10,20s/%^/ /将10行至20行资料的最前面插入5个空白/字符串后边输入查询内容可保存至缓冲区,可用箭头上下进行以往内容选择- 将光标移动在选定单词下方按*,则可以选中此单词作为查询字符
环境的设定
:set all可设置的环境变量列表:set环境变量的当前值:set nu显示行号:set nonu取消行号设定。:set ai自动内缩。:set noai取消自动内缩。
(vim)
:set ruler会在屏幕右下角显示当前光标所处位置,并随光移动而改变,占用屏幕空间较小,使用也比较方便,推荐使用。:set hlsearch在使用查找功能时,会高亮显示所有匹配的内容。:set nohlsearch关闭此功能。:set incsearch使Vim在输入字符串的过程中,光标就可定位显示匹配点。:set nowrapscan关闭查找自动回环功能,即查找到文件结尾处,结束查找;默认状态是自动回环