vim的自动补全出现中文的问题~

Vim、Emacs配置和使用
回复
pavio
帖子: 34
注册时间: 2009-07-21 10:41

vim的自动补全出现中文的问题~

#1

帖子 pavio » 2009-07-29 14:04

厄,不知道怎么回事,就是自动补全开始的时候,出来的既有类或者结构的成员和成员函数,还有好多注释...厄,我自己写在代码里面的...

编译以后的程序运行完全没有问题,怀疑是.vimrc出了问题,希望大家看看,
我把.vimrc贴上来,这个是好大部分抄袭别人的,呵呵~很可能好多没有改,谢谢大家阿
我用的是c++的代码
还有,每次写代码之前都会运行的shell 脚本贴在最下面了

"===============================================================================
" Filename: .vimrc
" Author: pavio (杨逸石)
" Email: pavioy@hotmail.com
" Homepage: http://null~secret
" Created: 2009-7-28
"===============================================================================
set encoding=utf-8
"set guifont=Luxi\ Mono\ 9 " 设置字体,字体名称和字号
set tabstop=4 " 设置tab键的宽度
set backspace=2 " 设置退格键可用
set nu! " 显示行号
"set vbt_vb= " vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
"set wrap " 自动换行
"set nowrap " 不自动换行
set linebreak " 整词换行
set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去
"set list " 显示制表符
"set listchars = tab:>-,trail:- " 将制表符显示为'>---',将行尾空格显示为'-'
set listchars=tab:.\ ,trail:. " 将制表符显示为'. '
set autochdir " 自动设置目录为正在编辑的文件所在的目录
set hidden " 没有保存的缓冲区可以自动被隐藏
set scrolloff=5

"--------------------------------------------------------------------------------
" 查找/替换相关的设置
"--------------------------------------------------------------------------------
set hlsearch " 高亮显示搜索结果
set incsearch " 查询时非常方便,如要查找book单词,当输入到/b时,会自动找到
" 第一个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的
" 单词,依次类推,进行查找时,使用此设置会快速找到答案,当你
" 找要匹配的单词时,别忘记回车
set gdefault " 替换时所有的行内匹配都被替换,而不是只有第一个

"--------------------------------------------------------------------------------
" 状态栏相关的设置
"--------------------------------------------------------------------------------
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
set laststatus=2 " always show the status line
set ruler " 在编辑过程中,在右下角显示光标位置的状态行

"--------------------------------------------------------------------------------
" 编程相关的设置
"--------------------------------------------------------------------------------
set completeopt=longest,menu " 关掉智能补全时的预览窗口
filetype plugin indent on " 加了这句才可以用智能补全
:set tags=/home/pavio/CAD/CAR_R/tags
syn on " 打开语法高亮
set showmatch " 设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set smartindent " 智能对齐方式
set shiftwidth=4 " 换行时行间交错使用4个空格
set autoindent " 自动对齐
set ai! " 设置自动缩进
"colorscheme desert_wuyin

"--------------------------------------------------------------------------------
" 代码折叠
"--------------------------------------------------------------------------------
"set foldmarker={,}
"set foldmethod=marker
set foldmethod=syntax
set foldlevel=100 " Don't autofold anything (but I can still fold manually)
"set foldopen-=search " don't open folds when you search into them
"set foldopen-=undo " don't open folds when you undo stuff
"set foldcolumn=4

"--------------------------------------------------------------------------------
" 模仿MS Windows中的快捷键
"--------------------------------------------------------------------------------
vmap <C-c> "yy
vmap <C-x> "yd
nmap <C-v> "yp
vmap <C-v> "yp
nmap <C-a> ggvG$

"--------------------------------------------------------------------------------
" 窗口操作的快捷键
"--------------------------------------------------------------------------------
nmap wv <C-w>v " 垂直分割当前窗口
nmap wc <C-w>c " 关闭当前窗口
nmap ws <C-w>s " 水平分割当前窗口

"--------------------------------------------------------------------------------
" 模仿MS Windows中的保存命令: Ctrl+S
"--------------------------------------------------------------------------------
imap <C-s> <Esc>:wa<cr>i<Right>
nmap <C-s> :wa<cr>

"###############################################################################
" The following is the Plugins' setting
"###############################################################################

"--------------------------------------------------------------------------------
" TagList :Tlist
"--------------------------------------------------------------------------------
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow = 1
"let Tlist_Use_Right_Window=1

"--------------------------------------------------------------------------------
" netrw 文件浏览器 :e <PATH>
"--------------------------------------------------------------------------------
"let g:netrw_winsize = 30 " 浏览器宽度

"--------------------------------------------------------------------------------
" QuickFix
"--------------------------------------------------------------------------------
nmap <F6> :cn<cr> " 切换到下一个结果
nmap <F7> :cp<cr> " 切换到上一个结果

"--------------------------------------------------------------------------------
" WinManager :WMToggle
"--------------------------------------------------------------------------------
let g:winManagerWindowLayout='FileExplorer|TagList'
"let g:winManagerWidth = 30
"let g:defaultExplorer = 0
"nmap <C-w><C-b> :BottomExplorerWindow<cr> " 切换到最下面一个窗格
"nmap <C-w><C-f> :FirstExplorerWindow<cr> " 切换到最上面一个窗格
nmap wm :WMToggle<cr> " 是nomal模式的命令,不是Ex模式的

"--------------------------------------------------------------------------------
" MiniBufExp
"--------------------------------------------------------------------------------
"let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
"let g:miniBufExplModSelTarget = 1

"--------------------------------------------------------------------------------
" cscope
"--------------------------------------------------------------------------------
cs add /home/pavio/CAD/CAD_R/cscope.out /home/pavio/CAD/CAD_R
:set cscopequickfix=s-,c-,d-,i-,t-,e-
:set cscopetag
" 按下面这种组合键有技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪
" 就回到nomal状态了
" <C-_>s的按法是先按"Ctrl+Shift+-",然后很快再按"s"
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr> :cw<cr>
nmap <C-g> :cs find g <C-R>=expand("<cword>")<cr><cr> :cw<cr>
nmap <C-f> :cs find c <C-R>=expand("<cword>")<cr><cr> :cw<cr>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<cr><cr> :cw<cr>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<cr><cr> :cw<cr>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<cr><cr>
nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<cr><cr> :cw<cr>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<cr><cr> :cw<cr>

"--------------------------------------------------------------------------------
" Grep
"--------------------------------------------------------------------------------
"直接按下<F3>键来查找光标所在的字符串
nnoremap <silent> <F3> :Rgrep<CR>

"--------------------------------------------------------------------------------
" A
"--------------------------------------------------------------------------------
"nnoremap <silent> <F12> :A<CR>

"--------------------------------------------------------------------------------
" NERD_commenter
"--------------------------------------------------------------------------------
let NERD_c_alt_style = 1 " 将C语言的注释符号改为//, 默认是/**/
"nmap <F5> ,cc

"--------------------------------------------------------------------------------
" SuperTab :SuperTabHelp
"--------------------------------------------------------------------------------
let g:SuperTabRetainCompletionType = 2
let g:SuperTabDefaultCompletionType = "<C-X><C-P>"

"--------------------------------------------------------------------------------
" CVim :help csupport
"--------------------------------------------------------------------------------
let g:C_Comments = "no" " 用C++的注释风格
let g:C_BraceOnNewLine = "no" " '{'是否独自一行
let g:C_AuthorName = "pavio"
let g:C_Project="F9"
let g:Cpp_Template_Function = "c++-function-description-wuyin"
let g:C_TypeOfH = "c++" " *.h文件的文件类型是C还是C++

"##################################################################
"########################## End Of Vimrc ##########################
"##################################################################

还有,每次开始写代码都会运行的shell脚本如下:
ctags -R
cscope -Rbq

#--------------------------------------------------------------------------------
# EchoFunc
#--------------------------------------------------------------------------------
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
sudo cp ./vimrcForCAD /home/pavio/.vimrc
上次由 pavio 在 2009-07-29 14:07,总共编辑 1 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim的自动补全出现中文的问题~

#2

帖子 eexpress » 2009-07-29 14:05

注释,是好习惯啊。
● 鸣学
pavio
帖子: 34
注册时间: 2009-07-21 10:41

Re: vim的自动补全出现中文的问题~

#3

帖子 pavio » 2009-07-29 14:08

eexpress 写了:注释,是好习惯啊。
厄,不是哦,是注释也写在自动补全里面了,而且是不完全的注释,而且是独占一行的,结果好多好多乱七八糟的东西都出来了...
pavio
帖子: 34
注册时间: 2009-07-21 10:41

Re: vim的自动补全出现中文的问题~

#4

帖子 pavio » 2009-07-29 14:11

还有一个问题啊,每次自动补全都要先退出插入模式,再进入才能启动么?

就是,我在写的时候按c-x,c-p一点反应都没有俄,都说pattern not found
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim的自动补全出现中文的问题~

#5

帖子 eexpress » 2009-07-29 14:11

那行。举例啊。
● 鸣学
pavio
帖子: 34
注册时间: 2009-07-21 10:41

Re: vim的自动补全出现中文的问题~

#6

帖子 pavio » 2009-07-29 14:14

eexpress 写了:那行。举例啊。
附件
Screenshot.png
qianlongwydh
帖子: 7
注册时间: 2009-10-29 20:03

Re: vim的自动补全出现中文的问题~

#7

帖子 qianlongwydh » 2009-11-10 18:44

老兄,你这是关键字补全。
回复