Как определить положение окна в VIM - PullRequest
1 голос
/ 19 марта 2010

Я пытаюсь настроить сопоставления для vimdiff и сделать их похожими на winmerge

В вертикальном двухстороннем разделении я хочу отобразить alt-left <a-left>, чтобы переместить текущий diff влево, и alt-right <a-right>, чтобы переместить текущий diff в правую сторону.

Для объединения я могу использовать :diffg и :diffp. Но мне нужно знать, в каком разделении я нахожусь, чтобы я мог использовать :diffg/:diffp в этом.

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

Related Question как к-получить список-оф-файлов, которые-в-себе-бытие-в-сравнить при-ВИМ

Ответы [ 2 ]

1 голос
/ 19 марта 2010

Не ответ на ваш конкретный вопрос, но вот некоторые отличные настройки, которые могут помочь.

"" Diff options; ignore whitespace.
set diffopt+=iwhite

Мне не нравится: diffon: diffoff, потому что они связываются с переносом слов (включается при выходе из diff) Поэтому я устанавливаю только diff, scrollbind, foldmarker и foldcolumn.

"" Diff 'd' {{{
    nmap <silent> ,dd :set diff scb fdm=diff fdc=2<CR>
    nmap <silent> ,dD :windo :set diff scb fdm=diff fdc=2<CR>
    nmap <silent> ,do :set nodiff noscb fdm=manual fdc=0<CR>
    nmap <silent> ,dO :windo :set nodiff noscb fdm=manual fdc=0<CR>
    "nmap <silent> ,dd :diffthis<CR>
    "nmap <silent> ,dD :windo :diffthis<CR>
    "nmap <silent> ,do :diffoff<CR>
    "nmap <silent> ,dO :windo :diffoff<CR>
    nmap <silent> ,du :diffupdate<CR>
"" }}}

Кроме того, проверьте плагин DirDiff для определения деревьев каталогов, если вы еще этого не сделали ...

1 голос
/ 19 марта 2010

При условии, что имеется только два окна, функция winnr() вернет 1 для первого окна и 2 для второго окна. Вы также можете использовать winnr('$'), чтобы узнать, сколько существует окон: :echo winnr('$').

Вы также можете просто использовать dp и do, тогда вам не нужно слишком много прыгать между окнами, и к нему легче добраться, чем с помощью клавиш со стрелками.

...