Browse Source

vim upd

master
Ivan Polyakov 2 weeks ago
parent
commit
833c863182
  1. 2
      .config/vim/general.vim
  2. 1
      .config/vim/init.vim
  3. 6
      .config/vim/netrw.vim
  4. 46
      .config/vim/typograf.vim

2
.config/vim/general.vim

@ -2,6 +2,8 @@ set nocompatible
syntax on syntax on
" Editing settings " Editing settings
set autoindent
set cindent
set expandtab " use spaces set expandtab " use spaces
set tabstop=4 set tabstop=4
set shiftwidth=4 set shiftwidth=4

1
.config/vim/init.vim

@ -2,4 +2,5 @@ source ~/.config/vim/general.vim
source ~/.config/vim/paths.vim source ~/.config/vim/paths.vim
source ~/.config/vim/netrw.vim source ~/.config/vim/netrw.vim
source ~/.config/vim/keybindings.vim source ~/.config/vim/keybindings.vim
source ~/.config/vim/typograf.vim
source ~/.config/vim/lsp.vim source ~/.config/vim/lsp.vim

6
.config/vim/netrw.vim

@ -1,5 +1,9 @@
function! HideIgnoredByGit(...)
return substitute(substitute(system('git ls-files --other --ignored --exclude-standard --directory'), '\n', ',', 'g'), ',$', '', '')
endfunction
" let g:netrw_keepdir=0 " let g:netrw_keepdir=0
let g:netrw_altv=1 " split window to the right let g:netrw_altv=1 " split window to the right
let g:netrw_liststyle=3 " tree style listing let g:netrw_liststyle=3 " tree style listing
let g:netrw_list_hide=netrw_gitignore#Hide() let g:netrw_list_hide=HideIgnoredByGit()
let g:netrw_winsize = 30 let g:netrw_winsize = 30

46
.config/vim/typograf.vim

@ -0,0 +1,46 @@
function! SendVisualToHttp() range
let url = 'https://typograf.ru/webservice/?chr=UTF-8'
" Получаем выделенный текст
let [line_start, column_start] = getpos("'<")[1:2]
let [line_end, column_end] = getpos("'>")[1:2]
let lines = getline(line_start, line_end)
" Корректируем для выделения в пределах строки
if line_start == line_end
let text = lines[0][column_start-1 : column_end-1]
else
if column_start > 1
let lines[0] = lines[0][column_start-1 :]
endif
if column_end < strlen(lines[-1])
let lines[-1] = lines[-1][ : column_end-1]
endif
let text = join(lines, "\n")
endif
" URL-кодируем текст
let encoded_text = substitute(system('python3 -c "import urllib.parse; print(urllib.parse.quote(input()))"', text), '\n', '', 'g')
" Формируем полный URL
let full_url = url . (stridx(url, '?') == -1 ? '?' : '&') . 'text=' . encoded_text
" Отправляем запрос и получаем ответ
let response = system('curl -s -X POST ' . shellescape(full_url))
" Заменяем выделенный текст на ответ
if line_start == line_end
let new_line = lines[0][: column_start-2] . response . lines[0][column_end :]
call setline(line_start, new_line)
else
" Удаляем старые строки
execute line_start . ',' . line_end . 'd'
" Вставляем ответ (разбиваем по строкам если нужно)
let response_lines = split(response, '\n')
call append(line_start-1, response_lines)
endif
echo "Текст заменён ответом от сервера"
endfunction
command! -range -nargs=0 HttpSend <line1>,<line2>call SendVisualToHttp()
Loading…
Cancel
Save