2015-06-10 1 views
1

Отказ от ответственности: Я новичок в vim/tmux. Я нахожусь на Mac с помощью MacVim Мне сказали использовать контроль версий на своих dotfiles.Перемещено .vimrc в новый каталог, пытаясь заставить его работать

Перед моих файлов точечных был помещен в моем корне ~ так:

~/ 
    .vimrc 
    .tmux.conf 
    .vim 
    /bundle 
    /autoload 
    .viminfo 
    etc 

Но потом я понял, что это было бы хорошая идея, чтобы сделать папку с именем «точечные», и разместить их все там а затем загрузите его в github, чтобы я мог иметь их где угодно.

Как так:

~/ 
    /dotfiles 
     .vimrc 
     .tmux.conf 
     .vim 
     /bundle 
     /autoload 
     .viminfo 
     etc 

Сначала я думал, что все было хорошо, потому что я никогда не закрывался Vim, но когда я перезарядил его позже, я не понял, ни один из моих команд работали больше. Поэтому я поменял некоторые пути в своем и в своем .tmux.conf в надежде, что это сработает снова, но не повезло.

Вот мой полный .vimrc:

set nocompatible    " be iMproved, required 
filetype off     " required 

" set the runtime path to include Vundle and initialize 
set rtp+=~/dotfiles/.vim/bundle/Vundle.vim 
call vundle#begin() 
" " alternatively, pass a path where Vundle should install plugins 
" "call vundle#begin('~/some/path/here') 
" 
" " let Vundle manage Vundle, required 
Plugin 'gmarik/Vundle.vim' 
Plugin 'christoomey/vim-tmux-navigator' 
" " All of your Plugins must be added before the following line 
call vundle#end()   " required 
filetype plugin indent on " required 
" " To ignore plugin indent changes, instead use: 
" "filetype plugin on 
" " 
" " Brief help 
" " :PluginList  - lists configured plugins 
" " :PluginInstall - installs plugins; append `!` to update or just 
" :PluginUpdate 
" " :PluginSearch foo - searches for foo; append `!` to refresh local cache 
" " :PluginClean  - confirms removal of unused plugins; append `!` to 
" auto-approve removal 
" " 
" " see :h vundle for more details or wiki for FAQ 
" " Put your non-Plugin stuff after this line 


execute pathogen#infect() 
syntax on 
filetype plugin indent on 
set mouse=a 

let g:tmux_navigator_no_mappings = 1 

nnoremap <silent> <c-h> :TmuxNavigateLeft<cr> 
nnoremap <silent> <c-j> :TmuxNavigateDown<cr> 
nnoremap <silent> <c-k> :TmuxNavigateUp<cr> 
nnoremap <silent> <c-l> :TmuxNavigateRight<cr> 
nnoremap <silent> <c-/> :TmuxNavigatePrevious<cr> 

let g:tmux_navigator_save_on_switch = 1 

vnoremap <C-c> "*y 

set runtimepath^=~/dotfiles/.vim/bundle/ctrlp.vim 

Как вы можете видеть, пути были исправлены, чтобы включить в каталог /dotfiles/, но в любое время я пытаюсь запустить плагин или что-то в моем .vimrc, я получить общую ошибку 'Not an editor command'.

Кстати, tmux и вся его конфигурация, похоже, работают нормально после его перемещения.

Любые идеи?

+2

См. [Как настроить пользовательский vimrc] (http://stackoverflow.com/questions/4618151/how-to-reference-source-a-custom-vimrc-file), чтобы сообщить Vim, где найти файл. Альтернативно (и то, что я использую) было бы привязать его обратно к ожидаемому местоположению по умолчанию: 'ln -s $ HOME/dotfiles/.vim $ HOME/.vim' и то же самое для' $ HOME/.vimrc'. –

+1

Лучше еще вы можете сохранить свой 'vimrc' на' ~/.vim/vimrc', если вы используете Vim 7.4+ –

ответ

1

Мне сказали использовать контроль версий на своих точечных файлах.

Возможно, вам стоит обратиться к людям, которые сказали вам сделать это для поддержки, не так ли?

  1. Собирает все в точечные файлы одного репо является не реквизита или даже объективно хорошая идея. Это может работать для некоторых людей, но только, если вам удастся указать свои программы на это централизованное место (отлично) или если вы символизируете эти файлы в их обычное место (какой вид побеждает точка). Люди, которые сказали вам использовать контроль версий на ваших dotfiles, должны были сказать вам, как это сделать от начала до конца.

  2. Vim ожидает ваш vim каталога и ваш vimrc находиться в местах, по умолчанию:

    ~/.vim 
    ~/.vimrc or ~/.vim/vimrc 
    

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

    $ ln -s /Users/username/dotfiles/.vim /Users/username/.vim 
    $ ln -s /Users/username/dotfiles/.vimrc /Users/username/.vimrc 
    
0

Эта идея поместить все ваши в составляют скрытые же директории не плохо, как @romainl сказал в своем ответе вы должны симлинки их их первоначальное место.

Это то, что я сделал, поэтому вас может заинтересовать script Я создал, чтобы автоматически сохранять текущие dotfiles в моем домашнем каталоге и заменять их симлинком на dotfiles в моем репо. (Вы также можете клонировать мой repo, заменить dotfiles на ваш и выполнить скрипт. Я попытался сделать readme максимально понятным, но если вы заинтересованы в использовании моего решения, не стесняйтесь сообщать мне о поддержке)

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