vim常用命令技巧及基本配置

14 篇文章 1 订阅

vim是一款很强大的文本编辑器,并且有丰富的插件来扩充功能。


这几天,网上找了一些资料配置了一下我的vim,总结一下,记录一下,好后续使用.


1.常用ex模式命令

进入vim,输入冒号:,就进入ex模式,该模式下有一些常用的命令


1)copy或co或t,复制命令,后面需要跟一个行号,表示复制到哪一行的下面

例如:1,10 t 20

将第1到第10行复制到第20行的后面


2)m,移动命令,后面跟一个行号,表示移动哪一行的下面

例如:10,11 m $

将第10,11行的内容移动到文件末尾

例如:m +1

当前行和下一行互换位置


3)d,删除命令

例如:1,3 d

删除第1到第3行


4)y,复制命令,后面可跟一个寄存器,表示复制到该寄存器,也可以不跟

如:10,20 y

复制第10到第20行


5)p,打印命令

如:p

打印出当前光标所在行的内容,包括行号


6)=,打印出当前文件的总行数

如:=

打印出当前文件的总行数


7)pu,命令,粘贴命令

如:10,20 y,然后将光标移动到任意行,再输入:pu命令,可以将刚才复制的内容粘贴到当前光标所在行的下面


8)s/xxxx/yyyy/g,非常常用的搜索替换命令,前面可以指定范围

如:10,20 s/xxxx/yyyy/g ,将第10到第20行中的xxx替换为yyy,前面加%表示在全文件中替换,不加表示在当前行替换


9)g,全局命令,非常强大的命令

基本用法是:g/pattern/cmd

如:g/^/norm o

会在每一行下面加一个空行

又如:g/^/+1 d

则删除偶数行

上面两个命令先后执行完,文件内容没有变化


还有:g/^/m 0

整个文件上下翻转,即最后一行到第一行,第一行到最后一行


非常有用的还有

:g/pattern/p 或者直接 :g pattern

将所有pattern出现的地方显示出来

这跟很多加强型的文本编辑器中的在文件中查找功能有些相像


10)/,搜索命令,

基本用法:/pattern,向前搜索,搜索完后,按n查看下一处,N查看上一处

相反的:?patter是向后搜索


2.常用normal模式命令

在ex模式下按Esc键,就退出到normal模式,也是刚进入vim的默认模式

该模式下也有一些常用的命令

1)dd,删除命令

如8dd,删除包括当前行在内的8行


2)yy,复制命令

如8yy,复制包括当前行在内的8行


3)p,粘贴命令

如p,将上次删除或复制的内容粘贴到当前行的下面


4)x,删除当前光标位置的字符

如4x,删除4个字符


5)i,基本是最常用的命令,进入插入模式


6)a,进入插入模式,跟i不同的是,光标定位到当前字符的后面,i是前面


7)s,删除当前字符并进入插入模式

如6s,删除6个字符并进入插入模式


8)o,在当前行下面建立新行,并进入插入模式,光标定位到新行行首


9)shift+o,也就是大写O,在当前行的上面建立新行,并进入插入模式


10)shift+j,也就是大写的J,将当前行和下一行合并成一行。


11)shift+8,也就是*,查找当前光标所在单词的下一次出现,#是查找上一次,非常好用且实用的命令


等等还有很多,暂时想起这么多,再想起来再编辑加入


值得一提的是在ex模式下,也可以执行normal模式下的命令,用如下格式

如:norm OOXX

会在当前行的上面创建新行并输入OXX,但不会直接进入插入模式,而是同ex模式下执行完命令一样回到normal模式

同理

:normal ooxx,在当前行下面创建新行并输入oxx

:normal 3sxxx,在当前光标处删除3个字符并输入xxx三个字符

也就是在normal模式下的命令前面加上norm或normal


2.安装的插件:

1)winmanager

用于在vim中开一个窗格来进行文件浏览

加入下面的taglist,nerdtree后,打开时,会多打开一个空文件,

网上搜到解决方法是在winmanager.vim中加入一行

  1. function! <SID>ToggleWindowsManager()  
  2.    if IsWinManagerVisible()  
  3.       call s:CloseWindowsManager()  
  4.    else  
  5.       call s:StartWindowsManager()  
  6.       exe 'q'    //加入这一行
  7.    end  
  8. endfunction 

2)taglist

用于浏览代码文件中的变量,函数,类等,程序员必备,也会在vim中开一个窗格。

需要安装ctags程序并用ctags程序生成tags文件


3)cscope

用于查找代码中的函数调用关系。

也需要生成cscope相关文件


4)NERDTree

用于替代winmanager中的fileexplorer,能够彩色显示不同文件类型。


5)lookupfile

用于查找文件,先生成文件列表能够大幅提升搜索速度。


6)minibufexplorer

编辑多文件时非常有用,用于在多个文件间切换。


7)supertab

用于在插入模式下按tab键来补全输入。


8)fencview

用于自动检测文件编码

地址:http://www.vim.org/scripts/script.php?script_id=1708


附:

我的vimrc下载链接:http://download.csdn.net/detail/topgun38/4596887

为lookupfiles插件生成文件索引的脚本,我做了些修改,使不索引.svn目录下的文件,下载链接:http://download.csdn.net/detail/topgun38/4598203

为taglist和cscope插件生成必要文件的脚本,在使用cscope时,首先需要输入命令:cs add cscope.out来建立连接,才可以操作,脚本下载链接:http://download.csdn.net/detail/topgun38/4598215


用gvim的效果图:

说明:

左上角是NERTree文件浏览窗格

左下是taglist窗格

最上一横条是minibufexplorer窗格

粉色区域显示的是lookupfiles的匹配列表,匹配列表上面就是输入文字vimrc了。

右下角最大面积的就是文件内容了

在我的~/.gvimrc中只有一句话,用于字体设置:set guifont=文泉驿等宽正黑\ Medium\ 14


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值