打造自己的VIM IDE

vim-pathogen(可以使你安装插件和运行变得非常容易,便于管理)

安装到~/.vim/autoload/pathogen.vim。或者将一下内容复制到你的终端中运行:

mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

添加到你的.vimrc文件中,如果你没有.vimrc即可以创建一个

execute pathogen#infect()
syntax on
filetype plugin indent on

在终端中运行下面这一句,接下来你就可以将你想要安装的插件全部放在bundle文件夹下面了:

cd ~/.vim/bundle && \
git clone https://github.com/tpope/vim-sensible.git

我可以像所有其他插件一样将pathogen.vim放入子模块吗?

当然,把它放在下面~/.vim/bundle,并在vimrc中添加以下内容:

runtime bundle/vim-pathogen/autoload/pathogen.vim

或者,如果你的软件包不是~/.vim(比如说~/src/vim):

source ~/src/vim/bundle/vim-pathogen/autoload/pathogen.vim

当我使用Vim会话时,为什么我的插件无法加载?

Vim会话默认捕捉所有全局选项,包括 ‘runtimepath’那个pathogen.vim操作。这也可能导致其他问题,所以我建议关闭该行为:

set sessionoptions-=options

Supertab(用来补全代码的插件,它允许你使用来满足你所有的插入完成需求)

有了pathogen的基础后,我们只需要将插件包复制到bundle中就可以了,这个不需要特别的配置;

syntastic(语法检查的一个插件)

安装的话就是将插件包复制到bundle中就可以了

将下面的配置文件复制到.vimrc中:

execute pathogen#infect()

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

"从根目录加载文件:
function! FindConfig(prefix, what, where)
let cfg = findfile(a:what, escape(a:where, ' ') . ';')
return cfg !=# '' ? ' ' . a:prefix . ' ' . shellescape(cfg) : ''
endfunction

autocmd FileType javascript let b:syntastic_javascript_jscs_args =
\ get(g:, 'syntastic_javascript_jscs_args', '') .
\ FindConfig('-c', '.jscsrc', expand(':p:h', 1))

auto-pairs(自动添加成对符号)

安装同理

SnipMate(补全代码段)

将插件包复制到bundle中后,在终端中运行下面这几行:

 % cd ~/.vim/bundle
 % git clone https://github.com/tomtom/tlib_vim.git
 % git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
 % git clone https://github.com/garbas/vim-snipmate.git

 # Optional:
 % git clone https://github.com/honza/vim-snippets.git

然后将以下内容添加到您的vimrc然后运行 :PluginInstall

  Plugin 'MarcWeber/vim-addon-mw-utils'
  Plugin 'tomtom/tlib_vim'
  Plugin 'garbas/vim-snipmate'

  " Optional:
  Plugin 'honza/vim-snippets'

NERDTree(文件系统浏览器插件)

使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件进行读取或编辑,并执行基本的文件系统操作。

安装同理

下面是NERDTree的配置文件:

" NERD tree
let NERDChristmasTree=0
let NERDTreeWinSize=25
let NERDTreeChDirMode=2
let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
let NERDTreeShowBookmarks=1
let NERDTreeWinPos="left"
" Automatically open a NERDTree if no files where specified
autocmd vimenter * if !argc() | NERDTree | endif
" Close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
"Open a NERDTree
nmap  :NERDTreeToggle"

MiniBufferExplorer(支持同时打开多个文件,一个好的缓冲区管理器)

安装同理

将下面的配置文件添加到.vimrc中即可

  let g:miniBufExplMapWindowNavVim = 1 
  let g:miniBufExplMapWindowNavArrows = 1 
  let g:miniBufExplMapCTabSwitchBufs = 1 
  let g:miniBufExplModSelTarget = 1 

undotree(存放修改的历史,你可以从中查看编辑过程)

使用:UndotreeToggle切换撤销树面板。你可能想把这个命令映射到任何热键,把下面的行加到你的vimrc中,例如F5。

nnoremap :UndotreeToggle

将下面的配置文件添加到你的.vimrc中

if has("persistent_undo")
    set undodir=~/.undodir/
    set undofile
endif

gdb调试器

makedown-vim插件

你首先需要安装npm的node.js。然后:

[sudo] npm -g install instant-markdown-d

如果您在Linux上,请确保安装了以下软件包:

xdg-utils
curl
nodejs-legacy (对于基于Debian的系统)

将after/ftplugin/markdown/instant-markdown.vim文件复制到你的~/.vim/after/ftplugin/markdown/(根据需要创建目录),或者按照你的vim包管理器的说明。

将一下内容加入你的.vimrc文件

filetype plugin on

"配置
"let g:instant_markdown_slow = 1 "关闭实时更新
let g:instant_markdown_autostart = 0 "手动进行预览:InstantMarkdownPreview
let g:instant_markdown_open_to_the_world = 1 "使服务器可用于网络的其他人
let g:instant_markdown_allow_unsafe_content = 1 "允许脚本运行
"let g:instant_markdown_allow_external_content = 0 "不允许加在外部资源,如图片、样式表等

你可能感兴趣的:(Linux,随笔)