-
Notifications
You must be signed in to change notification settings - Fork 0
/
.vimrc_for_server
146 lines (107 loc) · 4.21 KB
/
.vimrc_for_server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vim for server
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Only for server: 无任何插件
"取消VI兼容
set nocompatible
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设定 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设置文件编码检测类型及支持格式
set fenc=utf-8
set fencs=utf-8,gb18030,gbk,gb2312,cp936
"设定编码
set encoding=utf-8
set fileencodings=utf-8,chinese,ucs-bom,gb18030,gbk,gb2312,cp936,big5,latin1
" 设置开启语法高亮
syntax on
" filetype
filetype on
" Enable filetype plugins
filetype plugin on
filetype indent on
"显示行号
set number
" tab宽度
set tabstop=4
set cindent shiftwidth=4
set autoindent shiftwidth=4
" 查找设置
set hlsearch "搜索高亮high light search
set incsearch "增量搜索
set ignorecase "搜索时忽略大小写
set smartcase "当搜索时输入的是大写字母开头时,使用大小写敏感进行搜索
" 高亮字符,让其不受100列限制
":highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
":match OverLength '/%101v.*'
" history文件中需要记录的行数,恢复必须用到。
set history=1024
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" vim 自身命令行模式智能补全
set wildmenu
set wildmode=full
" 设定文件浏览器目录为当前目录
set bsdir=buffer
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 保存全局变量
set viminfo+=!
"不生成备份文件
set noswapfile
set nobackup
set nowb
set nospell
set linebreak
set showbreak=...
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示设定 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""" 状态行设置
" 总是显示状态行
set laststatus=2
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=[%n]%<%f%y%h%m%r%=[%b\ 0x%B]\ %l\ of\ %L,%c%V\ Page\ %N\ %P
" ""我的状态行显示的内容(包括文件类型和解码)
" "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" ""状态栏设置:文件路径、文件名、标记、文件类型、字符编码、文件格式、当前位置、当前相对位置、文件总行数、日期、星期
" ""set statusline=%F\ %h%1*%m%r%w%0*[%{strlen(&filetype)?&filetype:'none'},%{&encoding},%{&fileformat}]%=%-14.(%l,%c%V%)\ %<%p%%\ \ \ [%L]\ \ \ "%{strftime('%y-%m-%d\ %A')}
"
" "在编辑过程中,在右下角显示光标位置的状态行
set ruler
" set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
" Default color scheme
color desert
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按键设定 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 把esc映射为jj
inoremap jj <ESC>
" 把leaderkey改为,
let mapleader=","
" 设置快捷键将选中文本块复制至系统剪贴板
vnoremap <Leader>y "+y
" 设置快捷键将系统剪贴板内容粘贴至vim
nmap <Leader>p "+p
" 分屏窗口移动
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" 通过":W"命令来强制保存只读文件
" command W :w !sudo tee %
" cmap w!! w !sudo tee >/dev/null %
" 定义跳出括号函数,用于跳出括号
func SkipPair()
if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}'
return "\<ESC>la"
else
return "\t"
endif
endfunc
" 将tab键绑定为跳出括号
inoremap <TAB> <c-r>=SkipPair()<CR>