O Vim começa com o início de um comando "change"

0

Estou tendo um problema com a inicialização do vim. Sempre que executo vim somefile , ele inicia como se eu tivesse pressionado c logo após a inicialização. Então, se eu tentar pular imediatamente para o final do arquivo com G , ele muda para o final do arquivo, ou seja, todas as linhas da linha de inicialização até o final do arquivo. arquivo sumiram e eu estou no modo de inserção. Estou usando o terminal vim ao invés do MacVim, e meu shell é zsh no caso de ser relevante. Eu estou usando o esquema de 256 cores de base 16 amanhã em ambos os meus shell e em vim - escuro para o shell e encarnação de luz para vim. Estou usando a configuração do Janus com pouca personalização.

Aqui estão as coisas que tentei encontrar:

  1. Comente tudo do meu arquivo .vimrc.after , exceto o esquema de cores e as declarações de fonte. Nenhuma mudança.
  2. Desative meus comandos do esquema de cores base16 no iTerm2 e vim. Pensei que talvez o shell script de 256 cores estivesse causando um problema, mas não há dados.
  3. Removido o plugin personalizado que tenho em Janus (Emmet). Nenhuma diferença.
  4. Alterou o esquema de cores para um esquema não base16. Nenhuma diferença.

A única diferença real que consegui encontrar é entre o iTerm2 e o Terminal.app. No Terminal.app, o comando de alteração parece estar limitado a uma única linha, independentemente do comando de movimento que eu digitar imediatamente após a inicialização. Então, se eu digitar G depois de abrir um arquivo, ele não removerá todas as linhas abaixo. Apenas apaga a linha em que está e entra no modo de inserção.

Mais algumas evidências: 1) Se eu abrir um diretório com vim path/to/directory , obtenho um comportamento ligeiramente diferente do Terminal.app e do iTerm2. No iTerm2, não há problema aparente. No Terminal.app, recebo a mensagem E481: No range allowed na parte inferior da janela. 2) Se eu usar o MacVim, o comportamento não está presente, tanto quanto eu posso dizer. Isso me faz pensar que é algo a ver com o meu ambiente de shell. Tanto o Terminal.app quanto o iTerm2 têm seus relatórios de terminal configurados como xterm-256color.

Então, essa é a situação. Abaixo estão os conteúdos dos meus arquivos vim relevantes. Embora uma solução para o problema seja útil, estou mais interessado em aprender a pescar aqui. Parte da minha frustração com o vim no passado era que às vezes fazia coisas que eu não entendia. Às vezes através de erros de digitação ou comandos de dedilhado ou algo assim, mas mesmo assim, eu não sabia o que eu fiz para causar o comportamento bizarro para que eu pudesse evitá-lo no futuro. Eu estou no mesmo barco aqui. Eu não quero saber como consertá-lo, mas o que estava errado e algum tipo de metodologia para rastrear o problema que eu poderia aplicar em futuros problemas. Obrigado antecipadamente!

.vimrc.before

set nocompatible
let mapleader=","
set splitbelow
set splitright
call janus#disable_plugin('nerdtree')
if has("gui_running")
  let g:loaded_netrw        = 1 " Disable netrw
  let g:loaded_netrwPlugin  = 1 " Disable netrw
endif

.vimrc

""
"" Janus setup
""

" Define paths
"let g:janus_path = escape(fnamemodify(resolve(expand("<sfile>:p" . "janus" . "janus")), ":h"), ' ')
"let g:janus_vim_path = escape(fnamemodify(resolve(expand("<sfile>:p" . "janus" . "janus" . "vim")), ":h"), ' ')"

let g:home_path = expand("~")
let g:vim_path = g:home_path . "/.dotfiles/vim"
let g:janus_path = g:vim_path . "/janus/janus"
let g:janus_vim_path = g:janus_path . "/vim"

let g:janus_custom_path = g:vim_path . "customization"

if filereadable(g:janus_vim_path . '/core/before/plugin/janus.vim')
    " Source janus's core
    exe 'source ' . g:janus_vim_path . '/core/before/plugin/janus.vim'

    " You should note that groups will be processed by Pathogen in reverse
    " order they were added.
    call janus#add_group("tools")
    call janus#add_group("langs")
    call janus#add_group("colors")

    ""
    "" Customisations
    ""

    if filereadable(expand("~/.vimrc.before"))
      source ~/.vimrc.before
    endif


    " Disable plugins prior to loading pathogen
    exe 'source ' . g:janus_vim_path . '/core/plugins.vim'

    ""
    "" Pathogen setup
    ""

    " Load all groups, custom dir, and janus core
    call janus#load_pathogen()

    " .vimrc.after is loaded after the plugins have loaded
endif

.vimrc.after

let base16colorspace=256  " Access colors present in 256 colorspace
set background=light
colorscheme base16-tomorrow
set guifont=Panic\ Sans:h13

"set tabstop=4
"set shiftwidth=4
"set softtabstop=4
"set expandtab

"let g:user_emmet_install_global = 0
"autocmd FileType html,css,eruby,eruby-rails EmmetInstall

" window
nmap <leader>sw<left>  :topleft  vnew<CR>
nmap <leader>sw<right> :botright vnew<CR>
nmap <leader>sw<up>    :topleft  new<CR>
nmap <leader>sw<down>  :botright new<CR>

" buffer
nmap <leader>s<left>   :leftabove  vnew<CR>
nmap <leader>s<right>  :rightbelow vnew<CR>
nmap <leader>s<up>     :leftabove  new<CR>
nmap <leader>s<down>   :rightbelow new<CR>

" clear search highlight
nnoremap <esc> :noh<return><esc>

" exit insert mode when beginning text movements
:imap jj <Esc>
:imap jk <Esc>
:imap kk <Esc>
:imap kj <Esc>

set clipboard=unnamed


"Helpful stuff from Steve Losh
set list
set listchars=tab:▸\ ,eol:¬ "Change the invisible character display characters.

set wrap
set textwidth=79
set formatoptions=qrn1
set colorcolumn=85

nnoremap / /\v
vnoremap / /\v
set ignorecase
set smartcase
set gdefault
set incsearch
set showmatch
set hlsearch
"nnoremap <leader><space> :noh<cr>
nnoremap <tab> %
vnoremap <tab> %

set encoding=utf-8
set scrolloff=3
set autoindent
set showmode
set showcmd
set hidden
set wildmenu
set wildmode=list:longest
set visualbell
set cursorline
set ttyfast
set ruler
set backspace=indent,eol,start
set laststatus=2
set relativenumber
set undofile

nnoremap <up> <nop>
nnoremap <down> <nop>
nnoremap <left> <nop>
nnoremap <right> <nop>
inoremap <up> <nop>
inoremap <down> <nop>
inoremap <left> <nop>
inoremap <right> <nop>
nnoremap j gj
nnoremap k gk

inoremap <F1> <ESC>
nnoremap <F1> <ESC>
vnoremap <F1> <ESC>

" Save on focus lost
au FocusLost * :wa

.gvimrc.before

call janus#disable_plugin('NERDtree')

.gvimrc.after

" Override existing colorscheme with version found in
" ~/.janus/<colorscheme>/colors/<colorscheme>.vim
if exists("g:colors_name") 
  let color_override = expand('~/.janus/' . g:colors_name . '/colors/' . g:colors_name . '.vim')
  if filereadable(color_override)
    exe 'source ' . color_override
  endif
endif

set background=light
colorscheme base16-tomorrow
set guifont=Panic\ Sans:h13
    
por jxpx777 11.08.2014 / 17:18

1 resposta

0

Esta pergunta anterior parece resolver o meu problema. O Vim tem pressões inesperadas na inicialização, o que poderia estar causando isso? Eu vi que :echo v:termresponse continha o caractere ofender c que causou o problema e definiu set t_RV= ttymouse=xterm2 de fato resolveu o problema magicamente, mas como o OP lá, não faço ideia por que este foi o problema, como o respondente sabia para verificar :echo v:termresponse , ou como set t_RV= ttymouse=xterm2 entrou na mente do respondente como algo para digitar em um arquivo de configuração vim para resolvê-lo.

    
por 11.08.2014 / 18:15