vcx / vimfiles

Minha pasta de arquivos de configuração do Vim

This URL has Read+Write access

vimfiles / _vimrc
100644 331 lines (256 sloc) 7.781 kb
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
" vimrc by Vinicius Canto
" Versão 1.3.2
" Última Atualização: 2009-09-05
 
"TODO: criar função para facilitar edição de arquivos gigantes (desativar
"undo, swap e outros recursos para ganhar velocidade. ver no wikia)
 
if v:version >= 700
 
"configuração dos arquivos de ajuda, lendo dentro da pasta pessoal
if v:version >= 720
:helpt ++t $USERPROFILE\vimfiles\doc
endif
 
"configura a linha em destaque, comum no Eclipse. (isso pode causar lentidão)
set nocursorline
 
"configurando o TAB no modo comando (see
"http://vim.wikia.com/wiki/Great_wildmode/wildmenu_and_console_mouse)
set wildmenu
set wildmode=list:longest,full
 
"WARNING: configuração de folding. Sugiro ler o help, já que essa é extremamente
"pessoal.
"
"com a configuração a seguir, o folding segue a indentação, usa quatro colunas
"à esquerda para mostrar o fold e só esconde trechos maiores que 10 linhas por
"padrão. use zR para abrir todos e zM para fechar todos.
set foldmethod=indent
set foldcolumn=4
set foldminlines=10
 
"desativando o modo de compatibilidade com o vi
set nocompatible
 
"configurando os caracteres estranhos
set listchars=trail:.,tab:._
set list
 
"frescura: configurando um espaço extra de limite quando for dar um scroll.
"Configurando a taxa de repetição do teclado no máximo, evita H M L desnecessários.
"bom, é difícil explicar isso... veja no help
set scrolloff=5
 
"configurando pra sempre aparecer a statusline
set laststatus=2
 
"liberando a seleção em bloco mesmo que não exista caractere na posição que eu
"quero. Veja no help.
set ve=all
 
"Configurando tudo que deve aparecer na minha statusline
set statusline=%<%f\ %6.h%m%r[%{&fileencoding}]%=A:%03.b\ H:0x%02.B\ Lin:%l\ Ch:%c\ Col:%v\ %P
 
"Configurando o split padrão para vertical
set splitright
 
"Configurando a codificação dos arquivos
set encoding=utf-8
set termencoding=latin1 "algumas vezes pode colocar utf-8, dependendo do SO.
 
"Configurando a altura da barra de comandos
set cmdheight=3
 
"Configurando a linha de tabs
set stal=2
 
"{{{ carregando esquema de cores e configuração de tela
 
if has("gui_running") "pode ser usado também o gvimrc ao invés do has(guirunning)
"melhor para programar
colorscheme desert
 
"melhor para apresentações em projetores
"colorscheme murphy
 
"Configurando a área da tela
set lines=35
set columns=130
 
"configurando o que vai aparecer na interface gráfica. Veja no help.
"Tirei a barra de ferramentas,
set go=eirbh "m é a barra de menus, em caso de emergencia.
 
"certificando que o ALT não vai ser usado pra nada
set winaltkeys=no
 
"frescura: aumentando o espaço entre as linhas na interface gráfica.
"Aumenta legibilidade
set linespace=2
 
"configuração da fonte no modo gráfico para usar a Consolas. Ative o
"ClearType (mesmo em CRTs) ou o resultado não será bom...
if has("win32")
set gfn=Lucida_Console:h10:cANSI "caso a consolas não exista, vai de lucida mesmo
set gfn=Consolas:h10:cANSI
"set gfn=Lucida_Sans_Typewriter:h12:cANSI
else
set gfn="Bitstream_Vera_Sans_Mono":h10:cANSI "fonte boa para usar no Linux/Enlightenment
endif
else
colorscheme slate
set bg=dark
endif
 
"}}}
 
"desliga quebras de linha automáticas
set nowrap
 
"mostra a régua, mostrando o posicionamento na tela no canto esquerdo
set ruler
 
"indentacao automagica
set autoindent
 
"ft on. Verifique com :ft
filetype plugin on
filetype plugin indent on
 
"nivel de indentacao
set shiftwidth=5 "tamanho do >> << e cident
set tabstop=5 "tamanho do tab msm
"deixe esses dois números iguais pra travar o TAB pra tudo. Use os arquivos
"~/vimfiles/ftplugin/<linguagem>.vim para configurações diferentes para cada
"linguagem
 
"configura o backspace corretamente
set backspace=indent,eol,start whichwrap+=<,>,[,]
 
"numeracao do lado esquerdo
set number
 
"syntax highlighting
syntax on
 
"opções que tornam a busca mais interessante...
set hlsearch "veja o mapemento do F11 mais abaixo
set ignorecase
set incsearch
 
"opções que eu não conheço ainda
set nocp
set title
set ttyfast
 
"tentando fazer meu Shift + setinhas funcionarem... like MS Notepad
set sel=exclusive
set slm=mouse,key
set cb=
set km=startsel,stopsel
 
"{{{"mapeamento do teclado numérico
 
"mapeamentos do teclado numerico no modo de insercao
imap <Esc>Oq 1
imap <Esc>Or 2
imap <Esc>Os 3
imap <Esc>Ot 4
imap <Esc>Ou 5
imap <Esc>Ov 6
imap <Esc>Ow 7
imap <Esc>Ox 8
imap <Esc>Oy 9
imap <Esc>Op 0
imap <Esc>On .
imap <Esc>OQ /
imap <Esc>OR *
imap <Esc>Ol +
imap <Esc>OS -
 
"mapeamentos do teclado numerico no modo normal
nmap <Esc>Oq 1
nmap <Esc>Or 2
nmap <Esc>Os 3
nmap <Esc>Ot 4
nmap <Esc>Ou 5
nmap <Esc>Ov 6
nmap <Esc>Ow 7
nmap <Esc>Ox 8
nmap <Esc>Oy 9
nmap <Esc>Op 0
nmap <Esc>On .
nmap <Esc>OQ /
nmap <Esc>OR *
nmap <Esc>Ol +
nmap <Esc>OS -
 
"}}}
 
"{{{ mapeamentos do modo inserção
 
imap <C-backspace> <C-w>
imap <C-delete> <C-o>dw
imap <S-Enter> <C-o>O<Esc>ji
imap <C-Enter> <C-o>o<Esc>ki
 
imap <F3> <C-o><F3>
imap <F5> <ESC>:tabnew<CR>
imap <F6> <C-o><C-w><C-w>
 
imap <C-j> <down>
imap <C-k> <up>
imap <C-l> <right>
imap <C-h> <left>
 
imap jj <ESC>
 
"}}}
 
"{{{ mapeamentos do modo normal
nmap <space> <C-d>
nmap <S-space> <C-u>
nmap <S-Enter> O<Esc>j
nmap <C-Enter> o<Esc>k
 
nmap ; :
 
"}}}
 
"mapeamento de teclas de função
 
"F1 -- Help. Interno do VIM
"F2 -- Abrir arquivo usando FuzzyFinder
"F3 -- Salvar arquivo usando janelas
"F4 -- Fechar usando :q
"F5 -- Nova tab.
"F6 -- Próxima Tab
"Shift + F6 -- Tab Anterior
"F12 -- Alterna entre modo normal e modo "notepad", ativando o wrap e o
"linebreak
 
nmap <F1> :help<space>
nmap <F2> :FufFile!<CR>
nmap <C-F2> :FufMruFile!<CR>
 
nmap <F3> :if expand("%") == ""<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
nmap <F4> :q<CR>
 
nmap <F6> <C-w><C-w>
 
let g:toggleTabs = 1
set guitablabel=%N/\ %t\ %M
if g:toggleTabs == 1
map <silent><F5> :tabnew<CR>
nmap <C-Tab> :tabnext<CR>
nmap <C-S-Tab> :tabprevious<CR>
else
map <silent><C-tab> :bn<CR>
map <silent><C-S-tab> :bp<CR>
endif
 
nmap <F7> :NERDTreeToggle<CR>
nmap <F8> :TlistToggle<CR>
 
map <F11> :set hlsearch!<cr>
 
"{{{ Configurando o F12 para ativar/desativar o que eu chamo de 'notepad mode'
map <silent><F12> :call ChooseWrap()<CR>
function! ChooseWrap()
if &wrap
call DisableDisplayWrapping()
else
call EnableDisplayWrapping()
endif
endfunction
function! EnableDisplayWrapping()
if !&wrap
setlocal wrap
set wrap
set lbr
 
" don't skip wrapped lines
nnoremap <buffer> <Up> gk
nnoremap <buffer> <Down> gj
inoremap <buffer> <Up> <C-O>gk
inoremap <buffer> <Down> <C-O>gj
endif
endfunction
function! DisableDisplayWrapping()
if &wrap
setlocal nowrap
set nowrap
set nolinebreak
 
nunmap <buffer> <Up>
nunmap <buffer> <Down>
iunmap <buffer> <Up>
iunmap <buffer> <Down>
endif
endfunction
"}}}
 
"opções do TagList
 
"não aumentar a janela do Vim quando acionar o taglist
let Tlist_Inc_Winwidth = 0
 
 
"opções do nerdcommenter
let NERDShutUp=1
 
 
"{{{ comandos definidos pelo usuário
 
command Cdhere :cd %:h
 
"}}}
 
 
"configurando o suporte a T-SQL
let g:sql_type_default = "sqlserver"
 
"configurando o FuzzyFinder novo
"let g:fuf_modesDisable = [ 'mrufile', 'mrucmd', ]
let g:fuf_modesDisable = []
let g:fuf_infoFile = '~/vimfiles/_vim-fuf'
let g:fuf_ignoreCase = 1
let g:fuf_mrufile_maxItem = 100
let g:fuf_abbrevMap = {
\ '^de:' : [ '~\desktop',],
\ '^home:' : [ '~\',],
\ '^vi:' : [ 'c:\vinicius',],
\ }
 
endif
 
 
"modeline para configurar opções específicas para esse arquivo
" vim:fdm=marker foldminlines=0