Advertisement
DrLejos

DrLejos vimRC

Mar 2nd, 2024 (edited)
329
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.09 KB | Software | 0 0
  1. set nocompatible
  2. set backspace=indent,eol,start
  3. set history=9000
  4. vnoremap w e
  5. onoremap a" 2i"
  6. onoremap a' 2i'
  7. onoremap a` 2i`
  8. xnoremap a" 2i"
  9. xnoremap a' 2i'
  10. xnoremap a` 2i`
  11. let mapleader = "\\"
  12.  
  13. filetype on
  14. filetype plugin on
  15. filetype indent on
  16.  
  17. colorscheme peachpuff
  18. syntax on
  19. hi Error NONE
  20. let showerrors=0
  21. hi MatchParen cterm=bold ctermbg=none ctermfg=green
  22. set nohls
  23. set wrap
  24. set number
  25. set scrolloff=10
  26. set sidescrolloff=20
  27.  
  28. set autoindent
  29. set smartindent
  30. set expandtab
  31. set smarttab
  32. set tabstop=2
  33. set shiftwidth=2
  34. set softtabstop=0
  35. set wildmenu
  36. set wildmode=list:longest
  37. set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
  38.  
  39. set notimeout
  40. set ttimeout
  41.  
  42. set statusline=
  43. set statusline+=\ %F\ %M\ %Y\ %R
  44. set statusline+=%=
  45. set laststatus=2
  46. set showcmd
  47.  
  48. set splitright
  49. nnoremap <C-H> <C-W>h
  50. nnoremap <C-J> <C-W>j
  51. nnoremap <C-K> <C-W>k
  52. nnoremap <C-L> <C-W>l
  53. nnoremap zx :set sidescrolloff=99<CR>hl:set sidescrolloff=20<CR>
  54. nnoremap H z20h
  55. nnoremap L z20l
  56. autocmd! VimResized * exe "normal \<c-w>="
  57.  
  58. nnoremap <CR> A<CR><ESC>
  59. nnoremap <S-CR> A<CR><ESC>
  60. nnoremap <S-K> i<C-M><ESC>k$
  61. nnoremap <S-Y> y$
  62.  
  63. nnoremap <leader>r gns<C-R>0<ESC>
  64. vnoremap * "ny/<C-R>n<CR>
  65. vnoremap <leader>r "ny/<C-R>n<CR>Ngns<C-R>0<ESC>
  66.  
  67. nnoremap <leader>rw "nyw/<C-R>n<CR>Ngns<C-R>0<ESC>
  68. nnoremap <leader>rW "nyW/<C-R>n<CR>Ngns<C-R>0<ESC>
  69. nnoremap <leader>rl "nyl/<C-R>n<CR>Ngns<C-R>0<ESC>
  70. nnoremap <leader>ri" "nyi"/<C-R>n<CR>Ngns<C-R>0<ESC>
  71. nnoremap <leader>ra" "nya"/<C-R>n<CR>Ngns<C-R>0<ESC>
  72. nnoremap <leader>rt" "nyt"/<C-R>n<CR>Ngns<C-R>0<ESC>
  73. nnoremap <leader>rf" "nyf"/<C-R>n<CR>Ngns<C-R>0<ESC>
  74. nnoremap <leader>ri' "nyi'/<C-R>n<CR>Ngns<C-R>0<ESC>
  75. nnoremap <leader>ra' "nya'/<C-R>n<CR>Ngns<C-R>0<ESC>
  76. nnoremap <leader>rt' "nyt'/<C-R>n<CR>Ngns<C-R>0<ESC>
  77. nnoremap <leader>rf' "nyf'/<C-R>n<CR>Ngns<C-R>0<ESC>
  78. nnoremap <leader>ri` "nyi`/<C-R>n<CR>Ngns<C-R>0<ESC>
  79. nnoremap <leader>ra` "nya`/<C-R>n<CR>Ngns<C-R>0<ESC>
  80. nnoremap <leader>rt` "nyt`/<C-R>n<CR>Ngns<C-R>0<ESC>
  81. nnoremap <leader>rf` "nyf`/<C-R>n<CR>Ngns<C-R>0<ESC>
  82. nnoremap <leader>rt. "nyt./<C-R>n<CR>Ngns<C-R>0<ESC>
  83. nnoremap <leader>rf. "nyf./<C-R>n<CR>Ngns<C-R>0<ESC>
  84. nnoremap <leader>ri( "nyi(/<C-R>n<CR>Ngns<C-R>0<ESC>
  85. nnoremap <leader>ra( "nya(/<C-R>n<CR>Ngns<C-R>0<ESC>
  86. nnoremap <leader>rt( "nyt(/<C-R>n<CR>Ngns<C-R>0<ESC>
  87. nnoremap <leader>rf( "nyf(/<C-R>n<CR>Ngns<C-R>0<ESC>
  88. nnoremap <leader>rt) "nyt)/<C-R>n<CR>Ngns<C-R>0<ESC>
  89. nnoremap <leader>rf) "nyf)/<C-R>n<CR>Ngns<C-R>0<ESC>
  90.  
  91. nnoremap <leader>gv `[V`]
  92.  
  93. augroup commenting_blocks_of_code
  94.   autocmd!
  95.   autocmd FileType c,cpp,java,scala let b:comment_leader = '//'
  96.   autocmd FileType javascript,json  let b:comment_leader = '//'
  97.   autocmd FileType sh,ruby,python   let b:comment_leader = '#'
  98.   autocmd FileType conf,fstab       let b:comment_leader = '#'
  99.   autocmd FileType tex              let b:comment_leader = '%'
  100.   autocmd FileType mail             let b:comment_leader = '>'
  101.   autocmd FileType vim              let b:comment_leader = '"'
  102. augroup END
  103. function! Comment ()
  104.   execute 's/^/&'.escape(b:comment_leader, '\/').'/e'
  105. endfunction
  106. function! Uncomment ()
  107.   execute 's/\v'.escape(b:comment_leader, '\/').'\v/\1/e'
  108. endfunction
  109. function! ToggleComment ()
  110.   let l:line=getpos("'<")[1]
  111.   if match(getline("."), '^\s*'.b:comment_leader)>-1
  112.     call Uncomment()
  113.   else
  114.     call Comment()
  115.   endif
  116. endfunction
  117. function! VComment ()
  118.   execute '''<,''>s/^/&'.escape(b:comment_leader, '\/').'/e'
  119. endfunction
  120. function! VUncomment ()
  121.   execute '''<,''>s/\v'.escape(b:comment_leader, '\/').'\v/\1/e'
  122. endfunction
  123. function! VToggleComment ()
  124.   let l:line=getpos("'<")[1]
  125.   if match(getline(l:line), '^\s*'.b:comment_leader)>-1
  126.     call VUncomment()
  127.   else
  128.     call VComment()
  129.   endif
  130. endfunction
  131. nnoremap <leader>[ :<C-u>call Comment()<CR><CR>
  132. vnoremap <leader>[ :<C-u>call VComment()<CR><CR>
  133. nnoremap <leader>] :<C-u>call Uncomment()<CR><CR>
  134. vnoremap <leader>] :<C-u>call VUncomment()<CR><CR>
  135. nnoremap <leader>\ :<C-u>call ToggleComment()<CR><CR>
  136. vnoremap <leader>\ :<C-u>call VToggleComment()<CR><CR>
  137.  
  138. nnoremap <leader>jj I <ESC>0/"{<CR>i<c-m> <ESC>0dt"miA <ESC>F"a<c-m><ESC>k$mo:'i,'o!jq fromjson<CR>kxJ%j$xkgJ0=a{$%
  139. nnoremap <leader>JJ ?{<CR>/{<CR>I <ESC>0/{<CR>i<c-m> <ESC>0dt{mi$%A <ESC>F}a<c-m><ESC>k$mo:'i,'o!jq tostring<CR>0kxJj$xd0kgJ==
  140. nnoremap <leader>jq 0?{<CR>/{<CR>i<c-m> <ESC>0dt{mi%A <ESC>F}a<c-m> <ESC>0k$mo:'i,'o!jq<CR>kJ%$gJ:s/ //g<CR>$k=a}$%
  141.  
  142. nnoremap <leader>jx :%!yq -p json -o xml .<CR>
  143. nnoremap <leader>jy :%!yq -p json -o yml .<CR>
  144. nnoremap <leader>xj :%!yq -p xml -o json .<CR>
  145. nnoremap <leader>xy :%!yq -p xml -o yml .<CR>
  146. nnoremap <leader>yj :%!yq -p yml -o json .<CR>
  147. nnoremap <leader>yx :%!yq -p yml -o xml .<CR>
  148.  
  149. nnoremap <F2> :vs $MYVIMRC<CR>
  150. nnoremap <F3> :set nu!<CR>
  151. nnoremap <F4> :set rnu!<CR>
  152. nnoremap <F5> :if showerrors==1<Bar>
  153.     \let showerrors=0<Bar>
  154.     \hi Error None<Bar>
  155.     \echo "Error highlighting OFF"<Bar>
  156.     \else<Bar>
  157.     \let showerrors=1<Bar>
  158.     \hi Error ctermbg=red<Bar>
  159.     \echo "Error highlighting ON"<Bar>
  160.     \endif<CR>
  161.  
  162. autocmd! BufWritePost $MYVIMRC source $MYVIMRC
Tags: vim vimrc
Advertisement
Comments
  • DrLejos
    1 year
    # text 0.11 KB | 0 0
    1. convert between json, yml, xml, and escaped json strings (leader followed by jj, JJ, jx, jy, xj, xy, yj, yx)
Add Comment
Please, Sign In to add comment
Advertisement