您的位置:首页 > 其它

打造自己的VIM IDE

2018-01-18 22:49 274 查看

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('<afile>: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 <F5> :NERDTreeToggle<cr>"


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 "不允许加在外部资源,如图片、样式表等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: