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

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

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

jsv
Сообщения: 67

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

Сообщение jsv »

rjikzy писал(а):
16.08.2006 13:52
Вопрос:
Как синхронизировать буфер обмена vim'a (не gvim'a) с Х-овым.
т.е. я выделяю текст (средствами vim'a, т.е. v - выделяю - y копирую), перехожу в X-овую прилагу - вставляю (например Shift-Ins).
Возможно ли такое?
Наткнулся на утилитку xclip, но что то не разобрался как с ней работать, хелп какой-то жиденький...

Если vim собран с поддержкой иксового буфера (:version показывает +xterm_clipboard среди features),
то буферу обмена соответствует регистр *. То есть, "*y -- скопировать в буфер обмена, "*p -- вставить из него, ну и так далее...
Подробнее -- :help x11-selection.

rjikzy писал(а):
16.08.2006 13:52
Наткнулся на утилитку xclip, но что то не разобрался как с ней работать, хелп какой-то жиденький...

Мне больше нравится xsel. Если принципиально не хочется (или нельзя) линковать vim с libX*, то можно её использовать. Что-нибудь типа: :call system('xsel -p', @")
Спасибо сказали:
~S/E/r/G~
Сообщения: 220
ОС: Debian 4.0

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

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

как сдвинуть влево/вправо блок?
как закоммнтировать/раскомментировать блок ?
или только скриптами=\?
debian 4.0: kernel-2.6.18 | Xorg7.2 (fglrx) | Xfce 4.4
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

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

Сообщение Portnov »

У меня на это есть такой код в .vimrc:

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

" Indent line(s)
vmap <TAB> :s/^/  /<cr>
map <TAB> :s/^/  /<cr>
" Unindent line(s)
vmap <S-TAB> :s/^  //<cr>
map <S-TAB> :s/^  //<cr>

fun! VisComment(c)
  exe "s/^/".a:c." /"
endfunction

fun! VisUncomment(c)
  exe "s/^".a:c." //"
endfunction

" Advanced comments
" csym here is variable which contains comment symbol, like `#' or `"'
" Comment line(s)
map <C-F>c :exe "s/^/".csym." /"<cr>
vmap <C-F>c :call VisComment(csym)<cr>
" Uncomment line(s)
map <C-F>u :exe "s/^".csym." //"<CR>
vmap <C-F>u :call VisUncomment(csym)<cr>
" Add comment to the line
map <C-F>a :exe "s/$/ ".csym."/"<cr>A
imap <C-F>a <Esc>:exe "s/$/ ".csym."/"<cr>A
" Remove comments from current line
map <C-F>d 0:exe "s/  ".csym." .*//"<cr>
" Change current line's comment
map <C-F>e <C-F>d<C-F>a

" Set `csym' according to file type
au! BufNewFile,BufRead * let csym="#"
au! BufNewFile,BufRead *.pp let csym="//"
au! BufNewFile,BufRead *.cpp let csym="//"
au! BufNewFile,BufRead *.c let csym="//"
au! BufNewFile,BufRead *.vim let csym="\""
au! BufNewFile,BufRead .vimrc let csym="\""


С таким кодом Ctrl-F,c - закомментировать строку/блок, Ctrl-F,u - раскомментировать, Ctrl-F,a - добавить комментарий к строке, Ctrl-F,d - удалить, Ctrl-F,e - изменить. Символ для комментария подбирается по типу файла. Tab/Shift-Tab добавляют/убирают отступ у строки/блока.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

(~S/E/r/G~ @ Sep 3 2006, в 04:00) писал(а):или только скриптами=\?

А что такого?
http://www.vim.org/scripts/index.php
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

А подскажите какой настройкой отключается в gvim мигание экрана, когда нажимаешь <ESC>?
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

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

Сообщение Portnov »

set novisualbell
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

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

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

Сообщение pento »

К сожалению, не могу найти, как можно сделать смену вида курсора в за висимости от текущего режима в vim как в gvim.
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

pento писал(а):
05.09.2006 06:03
К сожалению, не могу найти, как можно сделать смену вида курсора в за висимости от текущего режима в vim как в gvim.

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

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

Сообщение pento »

(jsv @ Sep 5 2006, в 16:51) писал(а)::h termcap-cursor-shape

Спасибо, но что-то не получилось настроить(
Но сделал появление текующей строки в зависимости от режима

" Для Vim7
set cursorline
au InsertEnter * set nocursorline
au InsertLeave * set cursorline

Имхо, достаточно удобная фича
Спасибо сказали:
Аватара пользователя
GRS
Сообщения: 236
Статус: C++ Pro
ОС: Suse10.2/XP

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

Сообщение GRS »

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

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

Сообщение pento »

(GRS @ Sep 7 2006, в 01:53) писал(а):мусор

Глубокосмысленный пост...
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

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

Сообщение BlackStar »

Как Vim отучить после выполнения :make открывать файл с ошибкой в текущем окне, тем более что он уже открыт в другой вкладке?
LightLang Team
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

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

Сообщение polachok »

а у меня такой вопрос:
имею
map K :vsplit<CR>:call <SNR>9_PreGetPage(0)<CR><C-W><C-W><CR>:close<CR><CR>
если клацнуть K на слове открывается ман. а нельзя ли сделать так чтоб в отдельном aterm'e он открывался, мой WM отлично справляется с расположением окон по экрану :)
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
sedition
Сообщения: 556
ОС: Gentoo/MacOSX/Windows Vista

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

Сообщение sedition »

а у меня вопрос:
друг показывал, что пичатает в vim'e пишет /bin/ba что-то нажимает - дополнилось до /bin/bash
как это он делал?
есть ли такие дополнения для с++/html ?
спасибо
Спасибо!
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

sedition
это может быть
1. он сделал аббревиатуру :iabbrev...
2. уже где-то писал в скрипте bash и просто дополнил при написании ba с помошью ctrl+p/ctrl+n

(sedition @ Sep 23 2006, в 13:45) писал(а):есть ли такие дополнения для с++/html ?

Как ты хочешь что бы оно работало?
Спасибо сказали:
Аватара пользователя
solshark
Сообщения: 439
Статус: Монархист
ОС: Gentoo ~amd64

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

Сообщение solshark »

Товарищи, дорогие, а подскажите как поиск в чувство привести.
В общем, как-то дивно он себя вести начал. Раньше работало все путём - нажимаю "/", ввожу искомое буквосочетание, вим сразу выделяет найденное. Нажимаю "/" а потом вверх - листаю историю поиска.

А сейчас вдруг вместо того, чтобы листать историю, вим чего-то вставляет в текст букву "А" и переходит в режим вставки.

Вот. Как его окультурить?
Ceterum censeo Carthaginem esse delendam
Marcus Porcius Cato
Мой блог про KDE4 и рыбу в томате
Спасибо сказали:
Se9a
Сообщения: 67
ОС: openSUSE 11

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

Сообщение Se9a »

помогите кто знает...
я пользуюсь vim + latexSuite под win. после загрузки скрипта перестает переключаться раскладка клавиатуры стандартным сочетанием (в windows переключается, а в vim'e нет). я дописал в _vimrc следующее:

set keymap=russian-jcukenwin
noremap <S-Tab> :let &iminsert = ! &iminsert<CR>
inoremap <S-Tab> <C-^>
noremap! <S-Tab> <C-^>

Все переключается, но на какую-то странную раскладку, где вместо "ю" печатается "." (вместо "Э" - кавычки и др.). Исправляется, если установить keymap снова (через меню GUI, или ":").

Т.к. вне скрипта все работает как надо, значит проблема в самом скрипте, подскажите где ее искать?
Спасибо сказали:
Аватара пользователя
GRS
Сообщения: 236
Статус: C++ Pro
ОС: Suse10.2/XP

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

Сообщение GRS »

У меня такой вопрос на счет возможностей vim. Иногда приходится комментировать что-то, то есть обычно ставить символ '#' для каждой строки. С какими проблемами я столкнулся.
Во-первых, всегда нужно жманать i или a, перед вставкой.
Во-вторых, при переходе на следующию строку и именно при установлении курсора на первую позицию меня выкидывало в командный режим. И опять приходится возвращатся в режим ввода.
И для каждой строки так повторять, меня это не порадовало. Можно ли написать что-нибудь типа макроса, который по одной команде будет комментировать строку?

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

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

Сообщение pento »

Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

вроде я не новичок в работе с вимом, уж сколько лет пользуюсь, а тут возник такой, можно сказать вопрос чайника: вим в упор игнорирует set laststatus=1 в ~/.vimrc . сбрасывает на 2. прошелся грепом по /usr/share/vim/vim70, виновника не обнаружил. а вот если скормить vim -c 'set laststatus=1' , глотает ( оно и понятно, выполняется после загрузки конфигов). вопрос, собсно, в чем может быть причина ?
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
Хммм странно version 7.0.17
Всё отлично работает с laststatus=1
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

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

Сообщение Dark_Savant »

с vim-7.0.91 таки полтергейтс.
upd: залез сейчас на работу, там на той же версии работает. где-то я что-то со скриптами накосолапил. осталось вспомнить где.
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 »

А не подскажите, как можно Replace mode отключить....ибо уже за...?
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

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

Сообщение Portnov »

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

map R <Esc>
imap <Ins> <Esc>i

?
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Portnov
Блин, всё гениальное - просто =)
Спасибо!
Спасибо сказали:
bear-cub
Сообщения: 20

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

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

Кто знает как вылечить подобную ситуацию.
при использовании keymap на caps lock не реагируют русские буквы хъжэбю

Использую VIM 6.4 для win 32
для ввода русских букв использую опцию keymap

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

set keymap=russian-jcukenwin    "Установка раскладки клавиатуры (русской)

это позволяет сохранить много "вкусностей" командного режима,
например работает поиск внутри строки f<буква> причем <буква> уже вводится в зависимости от включенной раскладки.

При включенном caps Lock большими вводятся не все буквы
ниже привожу как они следуют в нижнем и верхнем регистре.
Причем если использовать shift, то буквы нормально вводятся в верхнем регистре

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

йцукенгшщзхъ
фывапролджэ
ячсмитьбю.
ЙЦУКЕНГШЩЗхъ
ФЫВАПРОЛДжэ
ЯЧСМИТЬбю.

т.е. буквы хъжэбю на capslock не реагируют :(
Кто знает как вылечить подобную ситуацию.
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

Dark_Savant писал(а):
08.10.2006 20:40
с vim-7.0.91 таки полтергейтс.
upd: залез сейчас на работу, там на той же версии работает. где-то я что-то со скриптами накосолапил. осталось вспомнить где.

Кстати, в таких случаях помогает verbose set переменная?.
Оно пишет, откуда переменная была установлена последний раз...
Спасибо сказали:
jsv
Сообщения: 67

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

Сообщение jsv »

bear-cub писал(а):
18.10.2006 11:18
буквы хъжэбю на capslock не реагируют :(
Кто знает как вылечить подобную ситуацию.

Думается, средствами вима никак. Наверное, проще всего приучиться вбивать в нижнем регистре, а потом транслировать в верхний. А освободившийся после этого Caps Lock использовать под что-нибудь другое... Esc туда перевесить, например. :)

Либо же можно подправить раскладку клавиатуры (системную) так, чтобы при активном capslock вместо [ вбивалось {, вместо ; -- : и т. д.
Идея, на мой взгляд, не из удачных, но на вкус и цвет...
Спасибо сказали:
Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

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

Сообщение pento »

Просьба к тем, кто использует вим как C/C++ IDE поделиться настройками =)

Просто под PHP я его заточил неплохо (дополнение имен, аббревиатуры, проверка синтаксиса, ...), и тут появилась необходимость сделать подобное и для С/С++.
Спасибо сказали: