vim @ ubuntu环境配置

来源:互联网 发布:网络传销崩盘前兆 编辑:程序博客网 时间:2024/06/06 06:34

记录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 vidrwxr-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() # initializeBundle '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. 自动补全问题

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

  • 关键字补全
    Bundle ‘Shougo/neocomplcache’
  • html标签补全
    Bundle ‘mattn/emmet-vim’
  • 补全引号、括号等
    Bundle ‘Raimondi/delimitMate’
  • 插入时使用tab键补全
    Bundle ‘ervandew/supertab’

看来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 schemeset background=darkcolor solarized  ## 这里可以修改主题,这个默认solarized主题确实很漂亮,但貌似有点看不清楚
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ipad安装不了软件怎么办 手机卡出错误了怎么办 电脑同步车错误怎么办 无线标志没有了怎么办 电脑时间同步出错怎么办 苹果手机更新完太卡怎么办 桌面时间删除了怎么办 去泰国旅游打电话怎么办 快递短信没收到怎么办 三星s6网络差怎么办 10010被拦截了怎么办 宽带ip地址错误怎么办 出国收不到短信怎么办 电脑没有ip地址怎么办? 没有有效ip配置怎么办 手机没有短信了怎么办 验证码短信轰炸怎么办 桌面没有微信怎么办 黑到美国怎么办手机卡 饿了怎么办类似bl 老鼠偷吃玉米怎么办 狗吃葡萄了怎么办 在学校被偷拍怎么办 海尔电视媒体格式不支持怎么办 秀米链接失效怎么办 电脑显示域名解析错误怎么办 乐视pro1刷错包黑屏怎么办 任务失败文件不存在怎么办 种子密码不知道怎么办 电脑粘贴不能用怎么办 同房后吃药怀孕怎么办 微信号找不到密码怎么办 差钱找不到人怎么办 无人化时代人怎么办 穆斯林斋月饿了怎么办 羊拉屎成坨粘屁股怎么办 屁股上长猴子怎么办 恋人有隔阂应该怎么办 金色的表壳掉色怎么办 欧米茄手表不走了怎么办 手表里面生锈了怎么办