不定期更新這篇,因為查詢到好用的設定或者插件就會更新自己的設定。

let $LANG="zh_TW.UTF-8"
set langmenu=zh_tw.utf-8
set encoding=utf8

source $VIMRUNTIME/vimrc_example.vim

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction

set nobackup
set noundofile
set noswapfile
":imap ( ()<ESC>i
":imap { {<CR>}<ESC>O
":imap [ []<ESC>i

"-----------------------------------------------------------
" Vundle
"-----------------------------------------------------------
set nocompatible
filetype off
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
call vundle#begin('$VIM/vimfiles/bundle/')
Plugin 'gmarik/Vundle.vim'
Plugin 'L9'
Plugin 'scrooloose/nerdtree'
Bundle 'majutsushi/tagbar'
call vundle#end()
filetype plugin indent on

"-----------------------------------------------------------
" NERDTree & tagbar
"-----------------------------------------------------------
nmap <F2> :NERDTreeToggle <CR>
nmap <F3> :Tagbar <CR>
autocmd VimEnter * NERDTree
autocmd VimEnter * Tagbar
let g:tagbar_ctags_gin = '$VIM/ctags/ctags.exe'
set tags=tags

"-----------------------------------------------------------
" short key setting
"-----------------------------------------------------------
nmap ,s :e $VIM/_vimrc
imap aa <C-N>
nmap qw <C-Q>
nmap <Space>j <C-W>j
nmap <Space>h <C-W>h
nmap <Space>k <C-W>k
nmap <Space>l <C-W>l
nmap <F1> :Explore<CR>
imap aa <C-N>

"-----------------------------------------------------------
" GUI setting
"-----------------------------------------------------------
set t_Co=256
set nu
set incsearch
set ai
set cursorline
set tabstop=4
set shiftwidth=4
set ignorecase
syntax on
set laststatus=2
set columns=180
set lines=50

"-----------------------------------------------------------
" GVim mapping key
"-----------------------------------------------------------
"<BS> Backspace
"<Tab> Tab
"<CR> Enter
"<Enter> Enter
"<Return> Enter
"<Esc> Escape
"<Space> Space
"<Up> Up arrow
"<Down> Down arrow
"<Left> Left arrow
"<Right> Right arrow
"<F1> - <F12> Function keys 1 to 12
"#1, #2..#9,#0 Function keys F1 to F9, F10
"<Insert> Insert
"<Del> Delete
"<Home> Home
"<End> End
"<PageUp> Page-Up
"<PageDown> Page-Down
"<bar> the '|' character, which otherwise needs to be escaped '\|'

(原創) Gvim 個人習慣常用設定 (vim)的更多相关文章

  1. [個人紀錄] git 設定

    -- git history git config --global alias.history=log --graph --all --pretty=format:'%C(bold blue)%H% ...

  2. (原創) 如何在Nios II顯示8位數的七段顯示器? (SOC) (Nios II) (SOPC Builder) (DE2-70)

    Abstract本文討論如何在Nios II控制8位數的七段顯示器. Introduction使用環境:Quartus II 8.0 + Nios II EDS 8.0 + DE2-70 (Cyclo ...

  3. [個人紀錄] RabbitMQ安裝

    參考資料 https://blog.csdn.net/tjcyjd/article/details/77150893 https://blog.csdn.net/u014308482/article/ ...

  4. System.Web.Compilation.BuildManager.CopyPrecompiledFile 並未將物件參考設定為物件的執行個體

    使用MSBUild 的 aspnet_compiler.exe 发布网站, 过程中出现错误 [NullReferenceException]: 並未將物件參考設定為物件的執行個體  System.W ...

  5. [個人紀錄] postgre dump出table 再用psql還原

    --dump tablepg_dump --host #server --port 5432 --username #username --format plain --ignore-version ...

  6. 记录git多人协作开发常用的流程,供新手参考

    声明:博主写的博客都是经过自己总结或者亲测成功的实例,绝不乱转载.读者可放心看,有不足之处请私信我,或者给我发邮件:pangchao620@163.com. 写作目的: 记录一下我看完廖学锋老师的gi ...

  7. webrtc笔记(3): 多人视频通讯常用架构Mesh/MCU/SFU

    问题:为什么要搞这么多架构? webrtc虽然是一项主要使用p2p的实时通讯技术,本应该是无中心化节点的,但是在一些大型多人通讯场景,如果都使用端对端直连,端上会遇到很带宽和性能的问题,所以就有了下图 ...

  8. 個人最近做的最多的重複工作就是excel导出

    //导出事件,这个是有合并动态列的 double num1 = 0, num2 = 0, num3 = 0; protected void btnExcel_Click(object sender,  ...

  9. WCF最简单的一次通信(有部分參考,多爲原創)

    不廢話,直接上乾貨 1.先创建一个wcf服务库,是服务类库,远程的lib 2.全部按照默认设置,不修改.然后点发布,会出现一个wcf测试客户端,可以看有没有发布成功. 3.msdn的wcf教程还要求输 ...

随机推荐

  1. java8新特性-lambda表达式和stream API的简单使用

    一.为什么使用lambda Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风 ...

  2. CentOS 调用.Net 的Web Service,提示连接超时解决方案

    我是使用axis调用.NET 的Web Service ,在Window下跑没有问题,将项目部署到Linux下,发现Web Service 连接超时,百度了下,发现是因为Linux不能直接跑.Net, ...

  3. jenkins 学习记录1

    主题 以前自己做些小玩意儿比如博客(http://blogv3.labofjet.com/)的时候,在远程服务器上的tomcat发布工程用的是目录的结构,而不是war.原因很简单.用目录结构的话每次只 ...

  4. OSCache-JSP页面缓存(1)

    一.OSCache提供的缓存标签 这是OSCache提供的标签库中最重要的一个标签,包括在标签中的内容将应用缓存机制进行处理,处理的方式将取决于编程者对cache标签属性的设置. 第一次请求到达时,标 ...

  5. c语言之字符串数组

    一.字符串与字符串数组 1.字符数组的定义 char array[100]; 2.字符数组初始化 char array[100] = {'a','b','c'};  //array[0] = 'a' ...

  6. Project Browser & Inspector

    [Project Browser] You can drag items from the project structure list to the Favourites and also save ...

  7. java基础之io流总结四:字符流读写

    字符流读写只适用于字符文件. 基本字符流(转换流)读写文件 转换流本身是字符流,但是实例化的时候传进去的是一个字节流,所以叫做转换流 InputStreamReader isr = new Input ...

  8. js,javascript生成 UUID的四种方法

    全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...

  9. ESP8266-iot-3

    ESP8266 WIFI操作 参考资料 模式选择 程序: 把之前的Helloworld程序复制过来改成wifi工程 先输出获取的当前模式 编译后会出错,因为os_printf的头文件没有被包含进来 结 ...

  10. .NET Core 1.0正式发布

    Major .NET Core components: Base Class Libraries CoreCLR runtime and RyuJIT compiler Roslyn compiler ...