2013-08-07 3 views
1

У меня есть функция ниже в моей zsh config для редактирования файла в vim.Функция zsh для создания открытого нового файла в vim

function note() { 
    vim "~/.notes/$1.md"; 
} 

Так что, если я типа «примечание линукс», он должен либо открытым ~/notes/linux.md, если она существует, или создать новый файл.

Однако, при выполнении вышеуказанной функции, Vim жалуется, что linux.md - это новый каталог? Как заставить это имя считаться именем файла, а не именем каталога?

Благодаря

+0

ли '~/.notes /' существует? Возможно, добавьте 'mkdir -p" ~/.notes "в вашу функцию или .zshrc. – ahilsend

+0

~/.notes уже существует, поэтому мне не нужна эта функция. – shankardevy

ответ

2

~, кажется, не будет расширен. Вим думает, что вы имеете в виду ./~/.notes/, который является новым каталогом. Только указывайте имя файла, а не каталога, как это:

function note() { 
    vim ~/.notes/"$1.md" 
} 

или использовать $HOME:

function note() { 
    vim "$HOME/.notes/$1.md" 
} 
+0

Спасибо, он работает. – shankardevy

Смежные вопросы