(bear-cub @ Jul 21 2006, в 15:35) писал(а):Для того чтоб переползти из секции в секцию приходится выходить из режима вставки,
или курсором бегать...
или поставить закладки (marks)

Модератор: /dev/random
(bear-cub @ Jul 21 2006, в 15:35) писал(а):Для того чтоб переползти из секции в секцию приходится выходить из режима вставки,
или курсором бегать...
Код: Выделить всё
filetype on
filetype plugin on
Код: Выделить всё
:verbose set ft?
:syntax
:scriptnames
Ну например, вот файл
=== строка ===
=== строка ===
=== строка ===
мне надо сделать
=== строка ===
Здесь я добавил свой коментарий
=== строка ===
И здесь два раза
И еще
=== строка ===
Ну и здесь отметился
Спасибо за ответ и за совет.jsv писал(а): ↑28.07.2006 14:34
Ну например, вот файл
=== строка ===
=== строка ===
=== строка ===
мне надо сделать
=== строка ===
Здесь я добавил свой коментарий
=== строка ===
И здесь два раза
И еще
=== строка ===
Ну и здесь отметился
Ну, например, вставив текст в первой секции:
^O/^===/+1CR
Вставив текст второй:
^On
и так далее... или ^O2j в обоих случаях, если они и впрямь подряд идут (вариант со стрелкой "курсор вниз" отбрасываем, как неспортивный)... затем, если, как в вашем посте, каждая секция представляет собой параграф, по ним можно перемещаться через ^O{ и ^O}
Это, если действительно не хочется покидать режим вставки... Лично я привык вставлять текст небольшими фрагментами, всё время возвращаясь в нормальный режим. Это уже почти рефлекс: закончил мысль (ну или что-то, её заменяющее) -- нажми esc (который у меня на caps lock смапирован).
А вообще, если надо часто работать с файлами такой структуры, я бы для них filetype определил, с более удобными map'ами для перемещения, fold'ингом, зачатками синтаксической подсветки и какие-там-ещё-вспомогательные-средства-могут-потребоваться
(pento @ Aug 2 2006, в 05:50) писал(а):А не подскажете как можно в Виме дублировать текущую строку?
Код: Выделить всё
Обнаружена ошибка при обработке function GetPythonIndent:
строка 30:
E121: Неопределенная переменная: dummy
Press ENTER or type command to continue
Обнаружена ошибка при обработке function GetPythonIndent:
строка 30:
E15: Недопустимое выражение: line('.') < 5 ? dummy : synIDattr(synID(line('.'), col('.'), 1), 'name') =~ '\(Comment\|String\)$'
Код: Выделить всё
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
call cursor(plnum, 1)
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|String\\)$'")
(Warderer @ Aug 2 2006, в 12:42) писал(а):yyp
jsv писал(а): ↑02.08.2006 11:04
А пример питоновского кода, на котором это происходит, можно?
А так, что в голову приходит... В vim 7 у функций search и searchpair появился дополнительный аргумент: номер строки, дальше которой искать не надо. По идее, теперь вместо упомянутого трюка надо использовать этот аргумент. Можно попробовать переписать.
Код: Выделить всё
color cubique
syntax on
set helplang=ru,en
set guioptions-=T
set so=11
set guifont=DejaVu\ Sans\ Mono\ 8
set foldmethod=marker
set backup
set backupdir=~/.vim/backup
set vb
set linebreak
set nocompatible
set hlsearch
set incsearch
set ignorecase
set noincsearch
set smartcase
set autoindent
set shiftwidth=4
set tabstop=4
set softtabstop=4
set backspace=2
set showmode
set ruler
set nojoinspaces
set laststatus=2
set modelines=0
set title
set runtimepath=~/.vim,$VIMRUNTIME
set viminfo='20,\"50
set history=900
set ai
set showmatch
set nowrap
set showcmd
set wildmenu
set encoding=iso-8859-1
set termencoding=iso-8859-1
set undolevels=100
set ttyfast
map Q gq
map X <ESC>/[^ -~äöüÄÖÜß]<CR>
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
filetype plugin indent on
inoremap { {<CR>}<Esc>O
nmap <F2> :set nowrap<CR>
imap <F2> <ESC> :set nowrap<CR>i<Right>
nmap <F3> :set wrap<CR>
imap <F3> <ESC> :set wrap<CR>i<Right>
nmap <F12> :g/function/#<CR>
imap <F12> <ESC> :g/function/#<CR>i<Right>
nmap <F1> :bn<CR>
imap <F1> <ESC> :bn<CR>i<Right>
set wcm=<Tab>
menu Encoding.koi8-r :e ++enc=koi8-r<CR>
menu Encoding.windows-1251 :e ++enc=cp1251<CR>
menu Encoding.cp866 :e ++enc=cp866<CR>
menu Encoding.utf-8 :e ++enc=utf8 <CR>
map <F8> :emenu Encoding.<TAB>
map <silent> <c-l> :silent nohl<cr>
:ab e" echo "<pre>" . print_r (, true ) . "</pre>";
:ab ehco echo
:ab ehoc echo
cubique писал(а): ↑04.08.2006 13:53понадобилось мне тут с одним очень большим проектом поработать... там есть несколько файлов с кол-вом строк около 6000... в общем в vim наблюдается следующая беда: если открыто несколько таких больших файлов, то переход между ними (особенно если курсор находится где-нибудь в середине самого файла) сопровождается ужасно неприятной паузой, иногда длиной в пару секунд... а скакать надо достаточно часто и быстро... в чём может быть проблема? подскажите, пожалуйста.
jsv писал(а): ↑04.08.2006 15:58cubique писал(а): ↑04.08.2006 13:53
понадобилось мне тут с одним очень большим проектом поработать... там есть несколько файлов с кол-вом строк около 6000... в общем в vim наблюдается следующая беда: если открыто несколько таких больших файлов, то переход между ними (особенно если курсор находится где-нибудь в середине самого файла) сопровождается ужасно неприятной паузой, иногда длиной в пару секунд... а скакать надо достаточно часто и быстро... в чём может быть проблема? подскажите, пожалуйста.
Несколько файлов в 6000 строк, это не много, вообще-то. Хотя, смотря какой длины строки.
А filetype какой? Потому как первое, что приходит в голову, это подсветка синтаксиса. Она в виме любит и умеет тормозить.
В общем, я бы посмотрел, тормозит ли оно с syntax off и с filetype plugin off. Если дело в синтаксисе, то можно поиграться с :syn sync maxlines, ну и у самом синтакс-файле могут быть какие-нибудь настройки влияющие на производительность.