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

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

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

sdk
Бывший модератор
Сообщения: 210

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

Сообщение sdk »

madskull,
а я и не знал :). И, можно меня на "ты"? Так привычней как-то :).
jsv, thanx.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

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

Сообщение madskull »

sdk писал(а):
04.07.2006 23:48
madskull,
а я и не знал :). И, можно меня на "ты"? Так привычней как-то :).

Да я просто скопировал пост pento :)
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10
Контактная информация:

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

Сообщение BlackStar »

Где то видел, не могу найти, как сделать чтоб при открытии файла vim переходил в директорию файла?
LightLang Team
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

BlackStar писал(а):
05.07.2006 16:18
Где то видел, не могу найти, как сделать чтоб при открытии файла vim переходил в директорию файла?

что-нибудь вроде

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

function! Safe_cd ()
    let path=expand('%:h')
    let path=substitute(path,"^.\\{-1,}:","","")
    if isdirectory(path)
        execute "cd " . path
    endif
endfunction

au BufEnter * call Safe_cd()
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

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

Сообщение sdk »

Не, там была какая-то опция. Делаешь 'set вот_та_самая_загадочная_опция' и он начинает сменять директорию автоматически.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

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

Сообщение madskull »

(что-то мне совсем не нравится новый C-N. Раньше было очень здорово - дополнялось слово, которое уже есть в файле. Я использовал это для дополнения своих переменных. Теперь дурдом. Непонятно, из каких соображений он то подставляет сразу, то сканирует файлы и выводит список)
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
JaGoTerr
Сообщения: 380

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

Сообщение JaGoTerr »

(sdk @ Jul 6 2006, в 01:32) писал(а):Не, там была какая-то опция.

set acd
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

sdk писал(а):
06.07.2006 01:32
Не, там была какая-то опция. Делаешь 'set вот_та_самая_загадочная_опция' и он начинает сменять директорию автоматически.

А, да, есть такая... autochdir (:helpgrep рулит)
Гмм, век живи, век учись, всё равно все опции вима не выучишь :)
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10
Контактная информация:

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

Сообщение BlackStar »

Еще один вопрос ( переезжаю на Vim :) ), как в HTML вырезать все скрипты (JavaScript) ?
LightLang Team
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

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

Сообщение Warderer »

BlackStar писал(а):
06.07.2006 11:13
Еще один вопрос ( переезжаю на Vim :) ), как в HTML вырезать все скрипты (JavaScript) ?

Написать регулярное выражение внутри оператора :%s/<регуляр>//g
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

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

Сообщение sdk »

У меня сегодня тоже вопрос созрел :).

Есть ли возможность настроить вим так, чтобы когда при компиляции выскакивают и warning-и, и ошибки, то чтобы он прыгал только по ошибкам?
Если нету опции, может кто знает (или догадывается), как реализовать это ручками?

Тем, кто скажет мне, что warning-и нужно чинить в любом случае, я возражу тем, что эти warning-и понаставил я сам (директивой препроцессора #warning ...) дабы потом не забыть исправить то что мне обязательно нужно исправить :).
Файл большой и поставив #warning в одном месте, я начинаю править другое, а при перекомпиляциях вим постоянно кидает меня к строчке с моим warning-ом. Это достает.

Короче, давайте исходить из того, что warning-и есть и все тут. Как заставить вим их игнорировать?
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

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

Сообщение ety »

sdk писал(а):
06.07.2006 22:31
Есть ли возможность настроить вим так, чтобы когда при компиляции выскакивают и warning-и, и ошибки, то чтобы он прыгал только по ошибкам?
Если нету опции, может кто знает (или догадывается), как реализовать это ручками?

а он вроде и прыгает :blink: но попробуй их через sed пустить, на ошибки :)

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

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

Сообщение Dark_Savant »

(madskull @ Jul 6 2006, в 02:24) писал(а):(что-то мне совсем не нравится новый C-N. Раньше было очень здорово - дополнялось слово, которое уже есть в файле. Я использовал это для дополнения своих переменных. Теперь дурдом. Непонятно, из каких соображений он то подставляет сразу, то сканирует файлы и выводит список)

так-же и работает, только теперь менюшку выводит.
I'm a tragic hero
In this game called life
My chances go to zero
But I always will survive
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

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

Сообщение madskull »

(Dark_Savant @ Jul 6 2006, в 23:40) писал(а):так-же и работает, только теперь менюшку выводит.

Не так же.
Во-первых, он сканирует подключенные перловые модули (?), что занимает некоторое время и сбивает.
Во-вторых, он выводит все найденные вырианты, а не то, что набито мной в текущем сеансе.
В-третьих, что-то я так и не понял (хотя, особенно и не вникал) разницы между C-N, C-X C-D, C-X C-I и других C-X....
ArchLinux / IceWM
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

madskull писал(а):
07.07.2006 08:25
Во-первых, он сканирует подключенные перловые модули (?), что занимает некоторое время и сбивает.
Во-вторых, он выводит все найденные вырианты, а не то, что набито мной в текущем сеансе.
В-третьих, что-то я так и не понял (хотя, особенно и не вникал) разницы между C-N, C-X C-D, C-X C-I и других C-X....

Поведение C-n контролируется опцией complete, соответственно, в первом случае поможет set complete-=i.
Но вообще да, систему нагородили нескучную, как взаимодействуют completefunc, omnifunc и обычное дополнение, я ещё сам толком не разобрался. :)
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

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

Сообщение sdk »

ety, отличная идея, спасибо!

А чтобы не прыгал, нужно писать не ":make", а ":make!"
Только что вычитал в мануале. Возможно это и для меня выход.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Pieron
Сообщения: 51

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

Сообщение Pieron »

Мой конфиг. может понадобиться кому то. Хотя никаких особо идей там нет.

Вопрос про OmniCompletion все еще остается в силе. Буду благодарен, если укажите что я делаю не так.

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

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

Сообщение pento »

KDE 3.4, Terminal
vim 7.x
Проблема: не работает ctrl + PageUp/PageDown для перемещения между табами
Подскажите как пофиксить?
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

запустить этот самый kde terminal, в нем vim ~/.vimrc
набираем map ^Vтребуемая_комбинация требуемое_действие, аналогично для imap, vmap.
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
нечиго не заработало к сожалению -> перешёл на использование страндарт вимовских gt & gT
дома в гноме всё работает на ура
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

И ещё, никто не в курсе есть ли в виме возможность показа вертикальной линии границы аля 80 символов?
просто в мане не смог этого найти =(
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

(pento @ Jul 18 2006, в 07:38) писал(а):нечиго не заработало к сожалению

значит что-то делалось не так.
(pento @ Jul 18 2006, в 12:26) писал(а):И ещё, никто не в курсе есть ли в виме возможность показа вертикальной линии границы аля 80 символов?

как понять "вертикальной линии" ? если ограничить строку длиной в 80 символов, то set tw=80
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 @ Jul 18 2006, в 15:57) писал(а):как понять "вертикальной линии" ? если ограничить строку длиной в 80 символов, то set tw=80

немного нето =)
в некоторых ide (например ZendStudio и последний KDevelop) помимо "жестоко" ограничения, когда строка просто переносится, есть ещё и вертикальная линия для визуального ограничения ( появляется обыкновенная верт. линия с регулируемым отступом от левого края ) количества символов в строке...так сказать для удобства юзера.
Спасибо сказали:
bear-cub
Сообщения: 20

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

Сообщение bear-cub »

не подскажете что надо подкрутить, ситуация такая
в vimrc установлена опция set iskeyword+=а-я,А-Я,[,],{,}
в GUI интерфейсе все нормально, а в консоли не работает :(((
(т.е. клавиша w не перемещает на слово вперед, а всего на пару букв...)

vim под windows, кодировка vimrc файла cp1251
опция scriptencoding cp1251 не помогает.

Если поможет, весь vimrc:

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

set nocompatible
scriptencoding cp1251

set fileformat=dos              "задаёт значение символа конца строки <CR> <NL>
set fileencoding=cp1251
set fileencodings=cp1251,cp866,utf-8,koi8-r

set keymap=russian-jcukenwin    "Установка раскладки клавиатуры (русской)
set iminsert=0                  "Включение "родной" раскладки (english)

"Настройки русской локали для VIM
set langmenu=ru_ru
set helplang=ru,en

if has('gui_running')
  set encoding=cp1251
  set termencoding=utf-8
  lang mes ru_RU.cp1251           "Файл сообщений
  colorscheme desert              "Цветовая схема
  set guifont=Courier_New:h14:w8:cRUSSIAN
else
  set encoding=8bit-cp866
  set termencoding=8bit-cp866
  lang mes ru_RU.cp866
  colorscheme default              "Цветовая схема
endif

set iskeyword+=а-я,А-Я,[,],{,}

"Раскладка клавиатуры
set keymap=russian-jcukenwin    "Установка раскладки клавиатуры (русской)
set iminsert=0                  "Включение "родной" раскладки (english)
map <M-Shift> <C-^>|

"imap <M-d> <C-K>|               "Замена способа ввода диграфа на <Alt-D> не работает :(

"Движение вверх/вниз
nmap j gj|                      "Переход на след. строку экрана (заметно, когда строка не влезает целикомш)
nmap <C-J> <C-E>|               "Прокрутка экрана вверх на одну строку
imap <C-J> <C-X><C-E>|          "Прокрутка экрана вверх на одну строку (режим вставки)

nmap k gk|                      "Переход на след. строку экрана (заметно, когда строка не влезает целикомш)
nmap <C-K> <C-Y>|               "Прокрутка экрана вверх на одну строку
imap <C-K> <C-X><C-Y>|          "Прокрутка экрана вверх на одну строку (режим вставки)

"Движение в режиме вставки
imap <M-h> <C-O>h|              "Прокрутка в лево (<Alt+h>)
imap <M-l> <C-O>l|              "Прокрутка в право (<Alt+l>)
imap <M-k> <C-O>k|              "Прокрутка ввверх (<Alt+k>)
imap <M-j> <C-O>j|              "Прокрутка вниз (<Alt+j>)

nmap <S-Return> i<CR><ESC>|
nmap ) $|                       "Переход на посл. симв. строки по Shift-0

nmap <F10> :qa<CR>|             "Закрыть все и выйти

"Вкл/выкл отображения номеров строк
imap <F1> <Esc>:set<Space>nu!<CR>a
nmap <F1> :set<Space>nu!<CR>

"Переход по окнам
nmap <F7> <C-W>k<C-W>_          "окно вверх
imap <F7> <Esc><C-W>k<C-W>_a    "окно вверх
nmap <F8> <C-W>j<C-W>_          "окно вниз
imap <F8> <Esc><C-W>j<C-W>_a    "окно вниз

"Total Comander
noremap <silent> <F11> :cal VimCommanderToggle()<CR>|
let g:vimcommander_shallcd=1    "Устанавливает текущей активную дерикторию
                                "командера

"Доп. функций
set noswapfile                  "Отключает использование swap файла
set vb                          "Включает "Визуальный звонок" (моргает а не бибикает)

set expandtab                   "Вставлять пробелы а не табы
set softtabstop=4               "Величена отступа (таба)

set ignorecase                  "Не различать строчние\прописные
set autoindent                  "Автоотступ
set linebreak                   "Перенос по словам (на случай, когда перенос строк будет включен)
set nowrap                      "Запретить перенос строк

syntax on




Еще вопросик в догонку, извинтиляйте за назойливость :ph34r:
Можно как нить "забить" сочетание, так чтоб если оно в VIM-е нажато,
то дальше системе оно не передавалось... (это про windows)
Оригинал поста Здесь, но там не отвечают :wacko:
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

bear-cub писал(а):
19.07.2006 10:19
не подскажете что надо подкрутить, ситуация такая
в vimrc установлена опция set iskeyword+=а-я,А-Я,[,],{,}

Думается, если вместо "а-я,А-Я" написать "192-255", то оно заработает, хотя причину этого явления я сейчас не вспомню.

bear-cub писал(а):
19.07.2006 10:19
в GUI интерфейсе все нормально, а в консоли не работает :(((

Давно уже не работал в vim'e под windows, но насколько я помню, консольный вим под win32 -- то ещё чудо... Я под виндой пользовался только gvim'ом (поотключав в нём тулбары, менюхи и прочие графические излишества). :)
Спасибо сказали:
bear-cub
Сообщения: 20

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

Сообщение bear-cub »

jsv писал(а):
19.07.2006 10:47
bear-cub писал(а):
19.07.2006 10:19

не подскажете что надо подкрутить, ситуация такая
в vimrc установлена опция set iskeyword+=а-я,А-Я,[,],{,}

Думается, если вместо "а-я,А-Я" написать "192-255", то оно заработает, хотя причину этого явления я сейчас не вспомню.

bear-cub писал(а):
19.07.2006 10:19
в GUI интерфейсе все нормально, а в консоли не работает :(((

Давно уже не работал в vim'e под windows, но насколько я помню, консольный вим под win32 -- то ещё чудо... Я под виндой пользовался только gvim'ом (поотключав в нём тулбары, менюхи и прочие графические излишества). :)

Нет, не помогает...
а консоль мне нравится тем, что глаза меньше устают, но это наверно субъективно.
Спасибо сказали:
bear-cub
Сообщения: 20

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

Сообщение bear-cub »

Народ, поделитесь пожалуйста навыками работы в VIM (самому смешно, как звучит, но не знаю как выразится пояснее ;)
как вы пишете "рваный" текст ?

Ну например вот пишу я запрос
select * form myfathorite_table и ... ошибаюсь в двух местах
(есть у меня такой грешек, помимо 2ки по русскому еще и две
расскладки путаются, когда начинаю быстро печатать :ph34r: )

В обычном редакторе я что делаю:
- <Ctrl> стрелка влево
- <Ctrl> стрелка влево с shiftom
- и поновой набираю from
- потом хватаюсь за мышку, указываю место где ошибся в имени
- 2 раза <del> и новые буквы
и получаем
select * from myfavorite_table
В VIM тоже самое:
- <Ctrl>-[
- 2b
- cw
- и поновой набираю from
- <Ctrl>-[
- w
- ft
- x
- rv
вроде тоже много действий получается, напрягает постоянное перепрыгивание в командный режим и в режим вставки. Можно как то более эфективно править ошибки набора?

Прошу поделится опытом, кто как исправляет код.
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

bear-cub
можно повесить исправления через аббревиатуры на слова, в которых часто ошибаешься
типа form -> from
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Кстати мой .vimrc

Хоткеи для сохранения, выхода, работы с табами, открытия проводника вима
Автодополнение по Tab
Цвета в том числе для табов (табы появились в 7-ке)
...
Делалось на основе конфига Tony2001 с пхп клаба
Спасибо сказали:
bear-cub
Сообщения: 20

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

Сообщение bear-cub »

pento писал(а):
21.07.2006 09:25
Кстати мой .vimrc

Хоткеи для сохранения, выхода, работы с табами, открытия проводника вима
Автодополнение по Tab
Цвета в том числе для табов (табы появились в 7-ке)
...
Делалось на основе конфига Tony2001 с пхп клаба
Спасибо за совет, дельная мысль, я как то проэто совсем забыл.
Но я приел частный случай...
В принципе все остальные наверно тоже будут частными случаями ;)

ну для примера, допустим вводится строка, и надо ввести еще строку через.
я часто заполняю файл шаблона типа

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

== название ==========
== детали ==========
Добавляю текст после секции "название", потом в секции "детали" еще что-то пишу.
Для того чтоб переползти из секции в секцию приходится выходить из режима вставки,
или курсором бегать...
Другой, более эффективный способ есть.


Подскажите пожалуйста :ph34r:
как переопределить символы, которые выскакивают
при вводе с нажатой клавишей ALT в режиме вставки
Спасибо сказали:
Ответить