Тонкая настройка vim (делимся полезностями в .vimrc. Вопросы задавайте в отдельных темах!)
Модератор: /dev/random
-
- Сообщения: 3
- ОС: Arch Linux
Re: Тонкая настройка vim
доброго времени суток
созрел тут вопрос...с недавних пор лабораторные работы по программированию принимают у нас исключительно при соблюдении венгерской нотации
так вот, можно ли как нибуть осуществить в vim'е, чтобы при объявлении он автоматически приписывал приставку в имени переменнной, исходя из заявленного типа (как то вроде: пишу "float a;", а он автоматически исправляет на "float fltA;" )
созрел тут вопрос...с недавних пор лабораторные работы по программированию принимают у нас исключительно при соблюдении венгерской нотации
так вот, можно ли как нибуть осуществить в vim'е, чтобы при объявлении он автоматически приписывал приставку в имени переменнной, исходя из заявленного типа (как то вроде: пишу "float a;", а он автоматически исправляет на "float fltA;" )
-
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Тонкая настройка vim
nextus писал(а): ↑16.09.2007 22:39с недавних пор лабораторные работы по программированию принимают у нас исключительно при соблюдении венгерской нотации
Пардон, но:
Рвать яйца тому, кто такое требует!
P.S. Я не против, когда кто-то самостоятельно ощущает силу венгерской нотации, но прививать такое ученикам - полнейший маразм.
P.P.S. По теме не скажу, с vim'ом работаю только по мелочи.
В дисгармонии со вселенной.
-
- Сообщения: 94
- ОС: ====8
Re: Тонкая настройка vim
Как использовать map для разных типов файлов?
У меня есть биндинги типа
imap ( ( )<Esc>hi
очень удобно при написании программ на Ц\Ц++,
Но при написании на bash пишем и получается что то типа $( TARGET ) а надо $(TARGET) т.к первую конструкцию баш не фрештейн
У меня есть биндинги типа
imap ( ( )<Esc>hi
очень удобно при написании программ на Ц\Ц++,
Но при написании на bash пишем и получается что то типа $( TARGET ) а надо $(TARGET) т.к первую конструкцию баш не фрештейн
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
-
- Сообщения: 94
- ОС: ====8
Re: Тонкая настройка vim
Всем спасибо за внимание... Решение пришло само собой
~/.vim/ftplugin/
Дайте чо нить почитать про написание собствннный плагинов. Чтоб продвинуться и смогать читать и модифицировать чужие, а то метод научного тыка что то не всегда работает
~/.vim/ftplugin/
Дайте чо нить почитать про написание собствннный плагинов. Чтоб продвинуться и смогать читать и модифицировать чужие, а то метод научного тыка что то не всегда работает
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
-
- Сообщения: 18
- ОС: Fedora 10, Ubuntu
Re: Тонкая настройка vim
To a1f
:help plugin <Ctrl+D>. Если пугает английский, скачайте ruVim. На официальнои сайте еще выложена книжка на 500 страниц -про плагины там також есть.
To fugo
Думаю, вам поможет :help backspace-delete
Я попробовал - у меня комбинация клавиш Ctrl+? Ctrl+H делает самый настоящий backspace
To fugo
У меня есть идея этакого костыля с помощью дополнения сокращений (смотри :help опечатки и :help сокращения (если нет рувима, то :help type-mistakes и :help abbreviations)). Идея такая - каждый, например, string считать опечаткой и заменять на string s.
Недостатки - непонятно, как быть, к примеру, с членами-данными класса.
To ALL
Ребята, ответьте, хотя бы на один из моих вопросов на предыдущей странице (которые "Серия вопросов"). Кстати, прибавился еще один - примерная схема работы плагина, который по нажатию комбинации клавиш на Названии класса (например \qw на QObject) запускал бы lynx (с помощью lynx.vim или в vimshell) в новом окошке и переходил бы на страницу /usr/doc/qt4/qobject.html
Пока придумал только наметки такого счастья, но с вызовом Konqueror и приостановки работы.
To eduard_pustobaev:
Эдуард, не оффтопьте, пожалуйста! Многие ссылаются на эту страничку форума как на большое подспорье изучающим vim - не надо его засорять
Дайте чо нить почитать про написание собствннный плагинов.
:help plugin <Ctrl+D>. Если пугает английский, скачайте ruVim. На официальнои сайте еще выложена книжка на 500 страниц -про плагины там також есть.
To fugo
а кто поможет мне.. тут такой трабл. у меня не работает backspace в vim... как его включить? а то при нажатие, выводится символ <?
Думаю, вам поможет :help backspace-delete
Код: Выделить всё
If you prefer backspace and delete in Insert mode to have the old behavior,
put this line in your vimrc:
[b]inoremap ^? ^H[/b]
Я попробовал - у меня комбинация клавиш Ctrl+? Ctrl+H делает самый настоящий backspace
To fugo
...можно ли как нибуть осуществить в vim'е, чтобы при объявлении он автоматически приписывал приставку в имени переменнной, исходя из заявленного типа (как то вроде: пишу "float a;", а он автоматически исправляет на "float fltA;" )
У меня есть идея этакого костыля с помощью дополнения сокращений (смотри :help опечатки и :help сокращения (если нет рувима, то :help type-mistakes и :help abbreviations)). Идея такая - каждый, например, string считать опечаткой и заменять на string s.
Недостатки - непонятно, как быть, к примеру, с членами-данными класса.
To ALL
Ребята, ответьте, хотя бы на один из моих вопросов на предыдущей странице (которые "Серия вопросов"). Кстати, прибавился еще один - примерная схема работы плагина, который по нажатию комбинации клавиш на Названии класса (например \qw на QObject) запускал бы lynx (с помощью lynx.vim или в vimshell) в новом окошке и переходил бы на страницу /usr/doc/qt4/qobject.html
Пока придумал только наметки такого счастья, но с вызовом Konqueror и приостановки работы.
To eduard_pustobaev:
Эдуард, не оффтопьте, пожалуйста! Многие ссылаются на эту страничку форума как на большое подспорье изучающим vim - не надо его засорять
-
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Тонкая настройка vim
ganqqwerty писал(а): ↑18.09.2007 02:58To eduard_pustobaev:
Эдуард, не оффтопьте, пожалуйста! Многие ссылаются на эту страничку форума как на большое подспорье изучающим vim - не надо его засорять
Всего-то пару постов... Не буду больше.
В дисгармонии со вселенной.
-
- Сообщения: 18
- ОС: Fedora 10, Ubuntu
Re: Тонкая настройка vim
Ура! Я наконец-то могу реализовать алгоритм показывания страниц html-справки!
1. По комбинации клавиш текущее слово захватывается и приобретает все строчные буквы вместо прописных
2. Затем к нему добавляется остальная часть имени и пути (для QObject - /usr/lib/qt4/doc/core/qobject.htm) и дается команде Lynx из плагина lynx.vim
Вуаля - в новом сплите страничка, аналогичная ассистантовской! Только поиска нема. Выложу плагин на vim.org, когда доделаю.
Кстати, недавно узрел плагин csupport - кратная справка по командам языка C. Тут же пришла мысль - а так ли уж сложно переделать гиперссылки с якорями на вимовские ссылочки? У кого какие идеи?
P.S. Жду ответов хакеров на другие мои вопросы... (предыдущая страница)
P.P.S. По-моему, о страничке забыли... Эх. Устроить, что ли, какой-нибудь холивар - Vim против Emacs или что-то в этом духе...
1. По комбинации клавиш текущее слово захватывается и приобретает все строчные буквы вместо прописных
2. Затем к нему добавляется остальная часть имени и пути (для QObject - /usr/lib/qt4/doc/core/qobject.htm) и дается команде Lynx из плагина lynx.vim
Вуаля - в новом сплите страничка, аналогичная ассистантовской! Только поиска нема. Выложу плагин на vim.org, когда доделаю.
Кстати, недавно узрел плагин csupport - кратная справка по командам языка C. Тут же пришла мысль - а так ли уж сложно переделать гиперссылки с якорями на вимовские ссылочки? У кого какие идеи?
P.S. Жду ответов хакеров на другие мои вопросы... (предыдущая страница)
P.P.S. По-моему, о страничке забыли... Эх. Устроить, что ли, какой-нибудь холивар - Vim против Emacs или что-то в этом духе...
-
- Сообщения: 37
- ОС: Ubuntu Linux 8.10
Re: Тонкая настройка vim
У нас в универе стали C# преподавать. Пишу на виме, компилю под моно. Так вот, кто нибудь юзал omnicppcomplete при редактировании C# файлов. Если кто юзал, поделитесь опытом плз.
hp nx8220 || Slackware 11 || icewm 1.2.28 Slackware 12 || icewm 1.2.27 XFCE 4.4.2
JID: black_wizard@unsorted.ru
JID: black_wizard@unsorted.ru
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Тонкая настройка vim
поискал в гугле про [авто-]фолдинг sql-файлов. к сожалению, ничего не нашлось.
может быть, кто-то где-то видел уже готовое решение?
а то глупо будет писать велосипед, если уже есть готовый (:
может быть, кто-то где-то видел уже готовое решение?
а то глупо будет писать велосипед, если уже есть готовый (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Тонкая настройка vim
поискал в теме, не нашел решения.
поэтому (возможно повторно):
Код: Выделить всё
map Ж :
cmap й q
cmap йф qa
cmap й! q!
cmap цй wq
ну, и по аналогии можно и других нужных наштамповать.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 116
Re: Тонкая настройка vim
Код: Выделить всё
cyclon[~]$ cat .vimrc
nmap <C-F9> :w!<CR>
nmap <C-F10> :q!<CR>
nmap <F2> :!
nmap <F9> :w<CR>
nmap <F10> :q<CR>
set background=dark
set backup
set expandtab
set hlsearch
set ignorecase
set incsearch
set nowrap
set tabstop=4
syntax on
Может кто даст ссылку, где можно на русском почитать описание всех опций? Чтобы составить свой супер-vimrc для мега-удобной работы
ЗЫ: Конфиг пока что вроде как у всех, единственное, мне очень нравится такая плющка: нажимаю F2, пишу, например ping example.com, жму ENTER и выполняется написанная команда Потом жму ENTER и опять возвращаюсь в vim. Очень удобно
-
- Сообщения: 132
- ОС: Slackware
Re: Тонкая настройка vim
а вот мой vimrc
использую плагины:
vimball, omnicppcomplete, matchit, errormarker, bufexplorer, a, doxygen-support, manpageview, NERD_commenter, taglist
использую плагины:
vimball, omnicppcomplete, matchit, errormarker, bufexplorer, a, doxygen-support, manpageview, NERD_commenter, taglist
У вас нет необходимых прав для просмотра вложений в этом сообщении.
slackware - linux for human brains
-
- Сообщения: 132
- ОС: Slackware
Re: Тонкая настройка vim
вдруг кто-то ЛОР не читает
неплохая статья по настройке vim+python
неплохая статья по настройке vim+python
slackware - linux for human brains
-
- Сообщения: 31
- ОС: Suse 10.2, Slackware 12
Re: Тонкая настройка vim
Вот такая мысль мне пришла на счет кавычек, что бы они автодополнялись можно сделать так:
но можно сделать и более интеллектуальное дополнение. Бывает, что надо добавить только одну кавычку, например случайно удалил закрывающую и тогда у тебя вместо одной вставится две, лишнию надо удалять ....
Лучше по моему сделать ф-ю которая будет вызываться при введение кавычки, данная ф-я будет считать количество кавычек в строке или во всем файле и если их будет нечетное количество с только что введеной кавычкой, то только тогда добавлять еще одну кавычку.
Да бы не изобретать велосипед хочу спросить кто-то встречался с такой реализацие, может где-то уже сделали что-то подобное или еще лучше ?
Код: Выделить всё
inoremap " ""<esc>i
но можно сделать и более интеллектуальное дополнение. Бывает, что надо добавить только одну кавычку, например случайно удалил закрывающую и тогда у тебя вместо одной вставится две, лишнию надо удалять ....
Лучше по моему сделать ф-ю которая будет вызываться при введение кавычки, данная ф-я будет считать количество кавычек в строке или во всем файле и если их будет нечетное количество с только что введеной кавычкой, то только тогда добавлять еще одну кавычку.
Да бы не изобретать велосипед хочу спросить кто-то встречался с такой реализацие, может где-то уже сделали что-то подобное или еще лучше ?
-
- Сообщения: 403
- ОС: Fedora 10
Re: Тонкая настройка vim
enov, основываясь на собственном опыте, могу сказать, что это не особо ускоряет ввод. То есть поставить вторую кавычку ручками не так трудно
-
- Сообщения: 355
- ОС: Gentoo
Re: Тонкая настройка vim
Кстати, в kate есть такаю штука, как "умный" <HOME>. Заключается она в том, что первое нажатие <HOME> отправляет на первый непустой символ, второе - на первый символ в строке. Я это реализовал так:(Вместо квадратиков - символ <C-V><C-[> (<C-V><HOME> дает ^[OH, а использование для этой цели строки "<HOME>" не работает у меня)). Может, будет полезно
Код: Выделить всё
imap OH <C-O>^
inoremap <C-O>^OH <C-O>0
-
- Сообщения: 4
- ОС: Fedora 7
Re: Тонкая настройка vim
Я вставил такой код в ~/.vimrc
теперь в каждом каталоге могу создавать файл vimrc с настройками, специфичными для этого каталога. Удобно при программировании.
Код:
function Loadrc()
if (filereadable("./vimrc"))
so ./vimrc
endif
endfunction
au VimEnter * call Loadrc()
теперь в каждом каталоге могу создавать файл vimrc с настройками, специфичными для этого каталога. Удобно при программировании.
-
- Сообщения: 3
Re: Тонкая настройка vim
http://spirali.ru/vim.tar.gz
мои кофиги. умное дополнение(по tab в insert mode) программ на python(http://spirali.ru/vim.jpg);
также c-mode,javascript, html, css очень много всего
мои кофиги. умное дополнение(по tab в insert mode) программ на python(http://spirali.ru/vim.jpg);
также c-mode,javascript, html, css очень много всего
-
- Сообщения: 355
- ОС: Gentoo
Re: Тонкая настройка vim
Хотел написать функцию, превращающую файл в HTML (с подсветкой синтаксиса). Оказывается, таковая функция уже имеется: Convert2HTML(startlinenum, endlinenum). Причём в справке об этом ни слова. Единственное но: функция не использует CSS, поэтому попробую я-ка переписать.UPD: Нет, CSS функция использует. И в справке присутствует, но не как функция, а как команда :TOhtml
Код: Выделить всё
localhost cups # equery list | grep vim
app-editors/vim-7.1.266
app-editors/vim-core-7.1.266
app-vim/alternate-2.15
app-vim/bnf-syntax-1.2-r1
app-vim/brainfuck-syntax-1.0.1
app-vim/cfengine-syntax-20050105
app-vim/ebnf-syntax-1.1-r1
app-vim/errsign-0.1
app-vim/eselect-syntax-20070506
app-vim/extra-syntax-2
app-vim/fluxbox-syntax-1.5
app-vim/genindent-1.0
app-vim/gentoo-syntax-20070506
app-vim/gtk-syntax-20060423
app-vim/help-extra-syntax-20050106-r1
app-vim/latexsuite-1.5.20060124
app-vim/locateopen-1.3
app-vim/nagios-syntax-20050105
app-vim/nerdcommenter-2.1.6
app-vim/ntp-syntax-20031001
app-vim/pam-syntax-20060424
app-vim/pgn-syntax-1.0
app-vim/selinux-syntax-20040707
app-vim/taglist-4.5
app-vim/toggle-1.3
app-vim/vimcommander-75
app-vim/vimpython-1.11
app-vim/wikipedia-syntax-20050212
app-vim/xquery-syntax-0.1-r1
app-vim/xsl-syntax-0.3.11-r1
-
- Сообщения: 228
- Статус: небритый гентушник
- ОС: Gentoo(PC)/easypeasy(Netbook)
Re: Тонкая настройка vim
не знаю было или нет, но вот кое-что нашёл....
set backspace=2 "разрешает забой через конец строки, автоотступ и начало вставки
set backspace=2 "разрешает забой через конец строки, автоотступ и начало вставки
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Если на вопрос ни кто не знает ответа, то пора читать описание.
Если на вопрос ни кто не знает ответа, то пора читать описание.
-
- Сообщения: 3
Re: Тонкая настройка vim
Может кто знает как с cvs нормально из vim работать? Есть замечательный плагин vcscommand, но он не позволяет показать список измененных файлов и из них выбрать какие соммитить(как в emacs). Может кто знает есть ли такая фича вообще?
-
- Сообщения: 1
- ОС: Ubuntu
-
- Сообщения: 2579
Re: Тонкая настройка vim
Ну что, ещё не пришло время? Вот сколько страниц надобавлено. Мне бы лично пригодилось, ибо всю тему перечитывать - это ППЦ.
-
- Сообщения: 132
- ОС: Slackware
Re: Тонкая настройка vim
100 Vim commands every programmer should know
добавить сюда еще * и #
vim.SlackBuild для автоматической сборки vim'а + патчи
добавить сюда еще * и #
vim.SlackBuild для автоматической сборки vim'а + патчи
slackware - linux for human brains
-
- Сообщения: 132
- ОС: Slackware
Re: Тонкая настройка vim
С удивлением обнаружил катастрофически медленную работу vim'а при редактировании docbook'а на 10к.
Покопавшись в vimrc нашел причину. Оказалось cursorline неимоверно тормозит работу.
По умолчанию я включаю подстветку текущей строки, но для xml сделал исключение, выключил.
Видимо дело в крупных абзацах, которые vim считает одной строкой и cursorline получается на несколько строк.
Покопавшись в vimrc нашел причину. Оказалось cursorline неимоверно тормозит работу.
По умолчанию я включаю подстветку текущей строки, но для xml сделал исключение, выключил.
Видимо дело в крупных абзацах, которые vim считает одной строкой и cursorline получается на несколько строк.
slackware - linux for human brains
-
- Сообщения: 283
- ОС: Slackware 12.2
Re: Тонкая настройка vim
Товарищи, после установки errormarker.vim у меня появляется данная строка:
В мануале читал, это вроде когда интерактивный ввод ждет(что-то типа того). Так вот, нельзя ли ее убрать как нибудь, излазил много ну никак не дошел еще до этого. Все работает неплохо только нажимать постоянно ентер после компиляции влом, я могу и в quickfix все посмотреть.
И еще такой вопрос, можно ли в errormarker поменять цвет ошибки на красный, а цвет предупреждения оставить желтым?
Press Enter or type command to continue
В мануале читал, это вроде когда интерактивный ввод ждет(что-то типа того). Так вот, нельзя ли ее убрать как нибудь, излазил много ну никак не дошел еще до этого. Все работает неплохо только нажимать постоянно ентер после компиляции влом, я могу и в quickfix все посмотреть.
И еще такой вопрос, можно ли в errormarker поменять цвет ошибки на красный, а цвет предупреждения оставить желтым?
Ich weiss, dass ich nichts weiss, aber wissen Sie es auch?
Завистники на что не взглянут,
подымут вечно лай,
А ты себе своей дорогою ступай,
Полают, да отстанут. Крылов
Завистники на что не взглянут,
подымут вечно лай,
А ты себе своей дорогою ступай,
Полают, да отстанут. Крылов
-
- Сообщения: 355
- ОС: Gentoo
Re: Тонкая настройка vim
Если кому-то нужно, то мой plugin для транслитерации:
http://kp-pav.narod.ru/translit2/translit2.vim.bz2
И HTML, сгенерированный «:TOhtml»:
http://kp-pav.narod.ru/translit2/translit2.html
Документация где-то в середине файла (388 строчка).
http://kp-pav.narod.ru/translit2/translit2.vim.bz2
И HTML, сгенерированный «:TOhtml»:
http://kp-pav.narod.ru/translit2/translit2.html
Документация где-то в середине файла (388 строчка).
-
- Сообщения: 132
- ОС: Slackware
-
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Тонкая настройка vim
Сенкс.
Уже стал генерить тэги по именам файлов:
Код: Выделить всё
ctags --extra=+f --langdef=file --langmap='file:.c.h.cpp' -R <dir>
Хотя, вот так даже лучше ибо сам ctags почему-то все файлы из папки <dir> заглатывал, а не только *.c *.h *.cpp:
Код: Выделить всё
find <dir> -type f -name "*.c" -o -name "*.h" -o -name "*.cpp" | ctags -L - --extra=+f --langdef=file --langmap='file:.c.h.cpp'
-
- Сообщения: 67
- ОС: openSUSE 11
Re: Тонкая настройка vim
вот нашел http://www.railmoon.com/ - описание вэри бест плагинов sourcecodeobedience и 0scan