Linux基础知识系统学习.NO8——vim基本操作

3.vim

3.1.vim和vimrc

vim是vi的升级版,vim在vi的基础上,支持多级撤销,语法高亮和自动补全,支持多种插件的功能.vim可以通过ssh/http编辑文件,也支持多文件编辑,也支持编辑压缩文件。
vimrc就是包含初始化命令的文件。vimrc中每一行都是作为一个命令来执行的。vimrc中用于设置对于vim操作时的默认配置,比如是否高亮?是否自动缩进?是否出现行号等等的快捷操作。
打开任意vim文档,底行模式输入h vimrc,就可以进入vimrc的文档内容。底行模式输入version可以查看版本信息,可以看到用户的vimrc是在家目录下的隐藏文件,~/.vim/.vimrc文件。root级别的在/etc/vimrc,vimrc当中,以左双引号开头为注释。进入vimrc就可以看到有关vim的配置信息:
底行模式输入set number,就能打开编辑行号,输入set nonumber,就能关闭行号。命令后跟问号,就会执行命令后再返回当前状态,比如set number?就会开启行号同时返回一个number,说明当前的确是开启了行号。
set suler就是打开右下角的光标坐标显示,set nosuler就是关闭坐标。
set hlsearch就是开启搜索高亮,set noh就是关闭搜索时高亮。
set autoindent开启首行缩进,缩进单位和上一行一样,set noautoindent就是关闭这个功能。
set smartindent开启自动缩进,即根据语言格式智能选择缩进,添no就是关闭这种功能。

3.2.vim的操作模式

使用vim+文件名,就可以以vim的方式打开该文件,没有就在当前目录下创建一个再打开它。刚进入文件vim默认是进入普通模式等待输入命令,按下i就进入了插入模式,esc进入普通模式,按冒号就进入底行模式。
命令模式下按v,进入可视化界面,可以移动光标选中多行,可以进行dd,yy,p等操作。

3.3.打开vim

一般默认vim文件名打开文件光标定位在第一行或者上次退出时的行,如果是vim + 文件名,那么打开文件光标就会定位在最后一行,如果是vim +3 文件名,就可以打开之后光标定位在第三行。(注:这一段落的几个加号不能省略)。
命令vim+文件名1+文件名2+文件名3…就可以同时打开多个文件,按照输入时的123的顺序,底行模式下按小写n就可以切换下一个文件,按大写 N(或者prve)就可以切换到上一个文件。
命令模式下CTRL+f向下翻页(front),CTRL+b向上翻页(back),CTRL+d向下翻半页(down),CTRL+u向上翻半页(up)。

3.4.vim常用操作

3.4.1.移动、跳转与缩进

vim普通模式中:
使用hjkl来实现左下上右的移动,^号移动到行首(不包括首行缩进),数值0键,移动到行首(包括首行缩进),$号移动到行尾。w/W正向移动到下一个单词开头(小写w不识别除字母数字以外的符号,遇到逗号也会停下),b/B类比w,反向移动,e/E正向移动到下一个单词结尾,ge组合键反向移动到上一个单词结尾。gg跳转到文件首行,G跳转到文件末行。
手动单行缩进时。使用两个大于符号>>向右缩进,两个小于符号<<向左缩进。多行缩进需要在命令模式下,键入m,n>,表示从第m到n行向右缩进了一次,同理m,n<向左缩进。

3.4.2.删除、复制与粘贴

普通模式下:
dd用于删除和剪切光标所在行
yy复制光标所在行
P(大写)在光标所在行的上方粘贴
p(小写)在光标所在行的下方粘贴
u撤销之前的操作·
Ctrl+r撤销之前的撤销
yw复制当前光标单词
dw删除当前光标单词
d{hjkl}删除光标所在的左下上右的单词
d^从当前光标删除到行首
d$从当前光标删除到行尾
数字n+dd,删除当前包括光标所在的向下n行
数字n+dw,正向删除n个单词

3.4.3.修改、查找与替换

普通模式下:
shift+i从普通模式进入插入模式,并且把光标移动到行首,shift+a从普通模式进入插入模式,并且把光标移动到行尾。
直接按i进入插入模式,长度光标不变,并且插入内容在光标前方,而直接按a进入插入模式,光标不变,并且插入内容在光标后方。小写o在光标所在行的下方插入一行并且换到输入模式,大写O在光标上一行插入并切换到输入模式。
数字n+i/a进入插入模式,书写内容后再按esc退到普通模式,就看重复n次横向插入内容。如果想竖着插入,也就是每行都一样,就使用数字n+o进入插入模式即可。
shift+对单个字符进行大小写转换,光标移到行首,按g键,然后shift+~完成对某行的大小写转换,按点.是重复上一个操作。
对某个单词,按gu把单词转换成小写,按gU把单词转换为大写。
命令模式下:
/str正向查找该字符串所在位置,光标停在最近的那一个str前面,?str反向查找字符串所在为置。在所有被找到的str中,小写n跳到下一个str,大写N跳到上一个str.
vim的命令行模式支持执行正则表达式进行替换。如%s/str1/str2/g将光标所在行的str替换成str2,如果想修改全局范围内的str,加上白分号,如%s/str1/str2/g全局内将所有的str1替换成str2.
对于单个字符的替换,命令模式下将光标放到需要修改的字符,按一下小写r再加将要替换的内容。
Ctrl+v选中需要的行,再按大写I,插入内容,然后按ESC,那么所有之前选中的行都会被赋予同样的操作。比如注释一段内容就会用到这个。

3.4.4.vim底行模式部分操作

底行模式下:
:w保存当前状态
:q退出
:!强制执行命令
:ls列出打开的所有文件
:n打开多个文件时,用来向下翻页
:N打开多个文件时,用来向上翻页
:15 跳到第15行,没有就只到末行

3.4.5.多窗口操作

分屏:vim -O/o+数字n+文件1~文件n,大写O水平分屏,小写o垂直分屏,n表示分屏数,后面跟文件名,如vim -O 2 a.c b.c.ctrl+w切换不同的以打开文件,sp+新文件名,上下分割并打开一个新文件,vsp+新文件名,左右分割并打开一个新文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值