vim 设置

vim 常用设置

http://blog.csdn.net/jondynet/archive/2006/11/24/1409632.aspx

 

使用脚本编写 Vim 编辑器

http://www.ibm.com/developerworks/cn/linux/l-vim-script-1/

 

手把手教你把Vim改装成一个IDE编程环境

http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx

 

vim技巧

http://www.enet.com.cn/article/2007/0910/A20070910816746.shtml

 

vim中复制

如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的。
vim帮助文档里与粘贴板有关的内容如下:

   1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;

   2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
          * “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
          * +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;

   3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。

注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。可以:  sudo apt-get install vim-gnome

 

我的.vimrc 配置

"F5 for comment
vmap <F5> :s=^/(///)*=//=g<cr>:noh<cr>
nmap <F5> :s=^/(///)*=//=g<cr>:noh<cr>
imap <F5> <ESC>:s=^/(///)*=//=g<cr>:noh<cr>
"F6 for uncomment
vmap <F6> :s=^/(///)*==g<cr>:noh<cr>
nmap <F6> :s=^/(///)*==g<cr>:noh<cr>
imap <F6> <ESC>:s=^/(///)*==g<cr>:noh<cr>

 

 

"set mapleader
let mapleader = ","
let g:mapleader = ","

"设置不兼容
set nocp

"设置backspace
set backspace=indent,eol,start

"设置状态栏
set ru

"设置末行移动
set whichwrap=b,s,<,>,[,]

"设置选字
set keymodel=startsel,stopsel

"选择包含光标
set selection=inclusive

"断行设置
set lbr
set fo+=mB

"显示行号
"set nu
"
""打开语法高亮
syntax on

set softtabstop=4
set shiftwidth=4

"关闭自动备份
set nobackup
"
""自动缩进设置
set cindent
set smartindent
set incsearch
set autoindent

"Show matching bracets
set showmatch
"
""Get out of VI's compatible mode
set nocompatible

"Have the mouse enabled all the time
set mouse=a
"
""Set to auto read when a file is changed from the outside
set autoread

"Enable filetype plugin
filetype plugin on
filetype indent on
"
""设置配色方案为torte
colo torte

"设置支持的文件编码类项,目前设置为utf-8和gbk两种类型
set fileencodings=utf-8,chinese
"
""设置搜索结果高亮显示
set hlsearch
"
""设置记录的历史操作列表
set history=50

"设置折叠
set foldcolumn=2
set foldmethod=indent
set foldlevel=3
"
""AutoCommand
"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.[ch],*.sh,*.java exec ":call SetTitle()"
""新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G

"设置Java代码的自动补全
"au FileType java setlocal omnifunc=javacomplete#Complete
"
""绑定自动补全的快捷键<C-X><C-O>到<leader>;
imap <leader>; <C-X><C-O>

"设定开关Taglist插件的快捷键为F4,可以在VIM的左侧栏列出函数列表等
"map <F4> :Tlist<CR>
"
""设置程序的运行和调试的快捷键F5和Ctrl-F5
map <F5> :call CompileRun()<CR>
map <C-F5> :call Debug()<CR>

"设置tab操作的快捷键,绑定:tabnew到<leader>t,绑定:tabn, :tabp到<leader>n,
""<leader>p
map <leader>t :tabnew<CR>
map <leader>n :tabn<CR>
map <leader>p :tabp<CR>

"用cscope支持
set csprg=/usr/bin/cscope
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1
""默认打开Taglist
"let Tlist_Auto_Open=1
"
""使用<leader>e打开当前文件同目录中的文件
if has("unix")
map ,e :e <C-R>=expand("%:p:h") . "/" <CR>
else
map ,e :e <C-R>=expand("%:p:h") . "/" <CR>
endif

"定义CompileRun函数,用来调用进行编译和运行
func CompileRun()
"exec "w"
""C程序
if &filetype == 'c'
exec "!gcc % -g -o %<"
exec "!./%<"
"Java程序
"elseif &filetype == 'java'
"exec "!javac %"
"exec "!java %<"
endif
endfunc
""结束定义CompileRun

"定义Debug函数,用来调试程序
func Debug()
exec "w"
""C程序
if &filetype == 'c'
exec "!gcc % -g -o %<"
exec "!gdb %<"
"Java程序
"elseif &filetype == 'java'
"exec "!javac %"
"exec "!jdb %<"
endif
endfunc
""结束定义Debug

"定义函数SetTitle,自动插入文件头
func SetTitle()
""如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1, "/#########################################################################")
call append(line("."), "/# Author: Gaolin.Ding")
call append(line(".")+1, "/# Created Time: ".strftime("%c"))
call append(line(".")+2, "/# File Name: ".expand("%"))
call append(line(".")+3, "/# Description: ")
call append(line(".")+4, "/#########################################################################")
call append(line(".")+5, "/#!/bin/bash")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " Author: Gaolin.Ding")
call append(line(".")+1, " Created Time: ".strftime("%c"))
call append(line(".")+2, " File Name: ".expand("%"))
call append(line(".")+3, " Description: ")
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
endfunc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值