vim @ ubuntu环境配置

记录vim @ ubuntu环境配置

工作中会零零星星用到vim, 主要是处理linux上的一些编辑问题,但很少直接在工作中用vim写程序。当然,有些公司是用vim写程序的,主要是那些经常使用脚本(比如pythonphp)的公司。不使用键盘真的可以极大的提高编辑效率和避免思路被打断,所以我一直试图使用vim来编写程序。这几天有空,在移动硬盘上安装了ubuntu, 尝试来配置一个好用的vim环境,以后有需要就可以直接启动到我移动硬盘上的ubuntu系统(虽然用虚拟机vmware或virtualbox也可以,但是感觉有点卡)来使用。不得不说,`ubuntu linux做的还是相当漂亮的!

1. 安装dot-vimrc

虽然直接自己配置vim配置文件也是可以的,我之前配置过,但是由于没有深究,总的来说不是很满意,也不是很美观。我发现github上有很多可用的配置,比如用这个dot-vimrc, 按着说明一步步来:

$ sudo apt-get install vim
$ sudo apt-get install vim-gtk  
$ sudo apt-get install ack-grep ctags
$ git clone git://github.com/humiaozuzu/dot-vimrc.git ~/.vim #.vim这个目录都是从github下载的
$ ln -s ~/.vim/vimrc ~/.vimrc
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle # 安装vbundle
$ vi  
# then in vim :BundleInstall 

使用之前可以到vim_tutorial先复习一下vim的小知识。

真的很方便,现在使用下vim编辑下python吧。

python无法自动补全??

看github作者的描述,应该可以自动补全的呀?是哪里没有配置对吗?对本文件中出现的符号可以补全,但是对库中的没有提示。由于对vim的具体插件原理不太了解,不知道咋解决。本想着使用github的配置可以不用具体研究这部分内容的,看来要真正的让vim为自己解决问题,还是要下功夫了解下vim的插件配置方法,这样才能借鉴别人的配置。

2. 了解vim的配置文件

好吧,那我们先来研究一下vim的基本配置吧。
有个神奇的命令 vim --version ,里面有vim的功能列表,和vim的编译命令行,还有配置文件的信息:

     系统 vimrc 文件: "$VIM/vimrc"
     用户 vimrc 文件: "$HOME/.vimrc" # 这个就是我们关心的用户使用的配置文件!就在用户目录~

进去用户目录看看有哪些vi相关配置:

$ ls ~ -al | grep vi
drwxr-xr-x  5 szw  szw   4096 103 22:04 .vim   #目录
-rw-------  1 szw  szw  12819 107 12:29 .viminfo 
lrwxrwxrwx  1 szw  szw     20 103 20:48 .vimrc -> /home/szw/.vim/vimrc #配置文件
$ vi .vimrc #打开配置文件

可以看到这个文件实际上已经被ln -s ~/.vim/vimrc ~/.vimrc链接到了~/.vim/vimrc, 而且内容是刚从github下载下来的。

vimrc

vimrc实际上是用vim script写的配置脚本。这种脚本语言的语法可以参考learnvimscriptthehardway

那么viminfo是干嘛的呢,还是打开看一下vi ~/.vim/vimrc:

.viminfo文件

这是vim自己产生的文件,包含命令历史记录子类的运行信息。看来不用我操心了。那看下.vim 下面都有些啥吧:

:~/.vim$ ls -al  # 这个是从github目录克隆下来的
drwxr-xr-x 43 szw szw  4096 107 12:15 bundle # bundle插件管理(关心
-rw-r--r--  1 szw szw  2535 103 20:48 bundles.vim # bundle插件管理 (关心)
drwxr-xr-x  8 szw szw  4096 103 20:48 .git # git 使用
-rw-r--r--  1 szw szw   318 103 20:48 .gitignore # git 使用
-rw-r--r--  1 szw szw  9472 103 20:48 README.md # 说明文件
drwxr-xr-x  2 szw szw  4096 103 20:48 screenshots #截图
-rw-r--r--  1 szw szw  8391 103 20:48 vimrc  # vim配置文件 (关心)

有三个我们关心的文件和目录。其中,vimrc是刚才看过的配置文件,bundles*具体是些什么呢?

3. 了解vundle插件管理

如上图,在vimrc的第一行source ~/.vim/bundles.vim 实际是载入了bundles.vim 的配置,也就是说bundles.vim其实就是vimrc文件的一部分啦。那我们看看这个文件里面都有啥,在这之前先了解下vbundle

下面是vundle的安装命令:

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim #安装vundle.和之前的命令有差距哦? 浏览器中试了一下https://github.com/gmarik/vundle.git 其实会重定向到 https://github.com/VundleVim/Vundle.vim.git,可能是改了url了?

vbundle 是 vim bundle的简写,是一个 Vim 插件管理器. 详见 Vundle.vim
注意看3 Configure Plugins: Put this at the top of your .vimrc to use Vundle. 这部分其
实说明了bundles.vim的内容

打开bundles.vim,里面比较关键的一行:

set rtp+=~/.vim/bundle/vundle/ # set the runtime path to include Vundle 这个目录就是vundle安装的位置
call vundle#rc() # initialize

Bundle 'Shougo/neocomplcache' ## 配置的插件,见https://github.com/Shougo/neocomplcache.vim
...

看看这个目录:

~/.vim/bundle/vundle$ git remote -v #远程库地址
origin  https://github.com/gmarik/vundle.git (fetch)
origin  https://github.com/gmarik/vundle.git (push)
~/.vim/bundle/vundle$ ls  # 和github上一样
autoload  changelog.md  CONTRIBUTING.md  doc  ftplugin  LICENSE-MIT.txt  README_KR.md  README.md  README_ZH_CN.md  README_ZH_TW.md  syntax  test

4. 自动补全问题

好了,基本的配置文件已经搞清楚了,现在看看不能自动补全的问题, 下面分析下相关插件配置:

看来neocomplcache才是和python补全相关的。

检查dot-vimrc文档,在Code Completions -> Dependencies中,需要Compile Vim with –enable-pythoninterp。vim --version 检查没有。好吧,那就重新编译吧。记得在重新编译前要把当前安装的vim删除。

$ sudo apt remove vim vim-runtime vim-tiny vim-common vim-gui-common
$ sudo apt install python3.6-dev
$ git clone https://github.com/vim/vim.git
$ sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
  libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
  libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
  python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git
$ ./configure --with-features=huge \
  --enable-multibyte \
  --enable-rubyinterp=yes \
  --enable-pythoninterp=yes \
  --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \
  --enable-python3interp=yes \
  --with-python3-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu \
  --enable-perlinterp=yes \
  --enable-luainterp=yes \
  --enable-gui=gtk2 --enable-cscope --prefix=/usr
$ make VIMRUNTIMEDIR=/usr/share/vim/vim80
$ sudo make install

再编辑python可以正常提示了, 好吧,终于解决了问题:
python 补全正常

5. 主题 color scheme

在命令行模式下输入:color 可以看到当前的主题是solaried, 这个主题有点看不太清楚。在vimrc 文件中可以设置:

"--------
" Vim UI
"--------
" color scheme
set background=dark
color solarized  ## 这里可以修改主题,这个默认solarized主题确实很漂亮,但貌似有点看不清楚
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值