Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimおべんきょうメモ

$
0
0

目的と方針

これまではサクラエディタとかSublime Textを使ってきたけど、仕事でLinuxをCUIベースで使うことが多くなってきたので、色んな環境で使えるVimに慣れていきたい。

設定ファイルをGitHubで管理して、どこでもgit cloneと少しの手間だけで同じ環境が使えるようになるといいな。

ディレクトリ構成

~/dotfiles
├── .git
├── .gitignore
├── .vim
│   ├── bundle
│   └── userautoload
│       ├── basic.vim
│       └── neobundle.vim
└── .vimrc
  • HOME配下にdotfilesディレクトリを作り、そこをGitHubと同期する。
  • .vim/bundleは同期しないように.gitignoreに書いておく。
  • Vimから見つけられるように、HOME直下にシンボリックリンクを作る。
$ ln -s ~/dotfiles/.vim
$ ln -s ~/dotfiles/.vimrc

.vimrcの分割

.vimrcを機能分割する

.vim/userautoloadに、機能ごとに分割した.vimrcを入れていく。

.vimrc本体にはほとんど設定は書かないようにする。環境依存のところを書くと便利かも?

プラグイン管理

Shougo / neobundle.vim
NeoBundleの導入

vimのプラグイン管理はNeoBundleで行う。
.vim/bundle配下にプラグインを入れる。
他のプラグインはNeoBundleが管理してくれるけど、NeoBundle自身はさすがに無理なのでGitHubからCloneしてくる。

 $ mkdir -p ~/.vim/bundle
 $ git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

neobundle.vimに設定を入れて、.vimrc分割の動作確認も兼ねる。
とりあえず最初に、見た目にも分かりやすいNERD-treeを入れてみる。

NeoBundle使い方メモ

neobundle.vim
if has('vim_starting')
  set nocompatible               " Be iMproved

  " Required:
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

" Required:
call neobundle#rc(expand('~/.vim/bundle/'))

" Let NeoBundle manage NeoBundle
" Required:
NeoBundleFetch 'Shougo/neobundle.vim'

" My Bundles here:
NeoBundle 'scrooloose/nerdtree'


" Required:
filetype plugin indent on

" If there are uninstalled bundles found on startup,
" this will conveniently prompt you to install them.
NeoBundleCheck

基本的なところはNeoBundleのREADMEに書いてあるものをそのまま利用。

NeoBundle 'プラグインのパス'インストールするプラグインを列挙
一時的に使わなくなったやつは、行頭に"つけてコメントアウトしておく。

一番最後のNeoBundleCheckで、追加したプラグインがあればインストールされる。

プラグインの削除

↑でコメントアウトしたプラグインは無効になるけど、実体のファイルは残ったままになってしまう。
Vim上で:NeoBundleCleanを実行すると完全にアンインストールできる。

プラグインの更新

Vim上で:NeoBundleUpdate

NeoBundleの状況確認

Vim上で:NeoBundleListとか:NeoBundleLogとか。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>