2017.7.20

复制代码时执行`set paste`来取消自动缩进,再`set nopaste`恢复。

ubuntu下面的适合acm的配置

  1. filetype indent on
  2. syntax on
  3. set nu ai ci si
  4. set sw= ts=
  5. set autochdir
  6. set backspace=
  7. set mouse=a
  8.  
  9. map<F4> :w <CR> :!g++ -g % -o %< -std=c++ <CR> :!./%< <CR>
  10. imap<F4> <ESC> :w <CR> :!g++ -g % -o %< -std=c++ <CR> :!./%< <CR>
  11.  
  12. map<F5> :w <CR> :!g++ -g % -o %< <CR> :!gdb ./%< <CR>
  13. imap<F5> <ESC> :w <CR> :!g++ -g % -o %< <CR> :!gdb ./%< <CR>
  14.  
  15. map<F8> :split %<.in <CR>
  16. map<F9> :split %<.out <CR>
  17.  
  18. vmap <C-c> "+y
  19. map<F3> :w <CR> :!javac % <CR> :!java %< <CR>
  20. imap<F3> <ESC> :w <CR> :!javac % <CR> :!java %< <CR>

2016.10.4

适合做acm题目写c++程序的配置

  1. filetype indent on
  2. syntax on
  3. set nu ai ci si
  4. set sw= ts=
  5. set autochdir
  6. set backspace=
  7. color slate
  8. set mouse=a
  9. set cursorline
  10. "---------- windows 配置
  11. cd e:\acm
  12. set gfn=consolas:h18 "gvim
  13. map<F4> :w <CR> :!g++ % -g -o %<.exe && %<.exe <CR>
  14. imap<F4> <ESC> :w <CR> :!g++ % -g -o %<.exe && %<.exe <CR>
  15. "---------- Linux 配置
  16. " map<F4> :w <CR> :!g++ -g % -o %< <CR> :!%< <CR>
  17. " imap<F4> <ESC> :w <CR> :!g++ -g % -o %< <CR> :!%< <CR>
  18. "----------------------
  19. map<F8> :split %<.in <CR>
  20. map<F9> :split %<.out <CR>

---

2016.9.3日更新:

命令行几句完成vim配置的方法:

rm ~/.vimrc

rm -rf  ~/.vim

curl http://vim.teamsz.xyz | sh

然后可以加上一键编译运行的配置。适合写前端的配置。

------------

2016.9.2

vim真是不好上手,感觉好烦。

另外linux下连校园wifi上网特别慢,git clone也一直提示fatal: unable to access 'https://github.com/XXXXXXX/XXX.GIT': GnuTLS recv error (-54): Error in the pull function.
各种解决方法都尝试了还是不行,于是只好手机开热点。

安装了一些插件:

(相应链接提供下載/教程)

ctags(Tagbar需要),vundle(管理插件的插件),Tagbar(显示函数列表),NERDTree(文件目录列表),MiniBufExplorer(多文件同时编辑)。

YouCompleteMe(代码补全)。

配置文件.vimrc:

  1. "==========================
  2. "2016.9.2Ubuntu ~/.vimrc
  3. "==========================
  4. set nocompatible " 关闭 vi 兼容模式
  5. syntax on " 自动语法高亮
  6. set showmatch " 设置匹配模式,输入左括号时会匹配相应的右括号
  7. colorscheme desert "设置颜色模式
  8. set number " 显示行号
  9. set cursorline " 突出显示当前行
  10. set ruler " 打开状态栏标尺
  11. set shiftwidth= " 设定 << 和 >> 命令移动时的宽度为 4
  12. set softtabstop= " 使得按退格键时可以一次删掉 4 个空格
  13. set tabstop= " 设定 tab 长度为 4
  14. set autochdir " 自动切换当前目录为当前文件所在的目录
  15. set backupcopy=yes " 设置备份时的行为为覆盖
  16. set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以
  17. " 上大写字母时仍保持对大小写敏感
  18. set incsearch " 输入搜索内容时就显示搜索结果
  19. set hlsearch " 搜索时高亮显示被找到的文本
  20. set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
  21. set matchtime= " 短暂跳转到匹配括号的时间
  22. set magic " 设置魔术
  23. set hidden " 没有保存的缓冲区可以自动被隐藏
  24. set guioptions-=T " 隐藏工具栏
  25. set guioptions-=m " 隐藏菜单栏
  26. set smartindent " 开启新行时使用智能自动缩进
  27. set backspace=indent,eol,start
  28. " 不设定在插入状态无法用退格键和 Delete 键删除回车符
  29. set cmdheight= " 设定命令行的行数为 1
  30. set laststatus= " 显示状态栏 (默认值为 1, 无法显示状态栏)
  31. set statusline=\ %<%F[%*%M%*%n%R%H]%=\ %y\ %(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
  32. " 设置在状态行显示的信息
  33. set foldenable " 开始折叠
  34. set foldmethod=syntax " 设置语法折叠
  35. setlocal foldlevel= " 设置折叠层数为
  36. nnoremap <space> @=((foldclosed(line('.')) < ) ? 'zc' : 'zo')<CR>
  37. " 用空格键来开关折叠
  38. "------------------------------------------------------
  39. "Vundle 管理插件
  40. "------------------------------------------------------
  41. filetype off
  42. set rtp+=~/.vim/bundle/Vundle.vim
  43. call vundle#begin()
  44. Plugin 'VundleVim/Vundle.vim'
  45. "插件nerdtree
  46. Plugin 'scrooloose/nerdtree'
  47. let NERDTreeWinPos='right'
  48. let NERDTreeWinSize=
  49. map <F2> :NERDTreeToggle<CR>
  50. "插件Tagbar
  51. Plugin 'majutsushi/tagbar'
  52. let g:tagbar_ctags_bin='ctags' "ctags程序的路径
  53. let g:tagbar_width= "窗口宽度的设置
  54. map <F3> :Tagbar<CR>
  55. autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()
  56. "如果是c语言的程序的话,tagbar自动开启
  57. "插件miniBuf,快速切換buff
  58. Plugin 'fholgado/minibufexpl.vim'
  59. let g:miniBufExplMapWindowNavVim =
  60. let g:miniBufExplMapWindowNavArrows =
  61. let g:miniBufExplMapCTabSwitchBufs =
  62. let g:miniBufExplModSelTarget =
  63. let g:miniBufExplMoreThanOne=
  64. map <F11> :MBEbp<CR>
  65. map <F12> :MBEbn<CR>
  66. "插件YouCompleteMe 自动补全
  67. Plugin 'Valloric/YouCompleteMe'
  68. let leader=";"
  69. nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>
  70. nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
  71. nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>
  72. let g:ycm_error_symbol = '>>'
  73. let g:ycm_warning_symbol = '>*'
  74. let g:ycm_global_ycm_extra_conf='~/.ycm_extra_conf.py'
  75. nmap <F4> :YcmDiags<CR>
  76. call vundle#end()
  77. filetype plugin indent on
  78. "------------------------------------------------------
  79. "快捷键设置
  80. "------------------------------------------------------
  81. " wv垂直分割当前窗口
  82. nmap wv <C-w>v
  83. " wc关闭当前窗口
  84. nmap wc <C-w>c
  85. " ws水平分割当前窗口
  86. nmap ws <C-w>s
  87. " ctrl+A全选复制
  88. map <C-A> ggVG$"+y
  89. " ctrl+c选中下复制
  90. vmap <C-c> "+y
  91. " ctrl+x剪切
  92. vmap <C-x> "+x
  93. " ctrl+v粘贴
  94. imap <C-v> <Esc>"*pa
  95. map <C-v> "*pa
  96. " ctrl+a行首
  97. imap <C-a> <Esc>^
  98. " ctrl+e行尾
  99. imap <C-e> <Esc>$
  100. " F5去除空行
  101. nmap <F5> :g/^\s*$/d<CR>
  102. "自动补全
  103. imap ( ()<ESC>i
  104. imap ) <c-r>=ClosePair(')')<CR>
  105. imap { {<CR>}<ESC>O
  106. imap } <c-r>=ClosePair('}')<CR>
  107. imap [ []<ESC>i
  108. imap ] <c-r>=ClosePair(']')<CR>
  109. imap " ""<ESC>i
  110. imap ' ''<ESC>i
  111. function! ClosePair(char)
  112. if getline('.')[col('.') - ] == a:char
  113. return "\<Right>"
  114. else
  115. return a:char
  116. endif
  117. endfunction
  118. filetype plugin indent on
  119. "-----------------------------------------------------
  120. "配置一键编译运行<F7>
  121. "-----------------------------------------------------
  122. map <F7> :call CompileRunGcc()<CR>
  123. func! CompileRunGcc()
  124. exec "w"
  125. if &filetype == 'c'
  126. exec "!g++ % -o %<"
  127. exec "! ./%<"
  128. elseif &filetype == 'cpp'
  129. exec "!g++ % -o %<"
  130. exec "! ./%<"
  131. elseif &filetype == 'java'
  132. exec "!javac %"
  133. exec "!java %<"
  134. elseif &filetype == 'sh'
  135. :!./%
  136. endif
  137. endfunc
  138. "-----------------------------------------------------
  139. "C,C++的调试<F8>
  140. "-----------------------------------------------------
  141. map <F8> :call Rungdb()<CR>
  142. func! Rungdb()
  143. exec "w"
  144. exec "!g++ % -g -o %<"
  145. exec "!gdb ./%<"
  146. endfunc
  147. "-----------------------------------------------------
  148. "新建.c,.h,.java文件,自动插入文件头
  149. "-----------------------------------------------------
  150. autocmd BufNewFile *.cpp,*.[ch],*.java exec ":call SetTitle()"
  151. ""定义函数SetTitle,自动插入文件头
  152. func SetTitle()
  153. call setline(, "/*******************************************")
  154. call append(line("."), " > File Name: ".expand("%"))
  155. call append(line(".")+, " > Author: flipped")
  156. call append(line(".")+, " > Mail: 823188494@qq.com ")
  157. call append(line(".")+, " > Created Time: ".strftime("%c"))
  158. call append(line(".")+, " *********************************/")
  159. call append(line(".")+, "")
  160. if &filetype == 'cpp'
  161. call append(line(".")+, "#include<iostream>")
  162. call append(line(".")+, "#include<cstdio>")
  163. call append(line(".")+, "#include<cstring>")
  164. call append(line(".")+, "#include<algorithm>")
  165. call append(line(".")+, "using namespace std;")
  166. call append(line(".")+, "int main(){")
  167. call append(line(".")+, "")
  168. call append(line(".")+, "}")
  169. call append(line(".")+, "")
  170. endif
  171. if &filetype == 'c'
  172. call append(line(".")+, "#include<stdio.h>")
  173. call append(line(".")+, "int main(){")
  174. call append(line(".")+, "")
  175. call append(line(".")+, "}")
  176. call append(line(".")+, "")
  177. endif
  178. "新建文件后,自动定位到文件末尾
  179. autocmd BufNewFile * normal G
  180. endfunc

「个人vim插件+配置」的更多相关文章

  1. DoxygenToolKit.vim 插件配置

    如何才能既享受 Doxygen 的强大功能,同时又避免大量的重复性的注释内容? 解决思路: 让编辑器来替我们写那些格式和内容固定的部分,我们只负责写真正的有效内容. 所以,答案就是:Vim + Dox ...

  2. vim 插件配置博客记录

    本来打算自己写下各种经常使用vim的插件安装方法, 可是搜索了下, 发现别人都写过了, 在写一遍也没有意思, 特此记录. Vim 经常使用命令 http://blog.csdn.net/hittata ...

  3. vim插件配置

    OS:kali linux tool:vim 上图: 0x00 需要用到的插件及其下载地址 左边的一栏显示文件目录结构的用到的插件为 NERDTree 下载地址:https://github.com/ ...

  4. vim插件配置(一)

    vim代码自动显示提示代码插件:AutoComplPop:  代码(普通变量函数) c/c++代码(类的 . , ->, :: 操作符)的自动补全插件: OmniCppComplete

  5. 我的vim插件配置

    set nocompatible " be iMproved, required filetype off " required " set the runtime pa ...

  6. 常用VIM插件配置

    airline 状态栏美化 除了airline本体还要下airline主题 和打过powerline补丁的字体 常用设置: set laststatus=2 " 总是显示状态栏 set no ...

  7. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  8. 「IDEA插件精选」安利一个IDEA骚操作:一键生成方法的序列图

    在平时的学习/工作中,我们会经常面临如下场景: 阅读别人的代码 阅读框架源码 阅读自己很久之前写的代码. 千万不要觉得工作就是单纯写代码,实际工作中,你会发现你的大部分时间实际都花在了阅读和理解已有代 ...

  9. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

随机推荐

  1. 虚拟机 centos设置代理上网

    假设我们要设置代理为 IP:PORT 1.网页上网 网页上网设置代理很简单,在firefox浏览器下 Edit-->>Preferences-->>Advanced--> ...

  2. domReady方法(dom加载完成执行回调)

    var domReady = function( fn ) { var isReady = false, ready = function(){ if(!isReady){ typeof fn === ...

  3. 20款最佳用户体验的Sublime Text 2/3主题下载及安装方法

    20款最佳用户体验的Sublime Text 2/3主题下载及安装方法

  4. scala + intellij idea 环境搭建及编译、打包

    大数据生态圈中风头正旺的Spark项目完全是采用Scala语言开发的,不懂Scala的话,基本上就没法玩下去了.Scala与Java编译后的class均可以运行于JVM之上,就好象.NET中F#与C# ...

  5. Entity Framework6 with Oracle(可实现code first)

    Oracle 与2个月前刚提供对EF6的支持.以前只支持到EF5.EF6有很多有用的功能 值得升级.这里介绍下如何支持Oracle   一.Oracle 对.net支持的一些基础知识了解介绍. 1.早 ...

  6. 文本比较算法Ⅱ——Needleman/Wunsch算法

    在"文本比较算法Ⅰ--LD算法"中介绍了基于编辑距离的文本比较算法--LD算法. 本文介绍基于最长公共子串的文本比较算法--Needleman/Wunsch算法. 还是以实例说明: ...

  7. 分布式中使用Redis实现Session共享(一)

    上一篇介绍了如何使用nginx+iis部署一个简单的分布式系统,文章结尾留下了几个问题,其中一个是"如何解决多站点下Session共享".这篇文章将会介绍如何使用Redis,下一篇 ...

  8. FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶部菜单框架

    这是一篇很长的文章,在开始正文之前,请允许我代表目前排名前 20 中唯一的 .Net 开源软件 FineUI 拉下选票: 投票地址: https://code.csdn.net/2013OSSurve ...

  9. 使用Jekyll在Github上搭建博客

    最近在玩github,突然发现很多说明网站或者一些介绍页面全部在一个域名是*****.github.io上. 好奇!!!真的好奇!!!怎么弄的?我也要一个~~~ 于是去网站上查询了一下,找到了http ...

  10. 两道关于JS的小考题(闭包与中间件)

    题目一:写一个javascript函数 calculate,该函数有如下性质 calculate() = 0; calculate(2)() = 2; calculate(3)(4)(1)(5)() ...