在网上看到大神们玩Vim,顿时产生兴趣,想要模仿一下,目的是要转至linux下学习C编程
终端下
$sudo apt-get install vim
输入命令
$vim ~/.vimrc
创建vim环境设置文件
基本配置如下:
:set nu "设置显示行号 :set backspace=2 "能使用backspace回删 :syntax on "语法检测 :set ruler "显示最后一行的状态 :set bg=dark "背景色设置 :set hlsearch "高亮度反白 :set laststatus=2 "两行状态行+一行命令行 :set cindent "设置c语言自动对齐 :set t_Co=256 "指定配色方案为256 :set mouse=a "设置可以在VIM使用鼠标 :set tabstop=4 "设置TAB宽度 :set history=1000 "设置历史记录条数 :set nocompatible "设置不兼容
更多设置可以再vim中输入:set all 查阅,可以设置的很多,我只需要设置部分就好了
有两种比较流行的插件管理,分别是Vundle和Pathogen.
我选择的是:Pathogen
pathogen使用简单方便,有效,安装插件方式:
先创建两个文件夹:
mkdir -p ~/.vim/autoload ~/.vim/bundle curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
安装成功,在./vimrc中加入:
"PATHOGEN配置 :execute pathogen#infect() :filetype plugin on "允许插件 :filetype plugin indent on "启动智能补全
再github中直接添加插件的方法:
如:
$cd ~/.vim/bundle #进入目录 $git clone git://github.com/tpope/vim-sensible.git #从github上下载
接着,在vim中输入:Helptags 生成帮助文件,就能够输入:help vim-sensible 查看帮助文档
如此就安装好了插件,打开帮助文档,再进行下一步 的详细配置
管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。NERDTree 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。
安装,在终端输入命令:
$cd ~/.vim/bundle $git clone https://github.com/scrooloose/nerdtree.git
安装完后,重新开启vim,输入:helptags 再打开 :help NERD_tree.txt 可以配置.vimrc了
在vim中输入命令: NERDTree就可以浏览文件了
我的.vimrc文件添加了以下代码:
"快捷键:使用F3打开关闭 map <F3> :NERDTreeMirror <CR> map <F3> :NERDTreeToggle <CR> "NERDTree配置 let NERDChristmasTree=1 "显示增强 let NERDTreeAutoCenter=1 "自动调整焦点 let NERDTreeShowFiles=1 "显示文件 let NERDTreeShowLineNumbers=1 "显示行号 let NERDTreeHightCursorline=1 "高亮当前文件 let NERDTreeShowHidden=0 "显示隐藏文件 let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help' let NERDTreeWinSize=31 "窗口宽度
Nerdtree快捷键
o 打开关闭文件或者目录
t 在标签页中打开
T 在后台标签页中打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
常常用到的是:ctrl+] ctrl+t o
用过vs2010和code::blocks ,它们的自动补全功能确实强大 ,supertab就有很好的语法补全功能(链接:supertab)
安装命令:
$cd ~/.vim/bundle $git clone https://github.com/ervandew/supertab
安装完成后,在.vimrc中加入代码:
"配置Supertab let g:SuperTabRetainCompletionType=2 "记住上次的补全方式,直到按Esc退出插入模式位置 let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab后默认补全方式为<c-p>,现在改为<c-x><c-o>
还有很多补全方式,可以输入 :help ins-completion 或:help compl-omni 查看更多
打开vim后输入想输入的词的首几个字母,按下Tab键就能补全.更多还是请参考手册
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础.ctags程序其是叫"Exuberant Ctags".
为了方便使用Vim阅读源代码,Tag List 这个Vim插件不可或缺。这是一个用来浏览源代码的Vim插件,使用它我们可以概览源代码的结构并在各个源文件中跳转浏览,非常方便。Tag List插件需要Ctags这个程序的支持(动态生成tag file).
安装ctags方式有两种:
输入命令安装: sudo apt-get install ctags
下载安装:http://ctags.sourceforge.net
下载成功后解压文件编译安装:
进入文件夹,终端中依次输入:
$./configure $make $sudo make install
使用方法:
在你的工程的源码文件夹内输入命令:
$ctags -R
“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
安装taglist :下载地址http://www.vim.org/scripts/script.php?script_id=273
解压后直接放在~/.vim/bundle之下,(遇到的问题是打开不了:helptags) 可以打开taglist.txt根据里面的信息进行配置
同样的在.vimrc加上如下配置代码
"taglist配置信息 let Tlist_Auto_Open=1 " Let the tag list open automatically let Tlist_Auto_Update=1 " Update the tag list automatically let Tlist_Compact_Format=1 " Hide help menu let Tlist_Ctags_Cmd='ctags' " Location of ctags let Tlist_Enable_Fold_Column=0 "do show folding tree let Tlist_Process_File_Always=1 " Always process the source file let Tlist_Show_One_File=1 " Only show the tag list of current file let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees let Tlist_Sort_Type="name" " Order by name let Tlist_WinWidth=30 " Set the window 40 cols wide. let Tlist_Close_On_Select=1 " Close the list when a item is selected let Tlist_Use_SingleClick=1 "Go To Target By SingleClick let Tlist_Use_Right_Window=1 "在右侧显示 "打开关闭快捷键 map <silent> <F2> :TlistToggle<CR>
这样使用起来就很方便:使用命令:$ctags -R 进入vim打开关闭 F2
今天就先配置到这里,编程水平不高,还未到改进IDE来提高效率的阶段,还是先去学编程,先挖坑有空再回来填........
我的.vimrc文件:
:set nu "设置显示行号 :set backspace=2 "能使用backspace回删 :syntax on "语法检测 :set ruler "显示最后一行的状态 :set bg=dark "背景色设置 :set hlsearch "高亮度反白 :set laststatus=2 "两行状态行+一行命令行 :set cindent "设置c语言自动对其 :set t_Co=256 "指定配色方案为256 :set mouse=a "设置可以在VIM使用鼠标 :set tabstop=4 "设置TAB宽度 :set history=1000 "设置历史记录条数 "PATHOGEN配置 :execute pathogen#infect() :filetype plugin on "允许插件 :filetype plugin indent on "启动智能补全 "配置nerdtree使用F3打开关闭 map <F3> :NERDTreeMirror <CR> map <F3> :NERDTreeToggle <CR> "NERDTree配置 let NERDChristmasTree=1 "显示增强 let NERDTreeAutoCenter=1 "自动调整焦点 let NERDTreeShowFiles=1 "显示文件 let NERDTreeShowLineNumbers=1 "显示行号 let NERDTreeHightCursorline=1 "高亮当前文件 let NERDTreeShowHidden=0 "显示隐藏文件 let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help' let NERDTreeWinSize=31 "窗口宽度 "配置Supertab let g:SuperTabRetainCompletionType=2 "记住上次的补全方式,直到按Esc退出插入模式位置 "let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab后默认补全方式为<c-p>,现在改为<c-x><c-o> "默认最大化窗口打开 au GUIEnter * simalt ~x "taglist配置信息 let Tlist_Auto_Open=1 " Let the tag list open automatically let Tlist_Auto_Update=1 " Update the tag list automatically let Tlist_Compact_Format=1 " Hide help menu let Tlist_Ctags_Cmd='ctags' " Location of ctags let Tlist_Enable_Fold_Column=0 "do show folding tree let Tlist_Process_File_Always=1 " Always process the source file let Tlist_Show_One_File=1 " Only show the tag list of current file let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees let Tlist_Sort_Type="name" " Order by name let Tlist_WinWidth=30 " Set the window 40 cols wide. let Tlist_Close_On_Select=1 " Close the list when a item is selected let Tlist_Use_SingleClick=1 "Go To Target By SingleClick let Tlist_Use_Right_Window=1 "在右侧显示 map <silent> <F2> :TlistToggle<CR> "打开关闭快捷键
还有很多优秀的插件,此坑待填,等水平上来了再修改
更多的指令可以在vim 中输入:help 查看各种manual reference
一些参考的博文:
所需即所获:像 IDE 一样使用 vim
推荐学习vim指令资料:鸟哥的linux私房菜,网易云课堂上的鱼C工作室
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。