vim的配置:自己修改.vimrc文件,写自己风格的配置

windows下的gvim配置:

1.如果win下的gvim在保存并退出(:wq或ZZ)的时候,提示说无法写入默默路径下的_viminfo文件,那么,我遇到的情况是自己的HOME路径不存在。默认会在HOME路径中的_viminfo中写入。。参考:http://jiadingjun.blogspot.com/2009/05/viminfo_30.html

2.ctags报错

需要下载ctags.zip然后复制ctags.exe到<vimdir>/vim73/下面

参考配置:http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html

3.win下的gvim编译java文件,文件中的中文报错,cmd说不支持gbk

可以自己设定快捷键编译,编译的语句在vimrc中添加编码参数:

 1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 2 " 语言的编译和运行
 3 " 支持的语言:java         F5编译(保存+编译)  F6运行
 4 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 5 func! CompileCode()
 6     exec "w"
 7     if &filetype == "java"
 8         exec "!javac -encoding utf-8 %"
 9     endif
10 endfunc
11 func! RunCode()
12     if &filetype == "java"
13         exec "!java -classpath %:h; %:t:r"
14     endif
15 endfunc
16
17 " F5 保存+编译
18 map <F5> :call CompileCode()<CR>
19
20 "  F6 运行
21 map <F6> :call RunCode()<CR>

参考:http://s1099.iteye.com/blog/1447662

完整版:

  1 "代码来源:http://s1099.iteye.com/blog/1447662
  2 set nocompatible "不要使用vi的键盘模式,而是vim自己的
  3 source $VIMRUNTIME/mswin.vim
  4 behave mswin    "兼容windows下的快捷键
  5
  6 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  7 " GVIM自身的设置
  8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  9 language messages zh_CN.utf-8   " 解决consle输出乱码
 10 colorscheme desert              " 灰褐色主题
 11 set guioptions-=T        " 隐藏工具栏
 12 set guifont=Monaco:h10            " 字体 && 字号
 13 set noerrorbells        " 关闭错误提示音
 14 set nobackup            " 不要备份文件
 15 set linespace=0            " 字符间插入的像素行数目
 16 set shortmess=atI        " 启动的时候不显示那个援助索马里儿童的提示
 17 set novisualbell        " 不要闪烁
 18 set scrolloff=3            " 光标移动到buffer的顶部和底部时保持3行距离
 19 set mouse=a             " 可以在buffer的任何地方 ->
 20 set selection=exclusive         " 使用鼠标(类似office中 ->
 21 set selectmode=mouse,key        " 在工作区双击鼠标定位)
 22 set cursorline                  " 突出显示当前行
 23 set nu!   " 显示行号
 24 set whichwrap+=<,>,h,l        " 允许backspace和光标键跨越行边界
 25 set completeopt=longest,menu    "按Ctrl+N进行代码补全
 26
 27 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 28 " 文本格式和排版
 29 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 30 set list                        " 显示Tab符,->
 31 set listchars=tab:\|\ ,         " 使用一高亮竖线代替
 32 set tabstop=4            " 制表符为4
 33 set autoindent            " 自动对齐(继承前一行的缩进方式)
 34 set smartindent            " 智能自动缩进(以c程序的方式)
 35 set softtabstop=4
 36 set shiftwidth=4        " 换行时行间交错使用4个空格
 37 set noexpandtab            " 不要用空格代替制表符
 38 ""set expandtab
 39 set cindent            " 使用C样式的缩进
 40 set smarttab            " 在行和段开始处使用制表符
 41 set nowrap            " 不要换行显示一行
 42
 43
 44 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 45 " 状态行(命令行)的显示
 46 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 47 set cmdheight=2             " 命令行(在状态行下)的高度,默认为1,这里是2
 48 set ruler                 " 右下角显示光标位置的状态行
 49 set laststatus=2         " 开启状态栏信息
 50 set wildmenu             " 增强模式中的命令行自动完成操作
 51
 52
 53 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 54 " 文件相关
 55 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 56 set fenc=utf-8
 57 set encoding=utf-8        " 设置vim的工作编码为utf-8,如果源文件不是此编码,vim会进行转换后显示
 58 set fileencoding=utf-8        " 让vim新建文件和保存文件使用utf-8编码
 59 set fileencodings=utf-8,gbk,cp936,latin-1
 60 filetype on                     " 侦测文件类型
 61 filetype indent on                 " 针对不同的文件类型采用不同的缩进格式
 62 filetype plugin on                 " 针对不同的文件类型加载对应的插件
 63 syntax on                     " 语法高亮
 64 filetype plugin indent on    " 启用自动补全
 65
 66
 67 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 68 " 查找
 69 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 70 set hlsearch                 " 开启高亮显示结果
 71 set nowrapscan               " 搜索到文件两端时不重新搜索
 72 set incsearch                " 开启实时搜索功能
 73
 74
 75 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 76 " 语言的编译和运行
 77 " 支持的语言:java         F5编译(保存+编译)  F6运行
 78 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 79 func! CompileCode()
 80     exec "w"
 81     if &filetype == "java"
 82         exec "!javac -encoding utf-8 %"
 83     endif
 84 endfunc
 85 func! RunCode()
 86     if &filetype == "java"
 87         exec "!java -classpath %:h; %:t:r"
 88     endif
 89 endfunc
 90
 91 " F5 保存+编译
 92 map <F5> :call CompileCode()<CR>
 93
 94 "  F6 运行
 95 map <F6> :call RunCode()<CR>
 96
 97
 98 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 99 " 实用功能
100 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
101 "--------引号 && 括号自动匹配
102 :inoremap ( ()<ESC>i
103 :inoremap ) <c-r>=ClosePair(')')<CR>
104 :""inoremap { {}<ESC>i
105 :""inoremap } <c-r>=ClosePair('}')<CR>
106 imap { {}<ESC>i<CR><ESC>O
107 "插入大括号 就是录制一个宏
108 :inoremap [ []<ESC>i
109 :inoremap ] <c-r>=ClosePair(']')<CR>
110 ":inoremap < <><ESC>i
111 ":inoremap > <c-r>=ClosePair('>')<CR>
112 :inoremap " ""<ESC>i
113 :inoremap ' ''<ESC>i
114 :inoremap ` ``<ESC>i
115 function ClosePair(char)
116     if getline('.')[col('.') - 1] == a:char
117         return "\<Right>"
118     else
119         return a:char
120     endif
121 endf
122 "--------启用代码折叠,用空格键来开关折叠
123 set foldenable             " 打开代码折叠
124 set foldmethod=syntax        " 选择代码折叠类型
125 set foldlevel=100            " 禁止自动折叠
126 nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>
127
128 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
129 " 插件
130 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
131 " <F9>打开文件浏览窗口   插件为WinManager
132 let g:winManagerWindowLayout='FileExplorer'
133 nmap <F9> :WMToggle<CR>
134
135 " MiniBufExplorer
136 let g:miniBufExplMapWindowNavVim = 1
137 let g:miniBufExplMapWindowNavArrows = 1
138 let g:miniBufExplMapCTabSwitchBufs = 1
139 let g:miniBufExplModSelTarget = 1
140
141 "新建.c,.h,.sh,.java文件,自动插入文件头
142 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
143 ""定义函数SetTitle,自动插入文件头
144 func SetTitle()
145     "如果文件类型为.sh文件
146     if &filetype == 'sh'
147         call setline(1,"\###########################################################")
148         call append(line("."), "\# Filename: ".expand("%"))
149         call append(line(".")+1, "\# Author: ChrisZZ")
150         call append(line(".")+2, "\# E-mail: zchrissirhcz@163.com")
151         call append(line(".")+3, "\# Created Time: ".strftime("%c"))
152         call append(line(".")+4, "\###################################################")
153         call append(line(".")+5, "\#!/bin/bash")
154         call append(line(".")+6, "")
155     endif
156
157     if &filetype == 'c'
158         call setline(1, "/*")
159         call append(line("."), " * =================================================")
160         call append(line(".")+1, " *")
161         call append(line(".")+2, " *       Filename:  ".expand("%"))
162         call append(line(".")+3, " *")
163         call append(line(".")+4, " *    Description:  ")
164         call append(line(".")+5, " *")
165         call append(line(".")+6, " *        Version:  0.01")
166         call append(line(".")+7, " *        Created:  ".strftime("%c"))
167         call append(line(".")+8, " *         Author:  ChrisZZ, zchrissirhcz@163.com")
168         call append(line(".")+9," *        Company:  ZJUT")
169         call append(line(".")+10, " *")
170         call append(line(".")+11, " * =================================================")
171         call append(line(".")+12, " */")
172         call append(line(".")+13, "#include<stdio.h>")
173         call append(line(".")+14, "")
174         call append(line(".")+15, "int main(int argc, char** argv){")
175         call append(line(".")+16, "")
176         call append(line(".")+17, "    return 0;")
177         call append(line(".")+18, "}")
178     endif
179
180     if &filetype == 'cpp'
181         call setline(1, "/*")
182         call append(line("."), " * =================================================")
183         call append(line(".")+1, " *")
184         call append(line(".")+2, " *       Filename:  ".expand("%"))
185         call append(line(".")+3, " *")
186         call append(line(".")+4, " *    Description:  ")
187         call append(line(".")+5, " *")
188         call append(line(".")+6, " *        Version:  0.01")
189         call append(line(".")+7, " *        Created:  ".strftime("%c"))
190         call append(line(".")+8, " *         Author:  ChrisZZ, zchrissirhcz@163.com")
191         call append(line(".")+9," *        Company:  ZJUT")
192         call append(line(".")+10, " *")
193         call append(line(".")+11, " * =================================================")
194         call append(line(".")+12, " */")
195         call append(line(".")+13, "#include<iostream>")
196         call append(line(".")+14, "using namespace std;")
197         call append(line(".")+15, "int main(){")
198         call append(line(".")+16, "")
199         call append(line(".")+17, "    return 0;")
200         call append(line(".")+18, "}")
201     endif
202
203     if &filetype == 'java'
204         call setline(1, "/*")
205         call append(line("."), " * =================================================")
206         call append(line(".")+1, " *")
207         call append(line(".")+2, " *       Filename:  ".expand("%"))
208         call append(line(".")+3, " *")
209         call append(line(".")+4, " *    Description:  ")
210         call append(line(".")+5, " *")
211         call append(line(".")+6, " *        Version:  0.01")
212         call append(line(".")+7, " *        Created:  ".strftime("%c"))
213         call append(line(".")+8, " *         Author:  ChrisZZ, zchrissirhcz@163.com")
214         call append(line(".")+9," *        Company:  ZJUT")
215         call append(line(".")+10, " *")
216         call append(line(".")+11, " * =================================================")
217         call append(line(".")+12, " */")
218         call append(line(".")+13, "")
219     endif
220
221
222     "新建文件后,自动定位到文件末尾
223     autocmd BufNewFile * normal G
224
225 endfunc

 

 

linux下的.vimrc文件:

1.set nocp   设定不是用vi默认配置。默认配置中当你搜索过某个词之后,再次打开这个文件时有上次搜索的高亮显示。我不喜欢这样(查找的痕迹问题困扰了我好久)

 

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

更新

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

最近在学ruby和python的语言,发现用vim时候还是不方便。如果ruby python一个个的去下插件,可行,但是麻烦。vundle真的强大,用git管理vim插件,所以现在用vundle

英文不好的可以看这里http://blog.houqp.me/use-vundle-to-manage-your-plugins/

时间: 2024-10-11 22:07:49

vim的配置:自己修改.vimrc文件,写自己风格的配置的相关文章

vim配置显示行号和语法高亮 即.vimrc文件的配置_Linux

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进等功能的. 为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc. 在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为: $vi ~/.vimrc 设置完后 $:x 或者 $wq 进行保存退出即可. 下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参

spring-我要实现在前端提交数值到后台,然后进行相应数据的修改controller文件怎样写?

问题描述 我要实现在前端提交数值到后台,然后进行相应数据的修改controller文件怎样写? 我要实现在前端提交数值到后台,后台怎么获取前端提交的值然后进行相应数据的修改,应该用什么方法,controller文件怎样写? 解决方案 //用js传值:例如: function text(){ String name=document.getelementById(""name""); location.href=""servlet?name=&qu

如何修改property文件的数据库配置

问题描述 如何修改property文件的数据库配置 各位大神,请问如何修改property文件的数据库配置,是mysql文件的额!谢谢! 解决方案 这问题太大概了吧,改啥 解决方案二: 同上,没有需求,无从回答.如果不方便说,直接百度一下,这类简单的问题一堆答案.

写个python脚本把指定日期有过修改的文件列出来

问题描述 想写个python脚本把特定目录里指定日期有过修改的文件都列出来个人觉得只要walk一下就行了.但,就是不知道python如何得到文件夹或文件的修改日期信息?求明白的朋友给解答一下.先谢过. 解决方案 import os,timetime.ctime(os.path.getmtime(a))

WinPE配置如何修改

  其实这一步主要是指修改PE的注册表,可以直接修改PE注册表,也可以修改配置文件. 1.修改内部注册表的方法: 用前面修改PECMD.INI的方法将内部注册表的文件提取出来: WXPESYSTEM32CONFIG*.* WXPESYSTEM32SETUPREG.HI_( 这是CAB压缩包,将它解开成SETUPREG.HIV) REGEDIT/sREG文件名 运行注册表编辑器REGEDIT.EXE,鼠标点击HKEY_LOCAL_MACHINE,然后点"文件"-"加载配置单元&

CFF Explorer 查看/修改PE文件资源

  CFF Explorer 查看/修改PE文件资源          使用CFF Explorer可以查看和修改PE文件的资源,可以查看dll文件可供调用的函数,修改函数入口地址达到制造崩溃屏蔽功能的目的.CFF Explorer具有类似DEPENDS的依赖分析功能/hex编辑器/快速反汇编等功能,详见下图: PE(Portable Execute)文件被称为可移植的执行体,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被

visual studio-iis配置访问php后缀文件403问题

问题描述 iis配置访问php后缀文件403问题 疑问:现在本地使用Visual Studio 2013,php环境使用phpstudy自动配置的(PHP版本选用IIS 7/8 + php5.5n)本地打开<?php phpinfo()?>如下VS2013断点调试访问:http://localhost:12677/文件路径名/mobile/wxwzlist.php提示这个错误---"HTTP 错误 404.3 - Not Found" 网络上锁查到的修改大部分都试过了,如下

asp.net 读取并修改config文件实现代码_实用技巧

1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应用程序配置文件":如果项目以前没有配置文件,则默认的文件名称为"app.config",单击"确定".出现在设计器视图中的app.config文件为: <?xmlversion="1.0"encoding="utf-8&qu

Hbase配置:修改了配置文件的JDK路径,但启动时系统还是使用默认的路径,并且报错

问题描述 Hbase配置:修改了配置文件的JDK路径,但启动时系统还是使用默认的路径,并且报错 解决方案 解决方案二: 解决方案三: http://blog.chinaunix.net/uid-26275986-id-3850260.html 解决方案四: 看过这篇博客,解决不了我的问题,谢过! 解决方案五: 你直接在/etc/profile文件里加上JAVA_HOME的目录,出现上述的原因可能是,执行脚本时,用的不是当前用户环境,而是系统环境