1) как сделать "быстрое" открытие файла?
например lynx, при открытии большого файла сначала показывает первую страницу,
остальное подгружает, так можно сделать?
2) как правильно несколько файлов загружать для редактирования?
например открываю файлы: vim 1.txt 2.txt, теперь для перехода между ними юзаю
:previous / :next (через хоткеи [ , ]) , дак вот получается что он их заново переоткрывает,
теряются redo/undo, плюс обязвтельно сохранять надо перед переключением, а по другому можно?
3)есть хоткей: map ,w :silent !echo -n '<cword>' \| sed -e "s/^\\$//" \| xclip<CR>
но "silent" как то мало помогает, внизу постоянно вылазит сообщение:
:silent !echo -n '<cword>' | sed -e "s/^\\$//" | xclip
Press ENTER or type command to continue
надо клавишу жать, плюс экран смещается, как от него избавиться?
4) копирую строку в файл так: map kk :w! /tmp/vim<CR>
как сделать копирование выделенного участка, какой буфер надо считывать?
т.е. команда "1 kk" копирует 1 строку
можно по <Shift>+V выделить несколько строк и kk их все копирует
но надо не целые строки а именно участок который выделен.
5) беру случайное число так: let r1=system("echo $RANDOM")
1000 таких вызовов занимают 1 минуту, может есть встроенный метод получения случайного числа?
несколько вопросов: быстрое открытие, несколько файлов, избавиться от сообщения
Модератор: /dev/random
-
- Администратор
- Сообщения: 5372
- ОС: Gentoo
Re: несколько вопросов: быстрое открытие, несколько файлов, избавиться от сообщения
zls писал(а): ↑13.05.2009 16:542) как правильно несколько файлов загружать для редактирования?
например открываю файлы: vim 1.txt 2.txt, теперь для перехода между ними юзаю
:previous / :next (через хоткеи [ , ]) , дак вот получается что он их заново переоткрывает,
теряются redo/undo, плюс обязвтельно сохранять надо перед переключением, а по другому можно?
Да. Можно включить табы. vim -p 1.txt 2.txt
Переключение между табами: gt - вперёд, gT - назад, (номер)gt - переключиться сразу на выбранный таб. Сохранение/переоткрытие не происходит, история не теряется. Только если vim используется не для программирования, а для администрирования, то привыкать к этому не стоит - в других клонах vi этого нет, а кто знает, что будет установлено на сервере, который вам придётся админить.
-
- Сообщения: 355
- ОС: Gentoo
Re: несколько вопросов: быстрое открытие, несколько файлов, избавиться от сообщения
zls писал(а): ↑13.05.2009 16:542) как правильно несколько файлов загружать для редактирования?
например открываю файлы: vim 1.txt 2.txt, теперь для перехода между ними юзаю
:previous / :next (через хоткеи [ , ]) , дак вот получается что он их заново
переоткрывает, теряются redo/undo, плюс обязвтельно сохранять надо перед
переключением, а по другому можно?
Чтобы не сохранять вручную: set autowriteall.
zls писал(а): ↑13.05.2009 16:543)есть хоткей: map ,w :silent !echo -n '<cword>' \| sed -e "s/^\\$//" \| xclip<CR>
но "silent" как то мало помогает, внизу постоянно вылазит сообщение:
:silent !echo -n '<cword>' | sed -e "s/^\\$//" | xclip
Press ENTER or type command to continue
надо клавишу жать, плюс экран смещается, как от него избавиться?
С silent можно избавиться от сообщения, используя конструкцию «silent! !cmd».
Правда при этом придётся каждый раз обновлять экран, что ещё хуже. Попробуйте
конструкцию «call system("cmd &")». Так как результат выполнения функции никак
не обрабатывaется, то действие оказывается аналогичным команде «!». Амперсанд
в конце необязателен, указан с целью заставить команду выполняться в фоне, чтобы
не вынуждать пользователя ожидать окончания выполнения. Я таким образом LaTeX
файлы в фоне компилирую:
:inoremap <buffer> ,m <C-\><C-o>:call system("make dvi &")<C-m>
(разумеется, предварительно создав Makefile). Если файл большой, то ничто не
мешает его просматривать во время компиляции.
-
- Сообщения: 77
- ОС: Xubuntu
Re: несколько вопросов: быстрое открытие, несколько файлов, избавиться от сообщения
zls писал(а): ↑13.05.2009 16:542) как правильно несколько файлов загружать для редактирования?
например открываю файлы: vim 1.txt 2.txt, теперь для перехода между ними юзаю
:previous / :next (через хоткеи [ , ]) , дак вот получается что он их заново переоткрывает,
теряются redo/undo, плюс обязвтельно сохранять надо перед переключением, а по другому можно?
может set hidden