aboutsummaryrefslogtreecommitdiff
path: root/stow/vim/.vim/ftplugin/typescript/typescript.vim
blob: 40fe5188e2620212856264d95387cd2633f3d190 (plain)
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
" ~/.vim/ftplugin/typescript/typescript.vim
" TypeScript-specific vim configuration

" ALE
let b:ale_linters = ['eslint']

" Tabs are expanded to 4 spaces
setlocal tabstop=4 shiftwidth=4 expandtab
" Show existing tabs (they can be deleted with :retab)
setlocal list

" Column marker: 110 characters
call matchadd('ColorColumn', '\%111v', 100)
setlocal textwidth=110

" Mappings

let mapleader = " "

nnoremap <buffer> <leader>C :sp ~/.vim/ftplugin/typescript/typescript.vim<CR>

nnoremap <buffer> <leader>s :!tmux new-window -b -t 9 -n 'npm start' 'tmux set -w remain-on-exit on; npm start'<CR><CR>
nnoremap <buffer> <leader>S :!tmux new-window -db -t 9 -n 'npm start' npm start<CR><CR>

nnoremap <buffer> gd :YcmCompleter GoTo<CR>
nnoremap <buffer> gr :YcmCompleter GoToReferences<CR>
nnoremap <buffer> gh :YcmCompleter GetType<CR>
nnoremap <buffer> gD :YcmCompleter GetDoc<CR>
nnoremap <buffer> gR :YcmCompleter RefactorRename<Space>
nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
nnoremap <buffer> <leader>e :YcmDiags<CR>

let mapleader = ","

inoremap <buffer> <leader>if if (<+++>) {<CR><++><CR>} <++><Esc>?<+++><CR>cf>
inoremap <buffer> <leader>else else {<CR><+++><CR>}<CR><++><Esc>?<+++><CR>cf>