windows下使用vim及其带来的问题
来源:互联网 发布:淘宝里的贷款在哪里 编辑:程序博客网 时间:2024/05/16 07:26
一般在家还是用windows环境。看看代码,一般还是需要用vim和两个插件ctags.exe和taglist.
首先下载windows下的vim,安装,没有问题。
接着找到ctags.exe和taglist插件,下载。也没问题
为了省事,直接把ctags.exe拷到你的windows的system32目录下。
在windows系统下必须注意这一点
把taglist拷到你VIM的安装目录的vimfiles目录下,两个文件,doc下的帮助和plugin下的VIM脚本。
打开GVIM,然后敲下列命令
:cd $VIM/vimfiles/doc
:help taglist .
其中$VIM代表你VIM的安装路径。
别忘了,在命令行下,你的源代码的顶级目录下执行一下
ctags -R
生成tags文件
然后在vim的目录下,注意不是vim73或者是vimfiles目录下,把下面的内容补充到_vimrc文件里。
set nocompatible " use vim defaultsset ls=2 " allways show status lineset tabstop=4 " numbers of spaces of tab characterset shiftwidth=4 " numbers of spaces to (auto)indentset scrolloff=3 " keep 3 lines when scrollingset showcmd " display incomplete commandsset hlsearch " highlight searchesset incsearch " do incremental searchingset ruler " show the cursor position all the timeset visualbell t_vb= " turn off error beep/flashset novisualbell " turn off visual bellset nobackup " do not keep a backup fileset number " show line numbersset ignorecase " ignore case when searching"set noignorecase " don't ignore caseset title " show title in console title barset ttyfast " smoother changes"set ttyscroll=0 " turn off scrolling, didn't work well with PuTTYset modeline " last lines in document sets vim modeset modelines=3 " number lines checked for modelinesset shortmess=atI " Abbreviate messagesset nostartofline " don't jump to first character when pagingset whichwrap=b,s,h,l,<,>,[,] " move freely between files"set viminfo='20,<50,s10,h"set autoindent " always set autoindenting on"set smartindent " smart indent"set cindent " cindentset noautoindentset nosmartindentset nocindent "set autowrite " auto saves changes when quitting and swiching buffer"set expandtab " tabs are converted to spaces, use only when required"set sm " show matching braces, somewhat annoying..."set nowrap " don't wrap linessyntax on " syntax highlighingcolorscheme elflord " use this color schemeset background=dark " adapt colors for backgroundif has("autocmd")" Restore cursor positionau BufReadPost * if line("'/"") > 0|if line("'/"") <= line("$")|exe("norm '/"")|else|exe "norm $"|endif|endif" Filetypes (au = autocmd)au FileType helpfile set nonumber " no line numbers when viewing helpau FileType helpfile nnoremap " Enter selects subjectau FileType helpfile nnoremap " Backspace to go back" When using mutt, text width=72au FileType mail,tex set textwidth=72au FileType cpp,c,java,sh,pl,php,asp set autoindentau FileType cpp,c,java,sh,pl,php,asp set smartindentau FileType cpp,c,java,sh,pl,php,asp set cindent"au BufRead mutt*[0-9] set tw=72" Automatically chmod +x Shell and Perl scripts"au BufWritePost *.sh !chmod +x %"au BufWritePost *.pl !chmod +x %" File formatsau BufNewFile,BufRead *.pls set syntax=dosiniau BufNewFile,BufRead modprobe.conf set syntax=modconfendif" Keyboard mappingsmap :previous " map F1 to open previous buffermap :next " map F2 to open next buffermap :silent noh " turn off highlighted searchmap ,v :sp ~/.vimrc " edit my .vimrc file in a splitmap ,e :e ~/.vimrc " edit my .vimrc filemap ,u :source ~/.vimrc " update the system settings from my vimrc file"----- write out html filemap ,h :source $VIM/vim71/syntax/2html.vim:w:clo" Common command line typos"cmap W w"cmap Q q" Keyboard mapping for numeric keypad"imap OM " map OM "imap OP " map OP "imap OQ /" map OQ /"imap OR *" map OR *"imap OS -" map OS -"imap Ol +"imap Om -"imap On , "imap Op 0 "imap Oq 1 "imap Or 2 "imap Os 3 "imap Ot 4 "imap Ou 5 "imap Ov 6 "imap Ow 7 "imap Ox 8 "imap Oy 9 "imap Oz 0set cursorline "add edit line"set tags=tags;set autochdirlet Tlist_Ctags_Cmd='ctagsctags'let Tlist_Use_LEFT_Window=1let Tlist_File_Fold_Auto_Close=1let Tlist_Show_One_File=1let Tlist_GainFocus_On_ToggleOpen=1let Tlist_Exit_OnlyWindow=1nmap tl :Tlist<cr>
这个配置文件中关于
if has("autocmd")
以及下面的自动命令的设置估计会报错,如果不需要,可以把关于aoutocmd的这一片东西都去掉。
前面的是一大段是关于VIM的配置,按下不表,从后面
set tags=tags;
set autochdir
意思说,tag是用的tags的命名文件夹。打开任意一代码,如果在当前目录下没找到tags文件,会递归的往上级目录去找。一直到找到为止。
这样,就可以不用打开VIM,在冒号下切换tags所在的路径了。
let Tlist_Ctags_Cmd='ctagsctags'
上一条命令大概是taglist在windows下的BUG引起的,前面加ctags是为了偏移出5个字符,这样可以调用ctags命令。
后面这几条是关于taglist的缩写和一些配置,可有可无。
let Tlist_Use_LEFT_Window=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Show_One_File=1
let Tlist_GainFocus_On_ToggleOpen=1
let Tlist_Exit_OnlyWindow=1
nmap tl :Tlist<cr>
- windows下使用vim及其带来的问题
- Android多进程使用及其带来的问题
- Windows 下的Vim(GVim) 及其配置 装载
- windows 下使用vim
- 双网卡下使用udp带来的问题
- Vim在windows下乱码问题的解决
- vim读取windows下的中文文本文件编码问题
- asp.net下修改文件系统带来的副作用及其解决方法
- arcgis的快速升级及其所带来的问题
- windows下的vim的使用及如何复制行号
- 使windows下的vim使用Linux快捷键的方法
- swap实现(优化空间和时间),及其带来的问题
- Eclipse SDK更新带来的问题及其总结
- 状态栏一体化及其带来的软键盘自适应问题
- 状态栏一体化及其带来的软键盘自适应问题(二)
- Windows下VIM使用Pyclewn的Unicode Decode Error
- windows下使用vim(gvim)的不便及解决方案
- Windows下使用vim的最佳方案:Sublime
- bada千字文应用程序简介
- bada千字文应用程序开发教程
- 关于阅读源代码的总结(java)
- 经典滑动门技术
- CTE(Common Table Expressions)简单介绍(一)
- windows下使用vim及其带来的问题
- 工作笔记 12-3-29
- android图形系统详解一:Canvas
- CTE(Common Table Expressions)简单介绍(二)
- ubuntu 交叉工具链配置
- ant构建打包项目
- 软件设计规格说明书——航空订票系统
- 203. Heaven never helps the man who will not act. 自己不动,叫天何用
- Android_Spinner实现下拉菜单