vim配置及常用命令

13 篇文章 0 订阅

一、vim配置

1、 创建vim的配置文件(.vimrc)

vim ~/.vimrc

2. 在.vimrc中,根据自己的习惯,添加控制指令,使vim更高效
"Highlight all search pattern matches 
set hls
"Map F12 to create ctags index in current directory 
map <F12> :!ctags -R <CR><CR>
"A shotcut to execute the grep command 
map mg :!grep
"change the comment color 
hi Comment ctermfg=6
  • 解释如下
    set hls,看代码时,使用‘/’或者‘#’搜索指定的关键字时,高亮得到的所有结果
    map :!ctags -R ,重映射F12键,这样可以一键在当前目录下创建ctags的索引
    map mg :!grep,一个执行grep命令的快捷方式。编写、查看代码时,敲击’mg’两个字母,即可调出
    hi Comment ctermfg=6,看代码时,默认的注释颜色为深蓝色,看着太吃力了,改为浅蓝色,就好看多了
3、 其它技巧

阅读代码时,如果使用ctags命令创建了索引,将光标移至指定的函数上,CTRL+]会跳转到第一个匹配的定义处,g]会列出所有匹配的定义,CTRL+t返回上一个界面
‘shift + k’,vim内置的按键映射(:! man xxx),用于调用man命令,查看光标所在位置的帮助文档

vim配置

set nu
set tabstop=4

set smartindent     "智能的选择对齐方式"
set shiftwidth=4
set softtabstop=4

set wildmenu             "增强模式中的命令行自动完成操作"

set ignorecase      "搜索忽略大小写"
set nocp            "去掉有关vi一致性模式,避免以前版本的一些bug和局限"

set expandtab
set ai
set si
set noswapfile
set cindent
set incsearch
set autoread

set autoindent      "自动缩排,如当前行是从第3个字符的位置开始编辑的,按回车后光标会自动定位在下一行第三3个字符的位置"

set hlsearch        "搜索高亮"

"置粘贴模式,这样粘贴过来的程序代码就不会错位了"
set paste


"打开文件时自动回到上次编辑位置"
if has("autocmd")
   autocmd BufRead *.txt set tw=78
   autocmd BufReadPost *
      \ if line("'\"") > 0 && line ("'\"") <= line("$") |
      \   exe "normal g'\"" |
      \ endif
endif

自动补全

" complete默认值为 .,w,b,u,t,i 具体含义可查看帮助:h complete
" vim补全模式设置 更多设置查看帮助 :h completeopt
set completeopt=preview,menu

常用命令

1. 普通模式
在shell中直接打vim filename就会进入普通模式。在这个状态,我们可以通过不同的按键对文件进行操作和切换到其它模式。按“:”可切换到命令模式,按i,o,a可进入编辑模。

1.1. 编辑
i
进入编辑模式。

o
在当前位置下插入一空行,进入编辑模式,光标位于空行的最开头。

a
光标后移一个字符,进入编辑模式。

v
这入可视模式,可用高亮的色块选择内容。

x or DEL键
删除当前字符,删除内容保存在缓冲区。

xp
左右字符互换。

dd
删除当前行,删除内容保存在缓冲区。

ddp
上下两行的内容互换。

d$
删除当前光标至行尾的所有内容。

dG
删除从当前行至文件未尾的所有行。

u
undo。

v
进地visual模式,移动光标可选择文本。

y
把当前行复制到缓冲区中。

p
把缓冲区中的文本插入到当前位置。

"ay
把当前行复制到a缓冲区。可用26个字母命名多个缓冲区。

"ap
把a缓冲区中的文本插入当前位置。

J
上下两行合并成一行。

.
英文句点的作用是重复执行上次执行的命令,如你按了"ap插入a缓冲区的内容,那你就可按"."来重复这个操作。

1.2. 光标移动
h,j,k,l
在vim中,除了可使用光标键在移动光标外,还有一种更方便的光标移动方式。就是使用h,j,k,l这四个键来移动光标。h控制光标左移,j控制光标下移,k控制光标上移,l控制光标右移。通过使用这四个字母键就可使我们的手不用移动即可控制光标的移动。刚开始使用可能会有些不习惯,但熟练使用后你会发觉你的输入速度提高不少,强烈建议喜欢vim的朋友使用。

$
光标移动到行尾。

G
光标移动到文档末尾。

H,L
H控制光标移动到当前屏幕头,L控制光标移动到当前屏幕尾。

{}
{控制光标上移一个段落,}控制光标下移一个段落

2. 编辑模式
ESC
退出编辑状态。

3. 命令模式
在普通模式上按“:”就可进入命令模式,在左下屏幕我们输入一些操作指令。

:q!
不保存退出vim。

:w
保存文档,但不退出vim。

:x
保存退出vim。

:! command
运行shell命令。

:e filename
编辑/打开一个文件

:s/emacs/vim
在当前行中把第一个emacs替换成vim。

:s/emacs/vim/g
把当前行中所有的emacs替换成vim。

:%s/emacs/vim/g
在全局范围内把emacs替换成vim。

:reg
列出缓冲区内容。

:set all
列出所有参数的配置情况。

:tabe
新建一个标签页。

:tabn or :tabp
切换到下一个\上一个标签页。

:close
关闭当前标签页。

:qa
关闭所有标签页退出。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【使用说明】在主目录直接解包就行 【功能详情】--------快捷键 //----------------------------------------------------------------- 【#】显示函数列表 : TlistToggle //显示函数列表 按将会在VIM的左边打开一个Taglist窗口,这个窗口里面包含了C文件里面的定义,如struct,typedef,全局变量,函数等。使用'+h将光标移动到左边的窗口,上下选择tag按回车定位到tag的定义处。 【#】当前目录列表,方便打开文件 : NERDTreeToggle //当前目录列表,方便打开文件 按会在VIM的右边打开一个文件浏览器窗口。再按一下会关闭这个窗口。 【#】最近文件列表 : MRU //最近文件列表 按会打开一个MRU窗口,这个窗口里面记录了最近打开的文档,上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。 : LookupFile 在VIM的上面打开文件查找窗口, : vimgrep 假设你想查找某个字符串在项目中出现的位置,你可以把光标放在这个字符串上, 按就会在VIM的最下面显示你想查找的字符串,此时你可以修改这个字符串,回车到下一步,此时会提示你要查找的文件范围, 【#】编译 : gcc 直接按可以对打开的文件直接编译 【#】gdb调试 : gdb 直接按可以直接进入gdb调试状态 : Generate tags 在代码间跳来跳去。先按生成tag数据库。将会在项目的当前目录下生成tags文件。此时将光标放在某个函数调用上,按+]就会跳到函数的定义处,按+o就会跳回来。 : HLUDSync 按可以生成cscope的数据库文件cscope.out,再使用",sa"(:cs add cscope.out)添加数据库文件。当下次启动VIM的时候就会自动加载当前目录下的cscope数据库文件。在.vimrc里面定义了使用cscope的快捷键,比如将光标放在某个函数上使用命令",sc"就可以查看这个函数被哪些函数调用过, 【#】全屏显示 :genfiletags.sh 是让终端全屏显示 add cscope.out 在查找文件之前要生成文件数据库, 按将会在项目的当前目录下生成tags.filename文件,所以最好是在项目的根目录下按。再按就可以使用通配符查找文件了。 【功能详情】--------命令行功能 【#】添加函数注释等 :Dox 添加函数注释 【#】头文件和c文件切换 :AV 垂直分屏显示头文件或者c文件 【其他功能】------- 1.输入main后按table键,自动生成main函数 2.输入单词自动补全//注,本文档之前输入的单词自动补全 3.双引号、单引号、大括号自动补全,小括号不能自动补全【如果有人发现是什么原因,可以留言哈】 【注】祝大家更高效的玩转vim

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值