2012-11-30 7 views
10

Non riesco a far funzionare la divisione orizzontale. Ctrl + invio non fa nulla, Ctrl + S non fa nulla.Ctrl + S (divisione orizzontale) non funziona con Command-T in vim

Sono stato googeling per un po 'e le uniche soluzioni che ho trovato finora sono relative a OSX.

Su entrambi Arch Linux e Ubuntu, avendo lo stesso problema (ma anche la stessa configurazione).

Non sto usando Giano o qualcosa di simile, solo una configurazione molto semplice

set t_Co=256 
set tabstop=2 
set expandtab 
set shiftwidth=2 
set fileencoding=utf-8 
set encoding=utf-8 
set termencoding=utf-8 
set showcmd 
filetype plugin indent on 
"color molokai 
syntax enable 
autocmd! BufNewFile * silent! 0r ~/.vim/skel/tmpl.%:e 
set laststatus=2 " Always show the statusline 

set backspace=indent,eol,start " backspace through everything in insert mode 

"" Searching 
set hlsearch     " highlight matches 
set incsearch     " incremental searching 
set ignorecase     " searches are case insensitive... 
set smartcase     " ... unless they contain at least one capital letter 

call pathogen#infect() 
colorscheme jellybeans 
" use comma as <Leader> key instead of backslash 
let mapleader="," 

" Double <Leader> to switch between buffers 
nnoremap <leader><leader> <c-^> 
" double percentage sign in command mode is expanded 
" to directory of current file - http://vimcasts.org/e/14 
cnoremap %% <C-R>=expand('%:h').'/'<cr> 

map <leader>f :CommandTFlush<cr>\|:CommandT<cr> 
map <leader>F :CommandTFlush<cr>\|:CommandT %%<cr> 

[~]$ ls .vim/bundle
rbenv:system command-t jellybeans.vim snipmate-snippets tlib_vim vim-addon-mw-utils vim-powerline vim-snipmate

Speravo che qualcuno sarebbe in grado di far luce su questo, la cosa si fa davvero frustrante .

Non del tutto sicuro che cosa sia sbagliato, ma ha funzionato occasionalmente, ma non proprio adesso.

Premendo CTRL + S non fa nulla, MAIUSC + INVIO si apre normalmente nel buffer corrente e Ctrl + INVIO salta semplicemente l'elenco dei risultati di ricerca in Command-T.

risposta

15

Nella maggior parte dei terminali, Vim non può distinguere tra Enter e le sue combinazioni con Ctrl o Maiusc, purtroppo; questi funzionano solo in GVIM.

I comandi di controllo del flusso del terminale possono interferire con Ctrl-S e Ctrl-Q; Questo può essere risolto (nel terminale, non in Vim!) con

stty start undef stop undef 

in ~/.bashrc, ~/.zshrc, ecc

+0

Ti sto amando proprio ora. Ho lottato per capirlo e spegnerlo per almeno alcuni mesi. Ho appena vissuto senza di essa. Modifica: Anche io sono un idiota. Ho messo stty -ixon -ixoff nel mio .bashrc in precedenza per provare a risolverlo .. e sto usando zsh:/ – flexd

+0

cosa fa effettivamente? funziona magicamente! –

+0

@KitHo Disattiva il controllo del flusso per il terminale. Il controllo del flusso è ciò che consente di premere CTRL-S per interrompere il flusso di un terminale (bloccarlo) e Ctrl-Q per riprendere. O è il contrario, li ho disabilitati quindi non ricordo quale fa cosa :-) – flexd