cyrus 16.10.2010 23:26

VimWho's next?

Об одном маленьком, но довольно полезном плагине :

предыстория
Вчера мне нужно было взять кое-какие файлы у одного человека. И он копировал их на мою флэшку со своего MacBook Pro.

И возникла ситуация, что в папке находятся несколько файлов с исходниками, и он
не помнил точно какой именно файл нужно мне перекинуть. Тогда он открыл первый файл(не совсем понял что это был за текстовый редактор, возможно TextMate, хотя не знаю точно) и стал нажимать горячие клавиши - что-то вроде Cmd+Left. И в редакторе файлы автоматически заменялись. То есть получился такой быстрый просмотрщик файлов в текстовом редакторе.
Таким образом необходимый файл удалось быстро найти.. и скопировать на флэшку.

Захотелось что-нибудь похожее реализовать и у себя.
Решение для Vim нашлось сразу же. Плагин называется nextfile. Достаточно его скачать отсюда и поместить в папку
~/.vim/plugin

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

Думаю, реализовать что-то подобное и в других программах тоже будет не слишком сложно.
Предлагайте свои варианты для разных редакторов :)


Тэги: nextfile plugin vim просмотр файлов
+ 14 -
Похожие Поделиться

time2die 16.10.2010 23:34 #
использую для работы с файлами NERD_tree, очень нравиться, дс его помощью задача решилась бы не намного сложнее, а сам плагин универсальнее
diskin 17.10.2010 00:00 #
Режим quick view в mc (ctrl+x-q) позволяет просмотреть текущий файл во второй панели, мне кажется, все же файловый менеджер удобнее для файловый операций, чем текстовый редактор, пусть даже это такой мощный редактор, как vim.
m0nhawk 17.10.2010 09:06 #
Эммм.... vim -- текстовый редактор? Я один здесь вижу противоречие?
coder 17.10.2010 09:16 #
тут написано что это иенно так)
mutantcornholio 17.10.2010 10:07 #
Вообще, считается, что даже emacs - текстовый редактор.
cyrus 17.10.2010 22:52 #
нутыпонял
razum2um 17.10.2010 19:34 #
предлагаю
:Sex

just do it!
cyrus 17.10.2010 22:49 #
Как вариант, но не совсем то. Он открывает в новой вкладке, а плагин nextfile в том же самом окне. Просто иногда бывает полезно переключаться по файлам быстрым нажатием комбинации из двух клавиш.
commonD 17.10.2010 22:04 #
В емаксе получилось так:

(defun find-file-next (&optional fname)
"Cycle finding next readable file in current direcotry"
(interactive)
(let ((current-file (or fname
(file-name-nondirectory (buffer-file-name)))))
(with-temp-buffer
(insert-directory "" nil nil t )
(goto-char (point-min))
(re-search-forward (concat "^" current-file "$") nil t 1)
(if (< (line-number-at-pos)
(line-number-at-pos (point-max)))
(forward-line)
(beginning-of-buffer))
(let ((next-file (buffer-substring-no-properties
(line-beginning-position)
(line-end-position))))
(if (and (file-regular-p next-file)
(file-readable-p next-file))
(find-file next-file)
(find-file-next next-file))))))

PS: мне кажется, что аналогичный функционал есть из коробки.
cyrus 17.10.2010 22:52 #
Спасибо. Всегда интересно посмотреть как у других делается)
Sugar 18.10.2010 10:32 #
Спасибо, интересная штука.

Я под вимом пользуюсь такой штукой: "Nerdtree"
Брать можно отседова

Запускается просто: в командном режиме вводим N затем tab, оно мапится в NERDtree, жмем enter, и кайфуем! =) Переключение между окнами: ctrl+w.

Ксатит, судя по информмации на их страничке, он тоже самое умеет, что и nextfile:
"Mappings to open files in new/existing windows/tabs"

Кстати на страничке есть демо
enot 18.10.2010 13:23 #
тоже рекомендую NERD_tree. Настроил открытие на F5 (в хелпе много еще чего интересного можно найти)
nnoremap <silent> <F5> :NERDTreeToggle<CR>
inoremap <silent> <F5> <Esc>:NERDTreeToggle<CR>
atommixz 19.10.2010 13:53 #
имхо на днях видел это толи в vim толи в less вспомнить не могу, просто одна кнопка переключала на ранее открытые файлы
h0rr0rr_drag0n 22.10.2010 19:12 #
Если в консоли, то можно сделать vim -p * или vim *. Ну а дальше либо gt, либо :bn...