美文网首页Python
对vim的简单配置

对vim的简单配置

作者: 简讯Alfred | 来源:发表于2017-05-16 21:22 被阅读385次

花了点时间研究了强(zhuang)大(bi)的编辑器vim,简单的配置了一下,并记录下心得。不过这只是学习的开始,想要打造真正属于自己的编辑器还得不断学习。

安装

珍爱生命,远离折腾。

首先从安装开始,ubuntu系统应该都会带有vim,如果没有,就输入以下命令安装:

sudo apt-get install vim-gtk

ubuntu安装一向很简单。安装好vim就证明你马上就要入坑了!

命令行输入vim,最初的界面是这样的:

原始界面

配置完成的界面是这样的:

配置后界面

快捷键

vim的高效之处在于可以脱离鼠标,使用键盘操作一切。对熟练掌握vim的程序员来说,减少鼠标的使用会节省大量的时间,提高效率。

vimrc

Github地址:https://github.com/alpha87/vimrc

这是最初的配置文件,配置比较简陋,但是写一些简单的代码足够了。

命令行输入:

sudo vim ~/.vimrc

即可打开配置文件,编辑:

" AlPha-vim-config
" http://alpha87.cn
" 最新配置见 github

" 非vi
""""""""""""""""""""
set nocompatible

" 中文帮助
""""""""""""""""""""
set helplang=cn

" 查找时自动跳转
""""""""""""""""""""
set incsearch

" 查找不区分大小写
"""""""""""""""""""
set ignorecase

" 代码缩进
""""""""""""""""""""
set tabstop=4
set softtabstop=4
set shiftwidth=4
set textwidth=79
set expandtab
set autoindent
set fileformat=unix

" 系统剪贴板
""""""""""""""""""""
set clipboard=unnamed

" 修改编码
""""""""""""""""""""
set encoding=utf-8

"关闭代码折叠
""""""""""""""""""""
set nofoldenable

" 修改配色
""""""""""""""""""""
colorscheme elflord

" 显示行号
""""""""""""""""""""
set number

" 突出显示当前栏
""""""""""""""""""""
map <leader>c :set cursorline!<cr>
set cursorline

" 隐藏滚动条
""""""""""""""""""""
set guioptions-=r
set guioptions-=L
set guioptions-=b

" 语法高亮
""""""""""""""""""""
syntax on
set hlsearch
let python_highlight_all = 1
let g:pymode_syntax = 1
let g:pymode_syntax_all = 1
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
let g:pymode_syntax_space_errors = g:pymode_syntax_all

" Vundle 插件管理
""""""""""""""""""""
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Bundle 'Raimondi/delimitMate'
Bundle 'kien/rainbow_parentheses.vim'
Bundle 'Lokaltog/vim-powerline'
Plugin 'scrooloose/nerdtree'
Plugin 'Yggdroot/indentLine'
Plugin 'Valloric/YouCompleteMe'
Bundle "klen/python-mode"
Bundle 'nvie/vim-flake8'
Bundle 'bronson/vim-trailing-whitespace'
Bundle 'hdima/python-syntax'
Bundle 'kien/ctrlp.vim'
call vundle#end()
filetype plugin indent on

" 文件搜索
"""""""""""""""""""
" 打开ctrlp搜索
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 相当于mru功能,show recently opened files
map <leader>fp :CtrlPMRU<CR>
"set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux"
let g:ctrlp_custom_ignore = {
    \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',
    \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz)$',
    \ }
"\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',
let g:ctrlp_working_path_mode=0
let g:ctrlp_match_window_bottom=1
let g:ctrlp_max_height=15
let g:ctrlp_match_window_reversed=0
let g:ctrlp_mruf_max=500
let g:ctrlp_follow_symlinks=1

" 状态栏
"""""""""""""""""""
let g:Powerline_symbols = 'unicode'

" 标志无效空格
"""""""""""""""""""
map <leader><space> :FixWhitespace<cr>
" \+space去掉末尾空格

" 缩进指示线 indentLine
"""""""""""""""""""
map <leader>i :IndentLinesToggle<cr>
" \+i 关闭缩进指示线,再按开启
let g:indentLine_char = '┆'
let g:indentLine_enabled = 1

" 目录树 nerdtree F2开启和关闭树"
"""""""""""""""""""
map <F2> :NERDTreeToggle<CR>
let NERDTreeChDirMode=1
" 显示书签"
let NERDTreeShowBookmarks=1
" 设置忽略文件类型"
let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
" 窗口大小"
let NERDTreeWinSize=25

" YCM
"""""""""""""""""":
" 默认配置文件路径"
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
" 打开vim时不再询问是否加载ycm_extra_conf.py配置"
let g:ycm_confirm_extra_conf=0
set completeopt=longest,menu
" python解释器路径 \+r 运行程序
let g:ycm_path_to_python_interpreter='/usr/bin/python'
" 是否开启语义补全"
let g:ycm_seed_identifiers_with_syntax=1
" 是否在注释中也开启补全"
let g:ycm_complete_in_comments=1
let g:ycm_collect_identifiers_from_comments_and_strings = 0
" 开始补全的字符数"
let g:ycm_min_num_of_chars_for_completion=1
" 补全后自动关机预览窗口"
let g:ycm_autoclose_preview_window_after_completion=1
" 禁止缓存匹配项,每次都重新生成匹配项"
let g:ycm_cache_omnifunc=0
" 字符串中也开启补全"
let g:ycm_complete_in_strings = 1
" 离开插入模式后自动关闭预览窗口"
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
" 上下左右键行为"
inoremap <expr> <Down>     pumvisible() ? '\<C-n>' : '\<Down>'
inoremap <expr> <Up>       pumvisible() ? '\<C-p>' : '\<Up>'
inoremap <expr> <PageDown> pumvisible() ? '\<PageDown>\<C-p>\<C-n>' : '\<PageDown>'
inoremap <expr> <PageUp>   pumvisible() ? '\<PageUp>\<C-p>\<C-n>' : '\<PageUp>'

" 括号匹配高亮
"""""""""""""""""
let g:rbpt_colorpairs = [
    \ ['brown',       'RoyalBlue3'],
    \ ['Darkblue',    'SeaGreen3'],
    \ ['darkgray',    'DarkOrchid3'],
    \ ['darkgreen',   'firebrick3'],
    \ ['darkcyan',    'RoyalBlue3'],
    \ ['darkred',     'SeaGreen3'],
    \ ['darkmagenta', 'DarkOrchid3'],
    \ ['brown',       'firebrick3'],
    \ ['gray',        'RoyalBlue3'],
    \ ['black',       'SeaGreen3'],
    \ ['darkmagenta', 'DarkOrchid3'],
    \ ['Darkblue',    'firebrick3'],
    \ ['darkgreen',   'RoyalBlue3'],
    \ ['darkcyan',    'SeaGreen3'],
    \ ['darkred',     'DarkOrchid3'],
    \ ['red',         'firebrick3'],
    \ ]
let g:rbpt_max = 40
let g:rbpt_loadcmd_toggle = 0

" 括号自动补全
""""""""""""""""""
au FileType python let b:delimitMate_nesting_quotes = ['"']

这份配置文件只涉及到比较基础的功能,代码提示,快速运行,编码缩进等。需要注意的是代码提示在导入模块的时候不会提示,但是在之后的使用过程中会提示。这也有利于你记住导入包的名字啊,抛开pycharm,让你真正写代码的时候发现模块都不会拼写,多尴尬!

多行注释及取消注释

多行注释:

  1. 进入命令行模式,按ctrl + v进入 -visual block- 模式,选中多行,把需要注释的行标记起来;

  2. 按大写字母I,再插入注释符,例如 #;

  3. esc键(等1秒钟后)全部注释。

取消多行注释:

  1. 进入命令行模式,按ctrl + v进入 -visual block- 模式,选中列的个数;

  2. 按字母j,或者k选中注释符号;

  3. d键就可全部取消注释。

相关文章

  • 对vim的简单配置

    花了点时间研究了强(zhuang)大(bi)的编辑器vim,简单的配置了一下,并记录下心得。不过这只是学习的开始,...

  • vim 个性化配置二

    由于之前对vim做了一些简单的配置, 很多东西没有想起来, 就一直没有配置. 在后面的实际有vim写代码的时候发现...

  • vim配置试水1

    今天决定装逼搞一下vim的配置。从同事那里拷来一个简单可用的vim配置,简单如下: syntax enablesy...

  • vim 简单配置

    "根据设置的顺序来猜测所打开文件的编码set fileencodings=utf-8,ucs-bom,gb1803...

  • vim简单配置

  • VIM简单配置

    vi ~/.vimrc TAB与空格互换 TAB替换为空格: 空格替换为TAB: 列操作 + v 进...

  • vim 简单配置

    关于 vim 更加详细的配置直接参考下面给出的两个链接即可。k-vim 服务器端无插件k-vim简化版本 关闭自动...

  • vim配置文件推荐

    记录下我的vim简单配置,防止我忘了 环境:deepin 15.5 vim版本:8.0 语法包支持:Python,...

  • CentOS7-vim8安装

    1.卸载原有的vim 2.使用Git下载vim8源码 Git的简单配置可以参考CentOS7-Git配置 3.安装...

  • Vim编辑器配置

    VIM 配置 说明 下面是vim 神器的一些个设置和配置,基本原则是尽量少用插件安装,安装插件具有简单复制性,on...

网友评论

    本文标题:对vim的简单配置

    本文链接:https://www.haomeiwen.com/subject/xthrxxtx.html