鱼C论坛

 找回密码
 立即注册
查看: 3145|回复: 4

[已解决]vimrc配置我是不是翻车了

[复制链接]
发表于 2020-4-17 14:42:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. set nocompatible
  2. filetype on

  3. set rtp+=~/.vim/bundle/Vundle.vim
  4. call vundle#begin()


  5. " 这里根据自己需要的插件来设置,以下是我的配置 "
  6. "
  7. " YouCompleteMe:语句补全插件
  8. set runtimepath+=~/.vim/bundle/YouCompleteMe
  9. autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口"
  10. let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM基于标签引擎
  11. let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
  12. let g:syntastic_ignore_files=[".*\.py$"]
  13. let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
  14. let g:ycm_complete_in_comments = 1
  15. let g:ycm_confirm_extra_conf = 0                            " 关闭加载.ycm_extra_conf.py提示
  16. let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键,没有这个会拦截掉tab, 导致其他插件的tab不能用.
  17. let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
  18. let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
  19. let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
  20. let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
  21. let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
  22. let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
  23. inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"             " 回车即选中当前项
  24. nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>     " 跳转到定义处
  25. let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项
  26. "



  27. " github 仓库中的插件 "
  28. Plugin 'VundleVim/Vundle.vim'


  29. Plugin 'vim-airline/vim-airline'
  30. "vim-airline配置:优化vim界面"
  31. "let g:airline#extensions#tabline#enabled = 1
  32. " airline设置
  33. " 显示颜色
  34. set t_Co=256
  35. set laststatus=2
  36. " 使用powerline打过补丁的字体
  37. let g:airline_powerline_fonts = 1
  38. " 开启tabline
  39. let g:airline#extensions#tabline#enabled = 1
  40. " tabline中当前buffer两端的分隔字符
  41. let g:airline#extensions#tabline#left_sep = ' '
  42. " tabline中未激活buffer两端的分隔字符
  43. let g:airline#extensions#tabline#left_alt_sep = ' '
  44. " tabline中buffer显示编号
  45. let g:airline#extensions#tabline#buffer_nr_show = 1
  46. " 映射切换buffer的键位
  47. nnoremap [b :bp<CR>
  48. nnoremap ]b :bn<CR>
  49. " 映射<leader>num到num buffer
  50. map <leader>1 :b 1<CR>
  51. map <leader>2 :b 2<CR>
  52. map <leader>3 :b 3<CR>
  53. map <leader>4 :b 4<CR>
  54. map <leader>5 :b 5<CR>
  55. map <leader>6 :b 6<CR>
  56. map <leader>7 :b 7<CR>
  57. map <leader>8 :b 8<CR>
  58. map <leader>9 :b 9<CR>



  59. " vim-scripts 中的插件 "
  60. Plugin 'taglist.vim'
  61. "ctags 配置:F3快捷键显示程序中的各种tags,包括变量和函数等。
  62. map <F3> :TlistToggle<CR>
  63. let Tlist_Use_Right_Window=1
  64. let Tlist_Show_One_File=1
  65. let Tlist_Exit_OnlyWindow=1
  66. let Tlist_WinWidt=25

  67. Plugin 'The-NERD-tree'
  68. "NERDTree 配置:F2快捷键显示当前目录树
  69. map <F2> :NERDTreeToggle<CR>
  70. let NERDTreeWinSize=25

  71. Plugin 'indentLine.vim'
  72. Plugin 'delimitMate.vim'

  73. " 非 github 仓库的插件"
  74. " Plugin 'git://git.wincent.com/command-t.git'
  75. " 本地仓库的插件 "

  76. call vundle#end()

  77. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  78. """""新文件标题
  79. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  80. "新建.c,.h,.sh,.java文件,自动插入文件头
  81. autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
  82. ""定义函数SetTitle,自动插入文件头
  83. func SetTitle()
  84.         "如果文件类型为.sh文件
  85.         if &filetype == 'sh'
  86.                 call setline(1, "##########################################################################")
  87.                 call append(line("."), "# File Name: ".expand("%"))
  88.                 call append(line(".")+1, "# Author: amoscykl")
  89.                 call append(line(".")+2, "# mail: amoscykl980629@163.com")
  90.                 call append(line(".")+3, "# Created Time: ".strftime("%c"))
  91.                 call append(line(".")+4, "#########################################################################")
  92.                 call append(line(".")+5, "#!/bin/zsh")
  93.                 call append(line(".")+6, "PATH=/home/edison/bin:/home/edison/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/work/tools/gcc-3.4.5-glibc-2.3.6/bin")
  94.                 call append(line(".")+7, "export PATH")
  95.                 call append(line(".")+8, "")
  96.         else
  97.                 call setline(1, "/*************************************************************************")
  98.                 call append(line("."), "        > File Name: ".expand("%"))
  99.                 call append(line(".")+1, "        > Author: amoscykl")
  100.                 call append(line(".")+2, "        > Mail: amoscykl@163.com ")
  101.                 call append(line(".")+3, "        > Created Time: ".strftime("%c"))
  102.                 call append(line(".")+4, " ************************************************************************/")
  103.                 call append(line(".")+5, "")
  104.         endif
  105.         if &filetype == 'cpp'
  106.                 call append(line(".")+6, "#include<iostream>")
  107.             call append(line(".")+7, "using namespace std;")
  108.                 call append(line(".")+8, "")
  109.         endif
  110.         if &filetype == 'c'
  111.                 call append(line(".")+6, "#include<stdio.h>")
  112.                 call append(line(".")+7, "")
  113.         endif
  114.         "        if &filetype == 'java'
  115.         "                call append(line(".")+6,"public class ".expand("%"))
  116.         "                call append(line(".")+7,"")
  117.         "        endif
  118.         "新建文件后,自动定位到文件末尾
  119.         autocmd BufNewFile * normal G
  120. endfunc
  121. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  122. "键盘命令
  123. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

  124. nmap <leader>w :w!<cr>
  125. nmap <leader>f :find<cr>

  126. " 映射全选+复制 ctrl+a
  127. map <C-A> ggVGY
  128. map! <C-A> <Esc>ggVGY
  129. map <F12> gg=G
  130. " 选中状态下 Ctrl+c 复制
  131. vmap <C-c> "+y



  132. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  133. ""实用设置
  134. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  135. " 设置当文件被改动时自动载入
  136. set autoread
  137. " quickfix模式
  138. autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
  139. "代码补全
  140. set completeopt=preview,menu
  141. "允许插件  
  142. filetype plugin on
  143. "共享剪贴板  
  144. set clipboard=unnamed
  145. "从不备份  
  146. set nobackup
  147. "make 运行
  148. :set makeprg=g++\ -Wall\ \ %
  149. "自动保存
  150. set autowrite
  151. set ruler                   " 打开状态栏标尺
  152. set cursorline              " 突出显示当前行
  153. set magic                   " 设置魔术
  154. set guioptions-=T           " 隐藏工具栏
  155. set guioptions-=m           " 隐藏菜单栏
  156. "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
  157. " 设置在状态行显示的信息
  158. set foldcolumn=0
  159. set foldmethod=indent
  160. set foldlevel=3
  161. set foldenable              " 开始折叠
  162. " 不要使用vi的键盘模式,而是vim自己的
  163. set nocompatible
  164. " 语法高亮
  165. set syntax=on
  166. " 去掉输入错误的提示声音
  167. set noeb
  168. " 在处理未保存或只读文件的时候,弹出确认
  169. set confirm
  170. " 自动缩进
  171. set autoindent
  172. set cindent
  173. " Tab键的宽度
  174. set tabstop=4
  175. " 统一缩进为4
  176. set softtabstop=4
  177. set shiftwidth=4
  178. " 不要用空格代替制表符
  179. set noexpandtab
  180. " 在行和段开始处使用制表符
  181. set smarttab
  182. " 显示行号
  183. set number
  184. " 历史记录数
  185. set history=1000
  186. "禁止生成临时文件
  187. set nobackup
  188. set noswapfile
  189. "搜索忽略大小写
  190. set ignorecase
  191. "搜索逐字符高亮
  192. set hlsearch
  193. set incsearch
  194. "行内替换
  195. set gdefault
  196. "编码设置
  197. set enc=utf-8
  198. set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  199. "语言设置
  200. set langmenu=zh_CN.UTF-8
  201. set helplang=cn
  202. " 我的状态行显示的内容(包括文件类型和解码)
  203. set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime("%d/%m/%y\ -\ %H:%M")}
  204. set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
  205. " 总是显示状态行
  206. set laststatus=2
  207. " 命令行(在状态行下)的高度,默认为1,这里是2
  208. set cmdheight=2
  209. " 侦测文件类型
  210. filetype on
  211. " 载入文件类型插件
  212. filetype plugin on
  213. " 为特定文件类型载入相关缩进文件
  214. filetype indent on
  215. " 保存全局变量
  216. set viminfo+=!
  217. " 带有如下符号的单词不要被换行分割
  218. set iskeyword+=_,$,@,%,#,-
  219. " 字符间插入的像素行数目
  220. set linespace=0
  221. " 增强模式中的命令行自动完成操作
  222. set wildmenu
  223. " 使回格键(backspace)正常处理indent, eol, start等
  224. set backspace=2
  225. " 允许backspace和光标键跨越行边界
  226. set whichwrap+=<,>,h,l
  227. " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
  228. set mouse=a
  229. set selection=exclusive
  230. set selectmode=mouse,key
  231. " 通过使用: commands命令,告诉我们文件的哪一行被改变过
  232. set report=0
  233. " 在被分割的窗口间显示空白,便于阅读
  234. set fillchars=vert:\ ,stl:\ ,stlnc:\
  235. " 高亮显示匹配的括号
  236. set showmatch
  237. " 匹配括号高亮的时间(单位是十分之一秒)
  238. set matchtime=1
  239. " 光标移动到buffer的顶部和底部时保持3行距离
  240. set scrolloff=3
  241. " 为C程序提供自动缩进
  242. set smartindent
  243. " 高亮显示普通txt文件(需要txt.vim脚本)
  244. au BufRead,BufNewFile *  setfiletype txt
  245. "自动补全
  246. :inoremap ( ()<ESC>i
  247. :inoremap ) <c-r>=ClosePair(')')<CR>
  248. ":inoremap { {<CR>}<ESC>O
  249. ":inoremap } <c-r>=ClosePair('}')<CR>
  250. :inoremap [ []<ESC>i
  251. :inoremap ] <c-r>=ClosePair(']')<CR>
  252. :inoremap " ""<ESC>i
  253. :inoremap ' ''<ESC>i
  254. function! ClosePair(char)
  255.         if getline('.')[col('.') - 1] == a:char
  256.                 return "\<Right>"
  257.         else
  258.                 return a:char
  259.         endif
  260. endfunction
  261. filetype plugin indent on
  262. "打开文件类型检测, 加了这句才可以用智能补全
  263. set completeopt=longest,menu
  264. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
复制代码
  1. [root@CentOS-VM gushixingcheng]# vim ~/.vimrc
  2. Error detected while processing /root/.vimrc:
  3. line    5:
  4. E117: Unknown function: vundle#begin
  5. line   34:
  6. E492: Not an editor command: Plugin 'VundleVim/Vundle.vim'
  7. line   37:
  8. E492: Not an editor command: Plugin 'vim-airline/vim-airline'
  9. line   71:
  10. E492: Not an editor command: Plugin 'taglist.vim'
  11. line   79:
  12. E492: Not an editor command: Plugin 'The-NERD-tree'
  13. line   84:
  14. E492: Not an editor command: Plugin 'indentLine.vim'
  15. line   85:
  16. E492: Not an editor command: Plugin 'delimitMate.vim'
  17. line   91:
  18. E117: Unknown function: vundle#end
  19. Press ENTER or type command to continue
  20. [root@CentOS-VM gushixingcheng]# vim +Pluginlnstall +qall
  21. Error detected while processing /root/.vimrc:
  22. line    5:
  23. E117: Unknown function: vundle#begin
  24. line   34:
  25. E492: Not an editor command: Plugin 'VundleVim/Vundle.vim'
  26. line   37:
  27. E492: Not an editor command: Plugin 'vim-airline/vim-airline'
  28. line   71:
  29. E492: Not an editor command: Plugin 'taglist.vim'
  30. line   79:
  31. E492: Not an editor command: Plugin 'The-NERD-tree'
  32. line   84:
  33. E492: Not an editor command: Plugin 'indentLine.vim'
  34. line   85:
  35. E492: Not an editor command: Plugin 'delimitMate.vim'
  36. line   91:
  37. E117: Unknown function: vundle#end
  38. Press ENTER or type command to continue
复制代码
  1. $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  2. 我就安装了这一步然后去复制这个vimrc然后是不是翻车了
复制代码
最佳答案
2020-4-17 20:04:47
孤世星辰 发表于 2020-4-17 17:26
我长记性了大佬能帮帮我么哭了

弄好了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-17 17:22:15 | 显示全部楼层
在折腾这些东西的时候,一定要进行备份,这样就不怕翻车了
一定要进行备份,切记
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 17:26:45 | 显示全部楼层
人造人 发表于 2020-4-17 17:22
在折腾这些东西的时候,一定要进行备份,这样就不怕翻车了
一定要进行备份,切记

我长记性了大佬能帮帮我么哭了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-17 20:04:47 | 显示全部楼层    本楼为最佳答案   
孤世星辰 发表于 2020-4-17 17:26
我长记性了大佬能帮帮我么哭了

弄好了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 15:21:18 | 显示全部楼层
本帖最后由 孤世星辰 于 2020-4-20 15:35 编辑


好像好了还是弄得那个最基本的谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 02:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表