vim使用

vim使用


编写本文档的目的是为了查找命令方便,也希望可以给同样喜爱vim的同学一些参考。

本人使用的系统是Fedora32。

至于vim最基础的知识,可以在shell下输入vimtutor命令查看,网上也有很多翻译的文档,请自行搜索。

联系方式

各位同学如果发现写错的地方或有一些想法想交流的,欢迎评论或发送邮件到lioneie@163.com

vim配置

编辑配置文件 vim ~/.vimrc ,以下是我所使用的配置 :

set number              "显示行号
syntax on               "语法高亮
set paste               "粘贴不自动缩进
set ruler               "右下角显示位置
set hlsearch            "搜索高亮
set fdm=indent          "indent缩进折叠,syntax语法折叠
set pastetoggle=<F9>    "F9粘贴设置切换
set ts=4                "一个tab键等于4个空格宽度
set sw=4                "按<键和>键缩进时,移动4个空格
set expandtab           "tab转化为空格
set mouse-=a			"鼠标选择文字不会进入visual模式
set colorscheme=desert	"支持的color查看/usr/share/vim/vim82/colors/(vim82是vim版本)

加载其他的.vimrc,在~/.vimrc中加入以下内容:

auto bufread vim打开时所在的路径 so .vimrc的路径/.vimrc

vim快捷键

多文件查找:

:help vimgrep		(查看帮助文档)

:vimgrep /pattern/*		(当前目录下查找模式pattern)
:vimgrep /pattern/**	(当前目录和子目录下查找模式pattern)
:vimgrep /pattern/**/*	(子目录下查找模式pattern,不含当前目录)

:cn		(查找下一个)
:cp		(查找上一个)
:cw		(打开quickfix窗口)

多文件替换:

:args **/**				(打开当前目录和子目录下的所有文件)
:args **/*.c			(打开当前目录和子目录下的.c文件)
:args *					(打开当前目录下的所有文件)
:args *.c				(打开当前目录下的.c文件)
:args */*.c				(打开下一级目录下的.c文件,不含当前目录)

:argdo %s/old/new/gc | update	(old替换成new,需要确认,update表示自动保存)

查找:

*  	向后查找单词
#	向前查找单词
/word	向后查找word
?word	向前查找word
/\c		不区分大小写向后查找(向前查找用?)
/\<word\>	匹配头尾向后查找(向前查找用?)

替换:

:%s/old/new/gc
加g表示替换一行中的所有,不加g表示只替换一行中的第一个
加c表示需要确认,不加c表示不需要确认
加%表示替换所有行,不加%表示替换当前行

:n,ms/old/new/gc	(替换第n行到第m行)
省略n表示从当前行开始替换
m为$时表示最后一行

跳转(cscope提供的跳转快捷键查看cscope):

ctrl加]	ctags提供的跳转定义
:ts		显示定义列表
ctrl加t	ctags提供的跳回
gd	局部变量跳转
gf	跳到头文件
ctrl加o	后退跳转
ctrl加i	前进跳转

文件回车符设置:

:set ff?	(查看文件的回车符类型)
:set ff=unix	(设置为unix回车符)
:set ff=dos		(设置为dos回车符)

折叠:

zc zC zr zR	折叠
zo zO zm zM	展开

可视:

v	小写v按字符选择可视范围
V	大写V按行选择可视范围
ctrl+v	块选择可视范围
多行插入	ctrl+v按块选择多行然后按下大写i

其他操作:

撤销行	大写U
撤销10次	10u
不断重做	.(点号)
删除到行首	d^
删除到行尾	d$
选中可视范围后,按<键向前缩进,按>键向后缩进
不选中可视范围时,按两次<键向前缩进,按两次>键向后缩进
取消查找高亮	:nohlsearch (简写成noh)
大写J		将当前行和下一行合并

ctags

安装ctags:sudo dnf install ctags -y

使用ctags -R编译代码生成tags文件,在tags文件所在目录打开vim即可加载tags文件。

ctrl加]跳转定义,:ts显示定义列表,ctrl加t回退

加载tags文件 :set tags+=文件路径/tags

cscope

安装cscope:sudo dnf install cscope -y

将脚本文件cscope_maps.vim放到~/.vim/plugin/路径下,即可使用快捷键(快捷键种类查看 :cs help),如:cs find s word查找word引用可使用快捷键ctrl加\加s(按顺序依次按3个键)。

使用cscope -Rqbk(当需要包含/usr/include头文件时,不使用-k选择)编译代码生成cscope.out文件,在cscope.out文件所在目录打开vim即可加载cscope.out文件

leaderf

TODO

spacevim

TODO

上一篇:linux 中配置gtags+vim


下一篇:超好看vim界面配置,打造好用IDE