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

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

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

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

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

Сообщение elide »

при правильном лангмапе для ввода, к примеру, того же :w всё равно надо перейти на латиницу -- это, я так понимаю, не лечится?..
это патчится (:
как-нибудь поделюсь.
слава роботам!
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Написал тут небольшой хауту Vim2IDE.
http://naplanetu.googlepages.com/vim2ide
Хотелось бы услышать комментарии =)
Спасибо сказали:
ioannes
Сообщения: 4

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

Сообщение ioannes »

pento писал(а):
01.05.2007 22:07
Написал тут небольшой хауту Vim2IDE.
http://naplanetu.googlepages.com/vim2ide
Хотелось бы услышать комментарии =)


Интересная статья, очень много полезного, спасибо.

У меня такой вопрос, несколько раз была нужда очистить файл от нулевых байтов (0x00) или просто найти какой-то конкретный знак по его ASCII коду, и я так и не смог найти, как можно искать знаки по их ASCII коду...

Я перерыл всю документацию входящую в дистр, но ничего нужного так и не нашел... Может расширение какое позволяет такой поиск?
Спасибо сказали:
Аватара пользователя
Хрюндель
Сообщения: 304
ОС: Сам не знаю

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

Сообщение Хрюндель »

У меня почему-то эта фишка с раскладкой клавиатуры не работает

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

set langmap=Ж:,йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ъ],фa,ыs,вd,аf,пg,рh,оj,лk,дl,э',яz,чx,сc,мv,иb,тn,ьm,б\,,ю.,ё`



Файл вроде в ютф сохраняется, а всё равно нажимаю на русские буквы, а ничего не происходит..

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

[root@jobber offline]# file .vimrc
.vimrc: UTF-8 Unicode text


В чём может быть проблема?
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

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

Сообщение sarutobi »

Хрюндель,
системная кодировка какая? не UTF-8 ? а то с ней эта строка некорректно работает - vim с ума сходит.
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
Хрюндель
Сообщения: 304
ОС: Сам не знаю

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

Сообщение Хрюндель »

sarutobi, UTF-8 вроде

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

[offline@jobber ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


Так а что теперь делать? Никак нельзя подстроить под UTF?
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

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

Сообщение diesel »

Хрюндель писал(а):
03.05.2007 12:28
Так а что теперь делать? Никак нельзя подстроить под UTF?

есть вариант с настройкой внутренней переключалки vim'а: set keymap=.... правда не совсем удобный ИМХО.
Спасибо сказали:
Аватара пользователя
Sonic
Сообщения: 478

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

Сообщение Sonic »

//off
pento, на ЛОРе как раз прочитал сейчас думаю, надо запостить ссылку.
А оказалось сам автор отметился.
LinuxForum.ru :: Форум пользователей ОС Linux
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

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

Сообщение sarutobi »

что то непонятное створится с опцией errorformat
пишу как обычно
let &errorformat="%f:l...," . &errorformat
а в clist попадают все строки, производимые make...
смотрю переменную efm, а там что то наподобие "%f%l%d%*%m"
как победить?
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
inline
Сообщения: 72
ОС: Gentoo

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

Сообщение inline »

Вопрос по использования VIM и Konsole: как можно сделать, чтобы имя открытого файла автоматически отображалось не только в заголовке окна, но и в названии вкладки?
Спасибо сказали:
Аватара пользователя
geshido
Сообщения: 17
ОС: Gentoo+ArchLinux+Ubuntu

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

Сообщение geshido »

/
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Может кто знает, как можно выделенный текст принудительно "врапнуть", то есть расставить принудительно переносы строк, скажем по 80 символов или по окончанию слов?
Подобная фишка есть в редакторе FAR под оффтопик.
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

pento писал(а):
08.05.2007 20:54
кажем по 80 символов или по окончанию слов?

пропустить через фильтр. :'<,'>!fold -w 80 -s например.
I'm a tragic hero
In this game called life
My chances go to zero
But I always will survive
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Dark_Savant, большое спасибо!
Спасибо сказали:
Аватара пользователя
Kain666
Сообщения: 131
ОС: Archlinux

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

Сообщение Kain666 »

Недавно открыл для себя vim.
Установив плагин NetDict у меня возник вопрос:
как сделать так, чтобы по нажатию определенной комбинации клавишь, он переводил слово под курсором ?
Archlinux <strike>ion3</strike>xmonad urxvt ncmpcpp emacs screen <strike>gajim</strike>qutim rtorrent
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

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

Сообщение BlackStar »

Например, так
map <F5> <leader>lcm
LightLang Team
Спасибо сказали:
Аватара пользователя
Kain666
Сообщения: 131
ОС: Archlinux

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

Сообщение Kain666 »

Пасибо
почитав help сам уже допер
(ps тока не lcm, а lcl)
Archlinux <strike>ion3</strike>xmonad urxvt ncmpcpp emacs screen <strike>gajim</strike>qutim rtorrent
Спасибо сказали:
Аватара пользователя
kadavr
Сообщения: 55
ОС: MOPS 5.1

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

Сообщение kadavr »

класс! Полезная тема!
Хотел вот узнать, как можно сделать в Виме пару фишек как в навороченных графических IDE
1. Если у меня есть некий объект object и я ввожу
object->
или
object.
хотелось бы, чтобы вываливалась менюшка с методами и переменными этого объекта (именно этого. то есть обычное автодополнение по всем словам из файла не подходит)
2. Не знаю где как, но в Эклипсе есть разные шаблоны. Например, для цикла for есть несколько шаблонов: для перебора массива, ArrayList'а и т.д. (для джавы, естественно). Ну и, конечно, можно создавать свои шаблоны. И когда я ввожу for, нажимаю сочетание клавиш и вываливается список с возможными вариантами автодополнения. Вобщем хочется в Виме такое же.

Прочитав эту тему, я уже убедился, что практически ничего невозможного в Виме нет, так что надеюсь, что кто-нибудь подскажет :)
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

kadavr писал(а):
16.05.2007 20:08
хотелось бы, чтобы вываливалась менюшка с методами и переменными этого объекта (именно этого. то есть обычное автодополнение по всем словам из файла не подходит)

omni completion
I'm a tragic hero
In this game called life
My chances go to zero
But I always will survive
Спасибо сказали:
Аватара пользователя
egge
Сообщения: 11
ОС: Gentoo ~x86

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

Сообщение egge »

Помогите переделать project.vim так, чтобы открывался в новом табе, а не в новом буфере.
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

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

Сообщение sarutobi »

egge, а как ты себе это представляешь?
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

kadavr писал(а):
16.05.2007 20:08
2. Не знаю где как, но в Эклипсе есть разные шаблоны. Например, для цикла for есть несколько шаблонов: для перебора массива, ArrayList'а и т.д. (для джавы, естественно). Ну и, конечно, можно создавать свои шаблоны. И когда я ввожу for, нажимаю сочетание клавиш и вываливается список с возможными вариантами автодополнения. Вобщем хочется в Виме такое же.

Я сделал это с помощью аббревиатур
пример

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

iabbrev dbg echo '<pre>';<CR>print_r( );<CR>echo '</pre>';<CR>

Читаем мануал =) :h Abbreviations
Так же подобное можно реализовать с помощью скриптов - попробуй поискать на www.vim.org
Спасибо сказали:
Аватара пользователя
kadavr
Сообщения: 55
ОС: MOPS 5.1

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

Сообщение kadavr »

pento писал(а):
17.05.2007 08:45
Я сделал это с помощью аббревиатур
пример

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

iabbrev dbg echo '<pre>';<CR>print_r( );<CR>echo '</pre>';<CR>

Читаем мануал =) :h Abbreviations
Так же подобное можно реализовать с помощью скриптов - попробуй поискать на www.vim.org

а разве можно с помощью аббревиатур сделать несколько шаблонов для одного ключевого слова? :blush:
Спасибо сказали:
Аватара пользователя
kadavr
Сообщения: 55
ОС: MOPS 5.1

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

Сообщение kadavr »

Dark_Savant писал(а):
16.05.2007 20:19
omni completion

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

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

файл tags создается, но методы и переменные классов туда не попали почему-то. То есть там в .с файле несколько классов, в каждом несколько функций, но ни одна из них не попала в файл tags и естественно не дополняется. Разве так надо? что делаю не так? версия ctags -- 5.5.4
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

kadavr писал(а):
17.05.2007 22:18
а разве можно с помощью аббревиатур сделать несколько шаблонов для одного ключевого слова? blush.gif


То есть? А зачем тебе такое?
Спасибо сказали:
Аватара пользователя
kadavr
Сообщения: 55
ОС: MOPS 5.1

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

Сообщение kadavr »

pento писал(а):
18.05.2007 05:40
То есть? А зачем тебе такое?

ну например несколько вариантов для того же цикла for. К примеру

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

for(int i=0;i<someArray.length;i++){

}

или такой для перебора collection(в java)

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

for (Iterator iter = collection.iterator(); iter.hasNext();) {
            type element = (type) iter.next();

        }

и ещё классно было бы, чтобы после такого дополнения курсор скакал по некоторым словам, например в этом примере -- по словам collection, type, как допустим в Eclipse. Удобная вещь

ЗЫ. с ctags проблема решилась установкой версии ctags-5.6
Спасибо сказали:
enov
Сообщения: 31
ОС: Suse 10.2, Slackware 12

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

Сообщение enov »

kadavr писал(а):
18.05.2007 20:15
ну например несколько вариантов для того же цикла for. К примеру

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

for(int i=0;i<someArray.length;i++){

}

или такой для перебора collection(в java)

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

for (Iterator iter = collection.iterator(); iter.hasNext();) {
            type element = (type) iter.next();

        }

и ещё классно было бы, чтобы после такого дополнения курсор скакал по некоторым словам, например в этом примере -- по словам collection, type, как допустим в Eclipse. Удобная вещь

ЗЫ. с ctags проблема решилась установкой версии ctags-5.6


посмотри http://www.vim.org/scripts/script.php?script_id=1160 , сам недавно нашел.
Спасибо сказали:
enov
Сообщения: 31
ОС: Suse 10.2, Slackware 12

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

Сообщение enov »

Расскажите, пожалуйста, кто работает с PHP5, как решили проблему с тем, что ctags не поддерживает полностью PHP5 ?
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

enov,
Посмотри вот это
http://forum.agiledev.ru/index.php?t=msg&...mp;start=0&
Спасибо сказали:
enov
Сообщения: 31
ОС: Suse 10.2, Slackware 12

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

Сообщение enov »

Смотрел, не получилось, работаю в винде.
Делал так:
1. поставил cygwin
2. скачал патченую версию ctags-5.6 (http://agiledev.ru/tools/ctags56-cygwin-php5-patched.zip) и кинул ее в папочку WINDOWS

результаты:
запуск из консоли
--------------
D:\temp\1>ctags 1.php
Файл ввода определялся дважды.

ctags: cannot sort tag file : No such file or directory
---------------
файл с тегами создается.

Но вот с плагином taglist проблемы - при вызове ф-и :TlistToggle получаю следующую ошибку
Taglist: Failed to generate tags for D:\temp\1\1.php
D:\temp\1\>c:\windows\ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --lan
guage-force=php --php-types=cdvf "D:\temp\1\1.php"
ctags: cannot open temporary file : No such file or directory
и в тегах ничего не получаю.

немного покопавшись, выяснил, что дело в опции -f . При стандартном ctags.exe получают такие результаты
----------------
D:\temp\1>ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --language-force=php --php-types=cdvf "D:\temp\1\1.php"
a D:\temp\1\1.php /^$a = 10;$/;" v line:35
b D:\temp\1\1.php /^$b = new c1();$/;" v line:36
c1 D:\temp\1\1.php /^class c1 $/;" c line:12
test2 D:\temp\1\1.php /^ function test2() $/;" f line:27
----------------

Используя патченую версию
-----------------
D:\temp\1>ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --la
nguage-force=php --php-types=cdvf "D:\temp\1\1.php"
ctags: cannot open temporary file : No such file or directory
----------------

Теперь про опцию -f, эта опция задает имя файла тега, знак - (минус) используется для выдачи информации на стандартное устройство. Получается что эта опция не работает корректно со знаком - .
Спасибо сказали: