linux文件明明存在却无法vim打开_编辑器之神——vim

由于本人日常的开发在Linux环境下,所以我选择了vim作为写代码的工具,但是 Source Insight 又是一款非常强大且好用的看代码工具,所以我不得不在Linux里装了一个Windows的虚拟机(wine版本的 Source Insight4.0 有bug      QAQ)。

这使我看代码非常不方便,写代码用vim,那看代码能不能也用vim呢?

如果你还不会vim,请看我csdn写的这篇文章《vim的基本操作》

vim的界面十分简洁,就像一个记事本一样,那他能像 Source Insight 一样具备函数跳转,查看定义等功能吗?

答案是肯定的,vim非常强大,vim结合插件后就能实现 Source Insight 一样的功能,妈妈再也不用担心我装虚拟机和大型的IDE(最具代表性的VS)而卡死了:)

工欲善其事,必先利其器。说干就干,下面就是我用 vim+ctags+Taglist+NERDTree+SrcExpl 配置的自用vim编辑器,能够实现基本的查看变量函数名、查看目录、打开其他文件、跳转定义等。

先上图,嘻嘻^^

1b82a2cd78f4514099df16d55d2b88ba.png

我的vim界面

一、vim基本配置

首先,修改~/.vimrc文件的内容,让你的vim看起来不至于那么难用。

"----------display-----------set nu      "行号syntax on    "语法高亮set ruler    "显示当前行和列set showcmd  "显示部分命令set showmode "最后一行显示当前模式set match    "显示括号匹配"----------display------------"----------input--------------set smartindent  "自动缩进set expandtab  "将tab转化为空格set smarttab  "插入tab使用shiftwidthset shiftwidth=4"缩进列数为4"-----------input----------------"------------search---------------set hlsearch  "搜索结果高亮显示set inccase    "预览搜索结果set ignorecase  "不区分大小写set smartcase  "当有大写字母时区分大小写"------------search---------------"-----------encoding--------------set encoding=utf-8  "设置编码格式set fileencodings=utf-8,gb18030,gbk,gb2312,big5set termencoding=utf-8

二、ctags+Taglist

首先安装ctags,这是ubuntu自带的,可以使用以下命令安装

sudo apt-get install ctags

然后再安装Taglist,严格来说不能算安装软件,只需要去网站上下载taglist_46.zip压缩包,解压后移动到~/.vim目录下即可。

cd ~/Downloadswget https://www.vim.org/scripts/script.php?script_id=273 -O taglist_46.zipunzip taglist_46.zip
mkdir ~/.vim
mv ~/Downloads/doc ~/.vimmv ~/Downloads/plugin ~/.vim

安装好ctags和Taglist后,在源代码根目录下执行

ctags -R --c++-kinds=+p+l+x+c+d+e+f+g+m+n+s+t+u+v --fields=+liaS -extra=+q

执行完毕会生成tags文件

7173395747dc38ef1784e38ccf7c5624.png

生成tags

如果你觉得上面的代码太长,也可以执行

ctags -R *

不过,这个命令有个问题,成员变量没有包含在里面。所以可能有些对象的成员时无法跳转。

接下来修改~/.vimrc配置

"-------------ctags----------------:set tags+='/home/coppa/linux_kernel/tags'  "换成自己生成的tags路径"-------------ctags----------------
"-------------taglist----------------let Tlist_Use_Left_Window=1  "vim左侧窗口显示Taglistlet Tlist_Exit_OnlyWindow=1  "Taglist是最后一个窗口是退出vimlet Tlist_WinWidth=20  "设置Taglist窗口宽度为20nmap  :Tlist    "设置快捷键打开Taglist"-------------taglist----------------

完成上述步骤后,用vim打开项目代码,按F2即可打开Taglist

效果如图所示。

f305a59b073d83b0a5bb28c6e17b1686.png

Taglist效果(左侧)

Taglist使用方法:

打开/关闭Taglist:『F2』(快捷键)

移动窗口:『ctrl-w 』后按左方向键、『ctrl-w 』后按右方向键

跳转定义:『ctrl-] 』

返回跳转之前:『ctrl-t』

快速定位:左侧选中某变量名后按回车键

三、NERDTree

NERDTree是一款用来在Vim界面显示树形目录的文件管理器插件,可在vim操作界面进行文件打开、目录浏览操作!

安装方法和Taglist类似,先去网站上下载NERD_tree.zip

然后再解压到.vim文件夹中

cd ~/.vimwget https://www.vim.org/scripts/script.php?script_id=1658 -O NERD_tree.zipunzip NERD_tree.zip

修改~/.vimrc配置

"-------------NERDTree---------------let NERDTreeWinPos='right'  "设置窗口在右侧nmap  :NERDTree    "设置快捷键F8打开let NERDTreeWinSize=16     "窗口大小为16"-------------NERDTree---------------

效果如图所示

8d310b81c3db6a3687430cbe421fa203.png

NERDTree效果(右侧)

NERDTree使用方法:

打开/关闭NERDTree:F8(快捷键)

移动窗口:『ctrl-w 』后按左方向键、『ctrl-w 』后按右方向键

选择文件’:方向键上下移动

打开文件或目录:回车键

返回上一层目录:选择‘up a dir’,按回车

四、SrcExpl

该插件就是可以进行搜索功能,如同SourceInsight的下面一栏

安装方法和上面类似,先去网站上下载SrcExpl-6.0.zip

解压

cd ~/.vimwget https://www.vim.org/scripts/script.php?script_id=2179 -O SrcExpl-6.0.zipunzip SrcExpl-6.0.zip

修改~/.vimrc配置

 "------SourceExplore------nmap  :SrcExplToggle        "设置快捷键为F5let g:SrcExpl_winHeight=6           "高度为6let g:SrcExpl_refreshTime=100       "刷新时间100mslet g:SrcExpl_jumpKey=''     "回车键跳转定义let g:SrcExpl_gobackKey=''   "空格键返回let g:SrcExpl_pluginList=[                               \'_Tag_List_',                \'NERD_tree_',                 \'Source_Explorer'                \]                  "避免插件冲突let g:SrcExpl_searchLocalDef=1      "搜索本地的定义let g:SrcExpl_isUpdateTags=0        "文件打开时不更新tagslet g:SrcExpl_updateTagsCmd='ctags                   \--sort=foldcase -R .'  "用ctags的命令创建tagslet g:SrcExpl_updateTagsKey=''    "更新tags的快捷键"------SourceExplore------

SrcExpl使用方法:

打开/关闭SrcExpl:F5(快捷键)

移动窗口:『ctrl-w 』后按上方向键、『ctrl-w 』后按下方向键

跳转定义:回车(快捷键)

返回跳转:空格键(快捷键)

最终效果

1b82a2cd78f4514099df16d55d2b88ba.png

最终效果

小技巧:如何快速关闭所有插件,只保留中间的窗口。执行vim命令即可

:only

代码补全,用vim自带的就可以了,也可以安装插件YouCompleteMe。vim自带的代码补全需要在一般模式下按ctrl-n

2415f97cb1a1fa23a1aaf5666d2adb04.png

总结:

F2,F5,F8对应键盘上左,中,右的位置,即Taglist,SrcExpl,NERDTree

窗口之间的移动需要先按ctrl-w,再按方向键来选择。

如果你不想搞那么麻烦,只想拥有一个能用的vim写代码就行,那你只需配置vim的基本配置就可以满足日常的写代码需求。

当一个文件里面函数很多时如何方便的查看函数,配置Taglist你将如鱼得水!

如果你想多一点需求,比如在vim界面打开其他文件,那么你可以配置NERDTree

我最喜欢Source Insight下面那栏的预览界面,配置SrcExpl后你就可以在其他文件的函数定义中跳来跳去!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值