Тонкая настройка vim (делимся полезностями в .vimrc. Вопросы задавайте в отдельных темах!)

и другие vi-подобные редакторы

Модератор: /dev/random

Jot
Сообщения: 2
ОС: ASPLinux

Re: Тонкая настройка vim

Сообщение Jot »

Привет всем! Я совсем недавно стал пользоваться vim. Очень даже ничего :)
Ну вот такая проблема: хочется из всего этого сделать полноценную IDE, но пока не получается
Нашел в инете такую ссылку:
http://www.vim.org/scripts/script.php?script_id=1254

Вроде как скрипт запускается (пишет Press <F5> to start debugging ...), но ни одна кнопка не работает. Т.е. на F5 не реагирует, точки останова (F6) не ставятся и т.д.
Через S-! + F5 видно что клавишам команды присвоены
Может что-то с настройками не так? Подскажите кто знает.
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0
Контактная информация:

Re: Тонкая настройка vim

Сообщение sarutobi »

Возможно я ошибаюсь, но этот скрипт работоспособен только под Windows. По крайней мере скриншот на это намекает однозначно :). И нечто похожее (и только под Windows) я видел на том же www.vim.org (как назывался не помню).
Вообще для псевдо-IDE я использую скрипт Project (список файлов проекта), довольно таки удобно. Для отладки использую gdb или DDD, первый в отдельной консоли (скрипт искать/писать просто лень).
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Jot
Сообщения: 2
ОС: ASPLinux

Re: Тонкая настройка vim

Сообщение Jot »

Жаль что только под Windows :(
Хотя идея очень интересная!
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Тонкая настройка vim

Сообщение elide »

попробуйте http://clewn.sourceforge.net/
слава роботам!
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

Собственно, немного поднастроил вим..=)
А для С/С++ нашёл замечательный плугин csupport

Собственно, сейчас сделано:
* Обновлён .vimrc
* Настройки для php/c/c++ вынесены в отдельные конфиги
* Для php включена дира с маном + tags = быстрый просмотр функций по ctrl + w ctrl+}, добавлен словарь от Расмуса
* Для С/С++ собственно сам немного настроенный csupport + обновлённый файл синтаксиса (с поддержкой STL)
* Ну и так по мелочам...
Спасибо сказали:
~S/E/r/G~
Сообщения: 220
ОС: Debian 4.0
Контактная информация:

Re: Тонкая настройка vim

Сообщение ~S/E/r/G~ »

http://cream.sourceforge.net/
ещё один макрос на вим облегчающий работу с ним (не надо перключатся в режими при редактировании и тп)
debian 4.0: kernel-2.6.18 | Xorg7.2 (fglrx) | Xfce 4.4
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Тонкая настройка vim

Сообщение Warderer »

~S/E/r/G~ писал(а):
30.10.2006 10:49
http://cream.sourceforge.net/
ещё один макрос на вим облегчающий работу с ним (не надо перключатся в режими при редактировании и тп)

И который убивает автоматом весь стиль работы в vim и, по этой причине, скорость редактирования, особенно заметную га больших объёмах текста. В vim отнюдь не зря сделано разделение по режимам.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
duduk
Сообщения: 59
ОС: Ubuntu 12.04 LTS

Re: Тонкая настройка vim

Сообщение duduk »

Сложно объяснить, но есть такая проблема:
До этого работал в текстовом режиме под freebsd и подобного
не было. Сейчас запускаю vim из терминала среды XFCE.
Навигироваться я привык стрелочкми на клавиатуре.
Например набираю что-то в INSERT-mode, потом нажимаю ESC для выхода в нормальный режим, и сразу стрелочкой или PgUp/Down куда-то побежал и
вместо того чтобы слущаться, он зараза вырисовывает некий символ
(а именно большую букву A,B, ...) и снова входит в режим INSERT, если после нажатия ESC выждать секунду - такого не происходит.
Пробовал запускать в xterm и в gvim такаяже ерунда :angry:
Выжидать секунду я как-то совсем не привык, да и времени сколько теряется
при работе с программой :D
Хотел узнать, как люди с этим борятся.


Вобщем я оказался сам себе чебурашка.
В .vimrc стоял такой маппинг:

Код: Выделить всё

imap <Esc><Esc> <Esc>:q<CR>

Он-то и давал вышеизложенный эффект, маппинг убрал, теперь все гладко везде :)
Спасибо сказали:
Аватара пользователя
duduk
Сообщения: 59
ОС: Ubuntu 12.04 LTS

Re: Тонкая настройка vim

Сообщение duduk »

Вместо строки статуса у меня рулер, ибо строка статуса съедает цельную строку,
а их и так мало (всего 24 :)

Код: Выделить всё

set ruler       " show the cursor position all the time
set rulerformat=%22(%c,%l\ %b\ 0x%B\ %o\ %p%%%)
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

Не могу понять почему, но перестало работать вот такое:
/* <здесь жмём Enter>
<Здесь появляется символ *><Enter>

set comments = s1:/*,mb:*,ex:*/
не помогает :o
Спасибо сказали:
grishkin9
Сообщения: 1

Re: Тонкая настройка vim

Сообщение grishkin9 »

Как можно в vim добавить свёртку функций и любых блоков выделенных так { <тело> }, т.е. как в любой ide
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Тонкая настройка vim

Сообщение sash-kan »

grishkin9
:h folding
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
jsv
Сообщения: 67

Re: Тонкая настройка vim

Сообщение jsv »

pento писал(а):
01.11.2006 09:05
Не могу понять почему, но перестало работать вот такое:
/* <здесь жмём Enter>
<Здесь появляется символ *><Enter>

set comments = s1:/*,mb:*,ex:*/
не помогает :o

:set fo+=cr ?
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

jsv
Блин, я уже чуть вим переставлять не стал =)
Огромное спасибо!
Спасибо сказали:
Аватара пользователя
black_wizard
Сообщения: 37
ОС: Ubuntu Linux 8.10

Re: Тонкая настройка vim

Сообщение black_wizard »

Доброго всем времени суток.
Есть ли в виме какой-нибудь скрипт, который показывает подсказку по параметрам функции... Объясню на примере: в Дельфи например, когда пишем имя функции, а затем ставим открывающую скобку, чуть выше показываются параметры функции, и жирным еще выделяется параметр, который редактируется сейчас.
Заранее спасибо
hp nx8220 || Slackware 11 || icewm 1.2.28 Slackware 12 || icewm 1.2.27 XFCE 4.4.2
JID: black_wizard@unsorted.ru
Спасибо сказали:
Аватара пользователя
inline
Сообщения: 72
ОС: Gentoo

Re: Тонкая настройка vim

Сообщение inline »

А можно ли сделать автозакрытие html и xml тэгов?
Например, ввжу

а вим автоматически дописывает
Спасибо сказали:
Аватара пользователя
black_wizard
Сообщения: 37
ОС: Ubuntu Linux 8.10

Re: Тонкая настройка vim

Сообщение black_wizard »

Сфинкс писал(а):
12.11.2006 16:45
black_wizard
http://insenvim.sourceforge.net/

Сфинкс, спасибо, но увы...
It is NOT ported to Linux/Unix :(
hp nx8220 || Slackware 11 || icewm 1.2.28 Slackware 12 || icewm 1.2.27 XFCE 4.4.2
JID: black_wizard@unsorted.ru
Спасибо сказали:
Аватара пользователя
duduk
Сообщения: 59
ОС: Ubuntu 12.04 LTS

Re: Тонкая настройка vim

Сообщение duduk »

black_wizard писал(а):
11.11.2006 23:24
Доброго всем времени суток.
Есть ли в виме какой-нибудь скрипт, который показывает подсказку по параметрам функции... Объясню на примере: в Дельфи например, когда пишем имя функции, а затем ставим открывающую скобку, чуть выше показываются параметры функции, и жирным еще выделяется параметр, который редактируется сейчас.
Заранее спасибо


В vim 7 есть такая штука-дрюка "Omni completion" - CTRL-X CTRL-O, правда по умолчанию поддерживаются только эти языки:

Код: Выделить всё

C
(X)HTML with CSS
JavaScript
PHP
Python
Ruby
SQL
XML


Кстати когда она срабаывает - наверху появляется маленькое preview окошко с описанием функции,
и не изсчезает, а загораживает рабочее пространство, может кто знает как сделать чтобы оно акже автоматом
убиралось ?
Спасибо сказали:
Аватара пользователя
black_wizard
Сообщения: 37
ОС: Ubuntu Linux 8.10

Re: Тонкая настройка vim

Сообщение black_wizard »

За OmniCompletion спасибо. Поставил, разобрался, теперь изучение QT станет удобнее :).
Насчет Preview окна... Посидел ночку, поразбирался в вимовском скриптовом языке и вот до чего додумался:

Код: Выделить всё

func CloseScratch()
    if bufname("%")==""
        :exe ":bdelete ".bufnr("%")
    endif
endfunc

inoremap ) <Esc>:windo exe ":call CloseScratch()"<cr>a)

Кривовато конечно, но работает. Скрипт закрывает Scratch окно когда вводим закрывающую скобку.
hp nx8220 || Slackware 11 || icewm 1.2.28 Slackware 12 || icewm 1.2.27 XFCE 4.4.2
JID: black_wizard@unsorted.ru
Спасибо сказали:
Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Тонкая настройка vim

Сообщение JaGoTerr »

inline писал(а):
12.11.2006 17:09
А можно ли сделать автозакрытие html и xml тэгов?
Например, ввжу

а вим автоматически дописывает

Можно. см. http://www.vim.org/scripts/script.php?script_id=1397
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0
Контактная информация:

Re: Тонкая настройка vim

Сообщение sarutobi »

Блин, подскажите а то забыл :)
К виму прикручен плагин SVN. при отправке новой версии открывается scratch окно (при этом прячется текущее окно). Я банально забыл как вернуться из нового окна в предыдущее :(
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
duduk
Сообщения: 59
ОС: Ubuntu 12.04 LTS

Re: Тонкая настройка vim

Сообщение duduk »

black_wizard писал(а):
20.11.2006 07:26
...
inoremap ) <Esc>:windo exe ":call CloseScratch()"<cr>a)[code]
Кривовато конечно, но работает. Скрипт закрывает Scratch окно когда вводим закрывающую скобку.


Оо.. это прикольная тема, заюзал :)

А можно ли сделать автозакрытие html и xml тэгов?


omnicompletion это тоже умеет, только надо в vimrc дописать:

Код: Выделить всё

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags


Вот демо: http://amix.dk/blog/viewEntry/19021

так что переходите на vim7 ;)

Блин, подскажите а то забыл smile.gif
К виму прикручен плагин SVN. при отправке новой версии открывается scratch окно (при этом прячется текущее окно). Я банально забыл как вернуться из нового окна в предыдущее


C-W c ? :q ? :bd ? Конечно эта система с окнами, буферами, а теперь еще и табами - та еще
головоломка :blink:
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

Код: Выделить всё


for (;;) {<жмём Ctrl+Enter> и получаем

for (;;) {
    |
}

Может кто подскажет как сделать?
Просто вот такое
inoremap { {<CR>}<C-O>O
Напрягает, что везде, где ставится { появляется блок {..}
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

В общем, кому интересно, пока что обошёлся вот такой аббревиатурой

Код: Выделить всё

iabbrev ${ {<CR>}<C-O>O
Спасибо сказали:
Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Тонкая настройка vim

Сообщение JaGoTerr »

pento
имхо, гораздо удобнее:

Код: Выделить всё

imap {<CR> {<CR>}<Esc>O
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

JaGoTerr
А у меня такое не работает почему-то... :(
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: Тонкая настройка vim

Сообщение pento »

Блин заработало =)
Спасибо!
Спасибо сказали:
vak
Сообщения: 4

Re: Тонкая настройка vim

Сообщение vak »

Добрый всем день.
Никак не получается настроить цветовую схему в vim (7.0.122)
Остается стандартная (черный фон - белый текст). Мне нужна только консоль.
Перечитал всю ветку на этом форуме по настройке vim. Ничего не помогает.
На данный момент все настройки по дефолту, так как накуралесил я в них не мало.
Вот мой (дефолт) vimrc :

Код: Выделить всё

" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible        " Use Vim defaults instead of 100% vi compatibility
set backspace=indent,eol,start  " more powerful backspacing

" Now we set some defaults for the editor
set autoindent          " always set autoindenting on
" set linebreak         " Don't wrap words by default
set textwidth=0         " Don't wrap lines by default
set backupcopy=yes      " Keep a backup file
set viminfo='20,\"50    " read/write a .viminfo file, don't store more than
                        " 50 lines of registers
set history=50          " keep 50 lines of command line history
set ruler               " show the cursor position all the time

" Suffixes that get lower priority when doing tab completion for filenames.
" These are files we are not likely to want to edit or read.
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.
inx,.out,.toc

" We know xterm-debian is a color terminal
if &term =~ "xterm-debian" || &term =~ "xterm-xfree86"
  set t_Co=16
  set t_Sf=^[[3%dm
  set t_Sb=^[[4%dm
endif

" Make p in Visual mode replace the selected text with the "" register.
vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
  syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
  set background=dark

if has("autocmd")
 " Enabled file type detection
 " Use the default filetype settings. If you also want to load indent files
 " to automatically do language-dependent indenting add 'indent' as well.
 filetype plugin on

endif " has ("autocmd")

" Some Debian-specific things
augroup filetype
  au BufRead reportbug.*                set ft=mail
  au BufRead reportbug-*                set ft=mail
augroup END

" Set paper size from /etc/papersize if available (Debian-specific)
try
  if filereadable('/etc/papersize')
    let s:papersize = matchstr(system('/bin/cat /etc/papersize'), '\p*')
    if strlen(s:papersize)
      let &printoptions = "paper:" . s:papersize
    endif
    unlet! s:papersize
  endif
catch /E145/
endtry

" The following are commented out as they cause vim to behave a lot
" different from regular vi. They are highly recommended though.
"set showcmd            " Show (partial) command in status line.
"set showmatch          " Show matching brackets.
"set ignorecase         " Do case insensitive matching
"set incsearch          " Incremental search
"set autowrite          " Automatically save before commands like :next and :make

Что нужно добавить в ~/.vimrc чтобы появилась подсветка синтаксиса?
Спасибо сказали:
Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Тонкая настройка vim

Сообщение JaGoTerr »

Подозреваю, что ты используешь xterm и проблемы именно в нём.
Попробуй другие терминалы. aterm или Terminal, например.
Спасибо сказали:
Ответить