vim установка папки по умолчанию для хранения всех txt-файлов, как?

Я хочу установить его так, чтобы, когда я пишу текстовый файл и сохраняю его - он сохраняется в папку по умолчанию под названием TEXT, которая будет в моей основной папке Vim, например. C:Program файлыVimvim73TEXT

на данный момент они сохраняются по умолчанию в папке vim73, смешанной со всем остальным. поэтому, если я наберу: W^M, файл будет сохранен там, и я хочу, чтобы он пошел в папку с именем TEXT

4 ответов


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

вы также можете добавить команду cd в свой .vimrc (или эквивалент для windows) для автоматического изменения текущего каталога при каждом запуске vim.


другим возможным подходом было бы перехватить процесс записи с помощью autocmd для события записи, вероятно BufWriteCmd. Проверьте функцию autocmd, чтобы узнать, имеет ли файл a .расширение txt (или любой другой) и обойти пишу обычный процесс, однако спасти/куда хочешь. Для документов см.:

:h BufWriteCmd

вот некоторый код, который вы можете поместить в vimrc, не тщательно протестированный, чтобы убедиться, что поведение именно то, что вы хотите, но в основном работа:

function! WriteTextFile()
    execute 'write! c:\text\'.expand("%:p:t")
    set nomodified
endfunction
au BufWriteCmd *.txt call WriteTextFile()

Как упоминалось в GWW, вы можете добавить cd команда для файла _vimrc. Я нашел правильный формат трудно найти. Путь не должен быть заключен в кавычки, пробелы должны быть экранированы обратной косой чертой, обратные косые черты не должны быть экранированы, и путь должен заканчиваться обратной косой чертой. Вот пример:

cd C:\Documents\ and\ Settings\someUser\

надеюсь, это поможет.


вы можете использовать аббревиатуры, если выполнено :w это автоматически изменяет текст ниже, я думаю, что это может помочь вам.

cnorea w w! "C:\Program Files\Vim\vim73\TEXT"