Linux за българи: Форуми

BSD секция => Настройки на софтуер => Темата е започната от: synner в Dec 12, 2011, 13:45



Титла: [Решен] FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: synner в Dec 12, 2011, 13:45
Здравейте!
Движа:

Код:
[root@freebsd ~]# uname -a
FreeBSD freebsd.velly.web 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
[root@freebsd ~]# env
SHELL=/usr/local/bin/bash
TERM=xterm
SSH_CLIENT=10.0.2.2 38722 22
SSH_TTY=/dev/pts/0
USER=root
FTP_PASSIVE_MODE=YES
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
MAIL=/var/mail/root
BLOCKSIZE=K
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=10.0.2.2 38722 10.0.2.15 22
_=/usr/bin/env
[root@freebsd ~]# cat .vimrc
set laststatus=2
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]
syntax enable

" Backspace for bash
fixdel
set shortmess=filnxtToOI
set backspace=indent,eol,start

" Backspace for (t)csh
"set backspace=start
"set nocompatible
"set bs=2

set hlsearch " Highlight search things

" Turn backup off, since most stuff is in SVN, git anyway...
set nobackup
set nowb
set noswapfile


Инсталирал съм си допълнително vim, понеже с него съм свикнал! Проблемът ми е, че след като изляза от vim, неговият прозорец с редактираното съдържание не изчезва, а prompt-а се появява отдолу и каквото е имало преди да изпълня vim <file> вече е изтрито! Подобен проблем се получаваше, докато ползвах vim в gnu screen, но там се оправяше с altscreen on в ~/.screenrc.
Пробвал съм да сложа set term=xterm-clear в ~/.vimrc, но единственото нещо, което се промени, беше че ми направи syntax colouring-а черно-бял, освен това xterm-clear го няма в /etc/termcap.
Пробвал съм и да сложа set t_ti= t_te= в ~/.vimrc, но без никакъв резултат!
top и man също не си чистят прозорците!

Също трябва да отбележа, че това го пробвам през Putty -> ssh!

Как vim да се затваря, чистейки си прозореца и възстановявайки съдържанието на конзолата?

Google search изплюва само резултати за случая с gnu screen!

Благодаря предварително!


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: Demayl в Dec 12, 2011, 13:52
Пробвай в ~/.vimrc да добавиш
au VimLeave * !clear
Макар че като остава текстовия файл по този начин и можеш да си скролнеш зада видиш нещо набързо, но всеки си има мнение и възможност за персонализиране


P.S. По-добро от vim няма


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: synner в Dec 12, 2011, 14:01
Хмм, с au VimLeave * !clear се чисти, но не възстановява, каквото преди това е имало в конзолата (предишни изпълнени команди, техните резултати и т.н.)!


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: Demayl в Dec 12, 2011, 14:06
Принципно да, не е като в Linux-ите


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: synner в Dec 12, 2011, 14:11
А като ползвам vim през screen, работи точно както искам! :)
Няма ли начин да се оправи?

Ако е важно:
Цитат
[root@freebsd ~]# cat .screenrc
altscreen on
term xterm
shell -bash


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: Demayl в Dec 12, 2011, 14:25
Би трябвало да има начин, но досега не ми е било проблем че не се чисти изхода ( даже ми е удобно ), защото по цял ден пиша на vim-a . Виж в google, най-лесното е да се изпълни последната команда при изход на vim-a   >:D, а и screen-a е малко по-различно от терминала ти


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: synner в Dec 12, 2011, 14:59
Май тук ($2) намирам решение, но никога не съм ръчкал по termcap и ще счупя нещо! Алтернативата е да recompile vim с +xterm_save!
Съвети?



Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: synner в Dec 12, 2011, 15:19
Разгеле! Оправих го! Пиша как, за бъдещите поколения! :P
Реших да рекомпилирам!
Цитат
[root@freebsd ~]# cd /usr/ports/editors/vim
[root@freebsd /usr/ports/editors/vim]# vim Makefile

Дабавям някъде в началото: WITH_XTERM_SAVE=yes

[root@freebsd /usr/ports/editors/vim]# make clean && make install
...
...
...
===>   vim-7.3.121 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of editors/vim
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/editors/vim.

[root@freebsd /usr/ports/editors/vim]# make deinstall && make reinstall


И тръгна точно както искам! Даже и в screen си работи както исках!


Титла: Re: [Решен] FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: koue в Dec 12, 2011, 16:31
Да добавя, че не е необходимо да се редактира Makefile:

# make WITH_XTERM_SAVE=yes install


Титла: Re: FreeBSD: vim не си изтрива прозореца, когато излиза!
Публикувано от: Demayl в Dec 12, 2011, 17:24
Разгеле! Оправих го! Пиша как, за бъдещите поколения! :P
Реших да рекомпилирам!
Цитат
[root@freebsd ~]# cd /usr/ports/editors/vim
[root@freebsd /usr/ports/editors/vim]# vim Makefile

Дабавям някъде в началото: WITH_XTERM_SAVE=yes

[root@freebsd /usr/ports/editors/vim]# make clean && make install
...
...
...
===>   vim-7.3.121 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of editors/vim
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/editors/vim.

[root@freebsd /usr/ports/editors/vim]# make deinstall && make reinstall


И тръгна точно както искам! Даже и в screen си работи както исках!


Браво, малко препускане през поредния конфигурационен файл и сме готови  :) !
На мен даже ми харесва този проблем, защото ми е удобно като остава текста  ;)