Подтвердить что ты не робот

Создать новый файл в каталоге открытого файла в vim?

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

4b9b3361

Ответ 1

Внутри Vim новые файлы создаются, как существующие файлы редактируются с помощью команд типа :edit filename или :split filename. Чтобы перенести их на диск, вам необходимо (необязательно ввести содержимое и) сохранить их через :write.

Как и в командной строке, Vim имеет представление о текущем каталоге (:pwd перечисляет его). Все пути к файлам относятся к нему. Вам не нужно дублировать путь к вашему текущему файлу, для них есть несколько ярлыков: % относится к текущему файлу, :h является модификатором для его каталога, минус имя файла (cp. :help filename-modifiers). Таким образом,

:e %:h/filename
:w

создаст новый файл с именем filename в том же каталоге, что и текущий открытый файл, и напишет его.

Кроме того, некоторые люди, такие как Vim, всегда переключаются на текущий каталог файлов. Это можно настроить, разместив

:set autochdir

в ваш ~/.vimrc файл (который читается при запуске Vim). Тогда, выше, становится просто

:e filename
:w

Наконец, у Vim есть большой встроенный :help. Научитесь перемещаться и искать его!

Ответ 2

Если вы хотите создать новый файл и также показать его в окне рядом с вашим текущим файлом, вы можете попробовать следующее:

:vsp newfile

vsp обозначает vertical split, и он разбивает экран пополам, один показывает ваш текущий файл, другой показывает ваш новый файл (также работает только с sp, который является горизонтальным расколом).

В комментарии к @MartinLyne выше, это создаст файл в каталоге файла, в котором вы открыли vim. Чтобы настроить это, вы можете изменить текущий рабочий каталог следующим образом:

:cd %:p:h

Эта команда изменяет текущий рабочий каталог на каталог активного файла, а это означает, что выполнение команды vsp (или любой из вышеприведенных команд) создаст файл в этом каталоге.

Ответ 3

вам нужно попробовать с плагином nerdtree. В окне nerdtree вы набрали ключ m, и вы увидите варианты работы с файлами