Управление линией синтетического желоба vim

Я использую синтетические и youcompleteme в VIM. Всякий раз, когда я выхожу из режима вставки и в моем коде появляется ошибка, появляется желоб синтетических ошибок с красными отметками, указывающими, где находятся ошибки. Меня раздражает, что экран каждый раз сдвигается, чтобы освободить место для водосточного желоба. Мне было интересно, можно ли установить vim так, чтобы желоб всегда оставался там. Или, если это возможно, просто спрятать все вместе и по-прежнему видеть красные отметки ошибок. Я действительно просто пытаюсь избежать сдвига экрана, который имеет место. Любые идеи приветствуются. Заранее спасибо за помощь.

Вот мой.vimrc

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

""""""""" PLUGIN LIST STARTS HERE """"""""""""""""""""
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/syntastic'
Plugin 'jiangmiao/auto-pairs'
Plugin 'tpope/vim-surround'
Plugin 'valloric/youcompleteme'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'tpope/vim-repeat'
Plugin 'scrooloose/nerdtree'
Plugin 'sickill/vim-pasta'
Plugin 'itchyny/lightline.vim'
""""""""" PLUGIN LIST END HERE """"""""""""""""""""
call vundle#end()            " required
filetype plugin indent on    " requiredntax on

syntax on
set tabstop=4
set number
set smartindent
set shiftwidth=4
set mouse=a
set backspace=indent,eol,start
set colorcolumn+=80
highlight ColorColumn ctermbg=8
set completeopt-=preview
set laststatus=2

let &t_SI.="\e[5 q"
let &t_SR.="\e[4 q"
let &t_EI.="\e[1 q"


let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
map <F5> :NERDTreeToggle<CR>

let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++14 -stdlib=libc++'

function! Multiple_cursors_before()
  call AutoPairsToggle()
endfun

function! Multiple_cursors_after()
  call AutoPairsToggle()
endfun

let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'

1 ответ

Решение

Я нашел это, который рекомендует использовать set signcolumn=yes в вашем.vimrc

https://superuser.com/questions/558876/how-can-i-make-the-sign-column-show-up-all-the-time-even-if-no-signs-have-been-a

Кроме того, я недавно узнал об этом плагине в качестве замены для синтетического. Это в основном то же самое, за исключением того, что он выполняет операции асинхронно, что делает его выполнение намного быстрее. Это требует vim 8, хотя (или некоторую версию neovim, с которой я не знаком). Я сделал переключение, как 2 недели назад, и действительно наслаждаюсь им (хотя я увеличил тайм-аут, который ALE имеет для запуска линтеров).

https://github.com/w0rp/ale

Если вы переключитесь на ALE, у них, в частности, будет настройка, позволяющая держать желоб открытым, что именно то, что вы ищете.

https://github.com/w0rp/ale

Начиная с v8.1.1564, вы можете отображать знаки в числовом столбце с помощьюset signcolumn=number.

Вы не сможете увидеть номер ни в одной строке с ошибкой, но это позволяет избежать смещения буфера и не требует, чтобы желоб для знаков оставался открытым.

Другие вопросы по тегам