My configuration files for Debian/Ubuntu applications
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

226 satır
6.6 KiB

  1. syntax on
  2. filetype plugin indent on
  3. set ai
  4. set number
  5. set mouse=a
  6. "set breakindent
  7. set encoding=utf-8 "Added this for vim-hug
  8. set nu rnu
  9. set hidden
  10. set tabstop=4
  11. set shiftwidth=4
  12. set keywordprg=:Man
  13. let mapleader = "s"
  14. set is
  15. set tw=80
  16. set so=10
  17. "Colour settings
  18. set t_Co=256 "Use 256 colours (Use this setting only if your terminal supports 256 colours)
  19. set tgc "More terminal colours
  20. let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
  21. let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
  22. let base16colorspace=256
  23. colorscheme base16-nord
  24. "Pymode stuff
  25. let g:pymode_folding = 0
  26. " turn hybrid line numbers off
  27. ":set nonumber norelativenumber
  28. ":set nonu nornu
  29. " toggle hybrid line numbers
  30. ":set number! relativenumber!
  31. ":set nu! rnu!
  32. "Triggers for number toggling
  33. :augroup numbertoggle
  34. : autocmd!
  35. : autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
  36. : autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber
  37. :augroup END
  38. "CtrlP bindings
  39. nmap <leader>d :CtrlPBuffer<cr>
  40. nmap <leader>m :CtrlPMRU<cr>
  41. nmap <leader>L :CtrlPLine<cr>
  42. "NERDTree bingings
  43. nnoremap <F1> :NERDTreeToggle<cr>
  44. nnoremap <leader>t :NERDTreeFind<cr>
  45. "autocmd vimenter * NERDTree
  46. "Buffergator bindings
  47. nmap gb :BuffergatorMruCyclePrev<cr>
  48. nmap gn :BuffergatorMruCycleNext<cr>
  49. nmap gto :BuffergatorTabsOpen<cr>
  50. nmap gtc :BuffergatorTabsOpen<cr>
  51. nmap gfo :BuffergatorOpen<cr>
  52. nmap gfc :BuffergatorClose<cr>
  53. let g:buffergator_autoexpand_on_split=0
  54. "Stuff for faster movement and aesthetics
  55. :set cursorline
  56. nnoremap <leader>cd :cd %:p:h<cr>
  57. nnoremap <F3> :tabprevious<cr>
  58. nnoremap <F4> :tabnext<cr>
  59. nnoremap <F5> :buffers<CR>:buffer<Space>
  60. noremap <BS> <PageUp>
  61. noremap <Space> <PageDown>
  62. noremap <C-h> <C-W>h
  63. noremap <C-l> <C-W>l
  64. noremap <C-j> <C-W>j
  65. noremap <C-k> <C-W>k
  66. nnoremap <leader>z :w<cr>
  67. nnoremap <leader>c :CtrlPChange<cr>
  68. nnoremap <leader>C :CtrlPChangeAll<cr>
  69. nnoremap <leader><cr> :center<cr>
  70. inoremap jj <esc>
  71. "Easymotion
  72. map <Leader> <Plug>(easymotion-prefix)
  73. map / <Plug>(easymotion-sn)
  74. omap / <Plug>(easymotion-tn)
  75. map n <Plug>(easymotion-next)
  76. map N <Plug>(easymotion-prev)
  77. map <leader>ls <Plug>(easymotion-sl)
  78. map <leader>lf <Plug>(easymotion-bd-fl)
  79. map <leader>lw <Plug>(easymotion-bd-wl)
  80. map <leader>ol <Plug>(easymotion-overwin-line)
  81. map <leader>ow <Plug>(easymotion-overwin-w)
  82. nmap <leader>of <Plug>(easymotion-overwin-f2)
  83. nmap <leader>aw <Plug>(easymotion-bd-w)
  84. nmap <leader>al <Plug>(easymotion-bd-jk)
  85. let g:EasyMotion_smartcase = 1 " Infer search casing
  86. let g:EasyMotion_startofline = 0 " keep cursor column when JK motion
  87. "Copy and pasting
  88. vmap <C-c> "+y
  89. nmap <S-y> "+p
  90. set guioptions-=m "menu bar
  91. set guioptions-=T "toolbar
  92. set guicursor+=a:blinkon0 "Remove weird blinking cursor
  93. "set guioptions-=r "scrollbar
  94. nmap <leader>T :vsplit <BAR> :wincmd l <BAR> :enew <cr>
  95. "nmap <leader>bq :bp <BAR> bd #<cr>
  96. nmap <leader>:ob :OpenBookmark<cr>
  97. let g:deoplete#enable_at_startup = 1 "Enables deoplete
  98. autocmd FileType python setlocal completeopt-=preview "Romoves docwindow for Jedi-vim
  99. "Omnisharp taken from the ReadMe I think
  100. let g:OmniSharp_timeout = 5
  101. set completeopt=longest,menuone,preview
  102. set previewheight=5
  103. let g:ale_linters = { 'cs': ['OmniSharp'] }
  104. let g:OmniSharp_highlight_types = 1
  105. augroup omnisharp_commands autocmd!
  106. " air-line
  107. let g:airline_theme='tomorrow'
  108. let g:airline#extensions#tabline#enabled = 1
  109. let g:airline#extensions#tabline#tab_nr_type = 1
  110. let g:airline#extensions#tabline#show_tab_nr = 1
  111. let g:airline#extensions#tabline#buffer_nr_show = 1
  112. let g:airline#extensions#tabline#formatter = 'default'
  113. let g:airline#extensions#tabline#buffer_nr_show = 1
  114. let g:airline#extensions#tabline#fnametruncate = 16
  115. let g:airline#extensions#tabline#fnamecollapse = 2
  116. "let mapleader=","
  117. let g:airline#extensions#tabline#buffer_idx_mode = 1
  118. nmap g1 <Plug>AirlineSelectTab1
  119. nmap g2 <Plug>AirlineSelectTab2
  120. nmap g3 <Plug>AirlineSelectTab3
  121. nmap g4 <Plug>AirlineSelectTab4
  122. nmap g5 <Plug>AirlineSelectTab5
  123. nmap g6 <Plug>AirlineSelectTab6
  124. nmap g7 <Plug>AirlineSelectTab7
  125. nmap g8 <Plug>AirlineSelectTab8
  126. nmap g9 <Plug>AirlineSelectTab9
  127. let g:airline_powerline_fonts = 1
  128. if !exists('g:airline_symbols')
  129. let g:airline_symbols = {}
  130. endif
  131. " unicode symbols
  132. let g:airline_left_sep = '»'
  133. let g:airline_left_sep = '▶'
  134. let g:airline_right_sep = '«'
  135. let g:airline_right_sep = '◀'
  136. let g:airline_symbols.linenr = '␊'
  137. let g:airline_symbols.linenr = '␤'
  138. let g:airline_symbols.linenr = '¶'
  139. let g:airline_symbols.branch = '⎇'
  140. let g:airline_symbols.paste = 'ρ'
  141. let g:airline_symbols.paste = 'Þ'
  142. let g:airline_symbols.paste = '∥'
  143. let g:airline_symbols.whitespace = 'Ξ'
  144. " airline symbols
  145. let g:airline_left_sep = ''
  146. let g:airline_left_alt_sep = ''
  147. let g:airline_right_sep = ''
  148. let g:airline_right_alt_sep = ''
  149. let g:airline_symbols.branch = ''
  150. let g:airline_symbols.readonly = ''
  151. let g:airline_symbols.linenr = ''
  152. "Folding
  153. nnoremap <leader>6 :setlocal fdm=indent<cr>
  154. nnoremap <leader>7 :setlocal fdm=marker<cr>
  155. nnoremap <leader>8 :setlocal fdm=expr<cr>:set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1<cr>
  156. set foldmethod=indent
  157. set foldlevelstart=1
  158. autocmd FileType vim setlocal foldmethod=marker
  159. autocmd FileType '' setlocal fdm=expr foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
  160. let javaScript_fold=1 " JavaScript
  161. let perl_fold=1 " Perl
  162. let php_folding=1 " PHP
  163. let r_syntax_folding=1 " R
  164. let ruby_fold=1 " Ruby
  165. let sh_fold_enabled=1 " sh
  166. let vimsyn_folding='af' " Vim script
  167. let xml_syntax_folding=1 " XML
  168. "ctrlp and buffgator custom stuff
  169. let g:ctrlp_switch_buffer = 'E'
  170. let g:ctrlp_custom_ignore = {
  171. \ 'dir': '\v[\/](\.(git|hg|svn)|\_site|node_modules)$',
  172. \ 'file': '\v\.(exe|so|dll|class|png|jpg|jpeg)$',
  173. \}
  174. let g:ctrlp_working_path_mode = 'r' " Use the nearest .git directory as the cwd
  175. let g:buffergator_viewport_split_policy = 'R' " Use the right side of the screen
  176. let g:buffergator_suppress_keymaps = 1 " I want my own keymappings...
  177. "Programming specific
  178. "let g:auto_save_postsave_hook = 'silent !npx browser-sync reload &'
  179. " let g:go_def_mode='gopls'
  180. " let g:go_info_mode='gopls'
  181. "NNN
  182. "let g:nnn#layout = { 'left': '~20%' } " or right, up, down
  183. let g:nnn#layout = { 'window': { 'width': 0.9, 'height': 0.6, 'highlight': 'Debug' } }
  184. let g:nnn#action = {
  185. \ '<c-t>': 'tab split',
  186. \ '<c-x>': 'split',
  187. \ '<c-v>': 'vsplit' }
  188. let $NNN_BMS='h:~/;c:~/.config;n:~/Notes;'
  189. let $NNN_PLUG='p:preview-tui;c:x2sel;i:imgview;s:tmspawn'
  190. "let $NNN_FIFO=/tmp/nnn.fifo
  191. " Prettier settings
  192. " let g:prettier#config#config_precedence = 'file-override'
  193. let g:prettier#autoformat = 1
  194. let g:prettier#autoformat_require_pragma = 0
  195. let g:prettier#config#tab_width = 4
  196. " let g:prettier#config#use_tabs = 'false'