Vim基础

Vim是vi的高级版本(Vi IMproved),是一种文本编辑器,与vim的插件相结合,同时也是Linux平台下很好用的程序编辑器。所有的Linux发行版都会默认安装vim作为文本编辑器,很多软件编辑接口都会主动调用vim(crontab, visudo, edquota)。我这里用的RHEL6平台,其实vi就直接使用的是vim。

[clef@rhel6164 rc]$ which vi
alias vi='vim'
        /usr/bin/vim

Vim的三种基本模式:

  1. 一般模式:以vim打开一个文件就直接进入一般模式(默认的模式),在一般模式下可以进行删除字符或删除整行,也可以复制、粘贴文件数据。
  2. 编辑模式:在一般模式下可以进行删除、复制、粘贴等的操作,但是却无法编辑文件内容,按下"i, I, o, O, a, A, r, R"中任何一个字母就可以进入编辑模式,对文件进行编辑,按下【Esc】就可以从编辑模式返回到一般模式。
  3. 命令行模式:在一般模式当中,输入“:, /, ?"三个中的任何一个字符,就可以进入命令行模式。在命令行模式中,可以进行查询数据的操作、大量替换字符串,离开vim,按下【Esc】就可以从编辑模式返回到一般模式。

一般模式与编辑模式的转换

字符说明
i或I进入插入模式,i为从当前光标处插入,I(大写i)在目前所在行的第一个非空格处插入
a或A进入插入模式,a为从当前光标所在的下一个字符处插入,A在目前所在行的最后一个字符处插入
o或O进入插入模式,o为在当前光标所在行处的下一行插入新的一行,O为在上一行插入新的一行
r或R进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的字符,直到输入【Esc】
【Esc】退出编辑模式,进入一般模式

命令行模式一些简单说明

字符说明
:w或:w!保存数据,'!'表示强制的意思
:q或:q!退出vim,'!'表示强制的意思
:f显示文件名
:wq或:wq!保存后退出vim,'!'表示强制的意思
:w [filename]将编辑的数据保存成另一个文件(类似于另存于)
:r [filename]在编辑的数据中,读入另一个文件的数据,即将'filename'这文件内容加到光标所在行的下面
:n1, n2w [filename]将n1到n2行的内容保存成filename这个文件
:! command暂时离开vim的命令行模式下执行command的显示结构
:help查看vim的帮助信息,进入帮助页面,查看最前面关于帮助文档页面操作的说明
:set all显示所有可以设置的选项
:set nu显示行号
:set nonu取消行号

一般模式中移动光标的方法

字符说明
h或者向左箭头光标向左移动一个字符
j或者向下箭头光标向下移动一个字符
k或者向上箭头光标向上移动一个字符
l或者向右箭头光标向右移动一个字符
G移动到这个文件的最后一行
n和上面的字符结合n为数字,移动n个字符/行,例如10j表示想下移动10字符
gg移动到这个文件的第一行,相当于1G
0或者功能键【home】数字’0‘,移动到这一行的最前面的字符处
$或者功能键【End】移动到这一行的最后面的字符处
J将光标所在行与下一行数据结合成一行
u复原/撤销前一个操作
1+Ctrl+g显示打开文件的路径和文件名

查找与替换

字符说明
/word从光标所在行向下查找word字符串
?word从光标所在行向上查找word字符串
n或者Nn表示向下重复上一个查找,N表示向上重复上一个查找
:n1, n2s/word1/word2/g在n1与n2行之间用word2替换word1字符串
:1, $s/word1/word2/g从第一行到最后一行,用word2替换word1字符串
:1, $s/word1/word2/gc在替换的时候,有确认信息提示

删除、复制与粘贴

字符说明
x, Xx表示从光标处向后删除,X表示从光标处先一个字符向前删除
dd删除光标所在的一行
yy复制光标所在的一行
n和上面的字符结合n为数字,删除多个字符/行、复制多行
p, Pp表示将复制的数据在光标的下一行粘贴,P则为上一行粘贴
d/y与1G/G字符结合分别表示删除/复制光标所在行到第一行/最后一行的所有数据
d/y与$/0字符结合分别表示删除/复制光标所在的那个字符到改行行首/行尾的所有数据

一些高级的vim操作

  • 块选择(Visual Block)
  • 多文件编辑,同时用vim打开多个文件
  • 多窗口功能

块选择操作

字符说明
小写v字符选择,会将光标经过的地方反白选择
大写V行选择,会将光标经过的行反白选择
【Ctrl】+v块选择,可以用长方形的方式选择数据
y将反白的地方复制起来
d将反白的地方删除
【Esc】退出块选择模式

多文件编辑操作

字符说明
:n编辑下一个文件
:N编辑上一个文件
:files列出当前vim打开的所有文件

多窗口功能

字符说明
:sp [filename]打开一个新窗口,如果没有加filename表示两个窗口都是显示同一个文件
【Ctrl】+w+j/向下箭头光标移动到下面一个窗口
【Ctrl】+w+k/向上箭头光标移动到上面一个窗口

Vim环境设置与记录

  • ~/.vimrc:用户自己定制vim的设置
  • ~/.viminfo:记录曾经做过的vim操作

当在定制vim选项的时候,可以参考vim命令行模式里面的所有选项(:set all),注意,在进行设置的时候,~/.vimrc文件里面就不包含冒号了(:)。

Vim查看帮助文档

  • 在vim中使用:help
  • 直接使用命令vimtutor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值