Vim: e начальный каталог?

Я кодирую в Vim, не IDE. Мой исходный код часто вкладывается 2-3 каталога глубоко.

~/foo$ find
xyz
bar/abc
bar/def

~/foo$ vim
// inside of vim
:e bar/abc
... some work ...
:e <-- is there a way I can have this :e start in ~/foo/bar instead of ~/foo ?

В основном я хочу: e для запуска каталога в "пути последнего отредактированного файла"

Спасибо!

15
задан anon 31 January 2010 в 02:45
поделиться

7 ответов

Есть много причин, по которым не нравится AutoChdir, поскольку он позаряжается несколько плагинов, и если вы в конечном итоге делаете: e ../../../foo.txt Вы ничего не набираете Отказ Так же, как идея, попробуйте этот CMAP, я выбил

:cnoremap red edit <c-r>=expand("%:h")<cr>/

, то вы можете ввести: красный и получить

:e /the/path/to/your/current/files/dir/

(редактировать: возможно, использовать Z вместо красного, как есть команды, которые начинаются с красного)

, чтобы расширить тему, Также проверьте плагин Fuzzyfinder и некоторые пользовательские сопоставления для быстрого перехода на общие файлы, которые вы всегда редактируете. Например,

10 или около того ваших обычных файлов должно быть не более 2 нажатий клавиш. Это помогает, если они систематически называют

, вот идею, которую я использую для Django.

http://code.djangoproject.com/wiki/usingvimwithdjango#maphics

12
ответ дан 1 December 2019 в 02:19
поделиться

Чтобы всегда изменить рабочий каталог в каталог текущего файла, у меня это в моем .vimrc :

if has("autocmd")
  autocmd BufEnter * :lcd %:p:h
endif " has("autocmd")
3
ответ дан 1 December 2019 в 02:19
поделиться
  • : CD Изменяет каталог
  • : PWD распечатает текущий.
0
ответ дан 1 December 2019 в 02:19
поделиться

Попробуйте опцию Autochdir . Он автоматически изменит текущий рабочий каталог на любой последний файл был последним открытым или выбранным. В .VIMRC:

set autochdir

для получения дополнительной информации, : помогите автохдир

11
ответ дан 1 December 2019 в 02:19
поделиться

Извините, но команду Vim's: Edit Command принимает путь, который интерпретируется относительно настоящего рабочего каталога экземпляра VIM.

У вас есть A: CD-команда, которую вы могли бы использовать для : CD-бара , затем работать некоторое время, затем : CD .. .

Надеюсь, что поможет немного.

2
ответ дан 1 December 2019 в 02:19
поделиться

Некоторое время назад я задавал вопросы, связанные с этим, в списке рассылки vim: http://www.mail-archive.com/vim_use@googlegroups.com/msg03266.html Возможно, вы найдете полезные советы в этой теме.

Я протестировал множество плагинов, но поскольку графические интерфейсы на основе CLI не в моем вкусе, я просто закончил использованием стандартного vim с несколькими настройками конфигурации.

Как указал honk, эта строка устанавливает рабочий каталог таким же, как и файл, над которым вы работаете:

autocmd BufEnter * lcd %:p:h

Другой мой совет - использовать wildmenu. Это облегчает обзор файлов в текущем каталоге, когда вы нажимаете :e, а затем TAB. Я программист python, поэтому в последней строке показано, как скрыть автоматически создаваемые файлы, которые выплевывает интерпретатор python, но вы можете использовать это для скрытия файлов java .class или c .obj или любых других.

set wildmode=list:longest
set wildignore=*.pyc,*pyo
1
ответ дан 1 December 2019 в 02:19
поделиться

почему не только : E ? Исследуйте каталог текущего файла.

: help: E

0
ответ дан 1 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: