Linux VIM IDE

目录

Zsh

编译安装高版本的 Zsh

yum remove zsh

yum update -y
yum install -y git make ncurses-devel gcc autoconf man

git clone -b zsh-5.7.1 https://github.com/zsh-users/zsh.git /opt/zsh
cd /opt/zsh
./Util/preconfig
./configure
make -j 20 install.bin install.modules install.fns

command -v zsh | tee -a /etc/shells
chsh -s /usr/local/bin/zsh

oh-my-zsh

安装

# 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

使用 powerlevel10k 主题https://github.com/Powerlevel9k/powerlevel9k/wiki/Show-Off-Your-Config):

$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

$ vim ~/.zshrc
...
ZSH_THEME="powerlevel10k/powerlevel10k"

source ~/.zshrc

CLI Prompt(可选):

$ cat ~/.zshrc | grep ZSH_THEME
ZSH_THEME="robbyrussell"

$ cat ~/.oh-my-zsh/themes/robbyrussell.zsh-theme
#PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ ) %{$fg[cyan]%}%c%{$reset_color%}"
#PROMPT+=' $(git_prompt_info)'
PROMPT='%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )${ret_status} %{$fg[cyan]%}%d%{$reset_color%} $(git_prompt_info)'

VIM

这里写图片描述

安装支持 Python3 的 VIM8

yum remove vim-*
yum install git -y
yum install gcc gcc-c++ -y
yum install ncurses-devel -y
yum install python3 python3-devel python-devel -y

git clone --depth 1 https://github.com/vim/vim /opt/vim
cd /opt/vim

./configure --with-features=huge \
            --enable-multibyte \
            --enable-pythoninterp=yes \
            --enable-python3interp=yes \
            --with-python-config-dir=/usr/lib64/python2.7/config \
            --with-python3-config-dir=/usr/lib64/python3.6/config-3.6m-x86_64-linux-gnu \
            --enable-gui=gtk2 \
            --enable-cscope \
            --prefix=/usr/local/vim

make && make install

修改环境变量:

echo "export PATH=$PATH:/usr/local/vim/bin" >> ~/.zshrc
source ~/.zshrc
vim --version | grep python

Ctags(函数跳转)

Ctags(Generate tag files for source code)是 VIM 下的一款源码分析利器,默认安装在 VIM 中,但也有可能需要手动安装。

安装

$ yum install ctags -y
ln -s /usr/bin/ctags /usr/local/bin/ctags

使用

  1. 在源代码的上级目录,通常是项目的顶级目录执行指令:
ctags -R *
  1. 上述指令会生成 tags 文件,记录了所有函数的记录信息。
  2. 在 tags 文件所在的路径下打开源码文件,光标移至函数名处,快捷键 CTRL+] 进入函数。
  3. 快捷键 CTRL+t 退出函数,返回进入原点。

ctags -R * 这条命令会在当前目录下产生一个 tags 文件,当用户在当前目录中运行 vi/vim 时,就会自动载入此 tags 文件。其中的 -R 选项表示递归创建,包括源代码根目录(当前目录)下的所有子目录。

tags 文件中包括以下对象:

  • 枚举型变量的值
  • 函数的定义、原型和声明
  • 命名空间(namespace)
  • 类型定义(typedefs)
  • 变量(包括定义和声明)
  • 类(class)、结构(struct)、枚举类型(enum)和联合(union)
  • 类、结构和联合中的成员变量

注意,运行 vim 时,必须在 tags 文件所在的目录下运行,否则在 vim 启动后执行指令 :settags=<tags_path>。显然,这样并不方便,所以可以通过修改 .vimrc 来解决这一问题:

" ctags setting
set tags+=/root/workspace/{project_name}/tags

Cscope(函数跳转增强)

Cscope 是类似于 ctags 一样的工具,可以认为是 ctags 的增强版。

查看 VIM 是否支持 Cscope:

$ vim --version | grep cscope

安装

yum install cscope -y

Vundle(插件管理器)

安装

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

vim +PluginInstall +qall

NERD Tree(代码目录树)

NERD Tree 提供的项目目录结构浏览功能,极大的加强了开发者对整个项目目录结构的辨识和把控。

安装

Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'ryanoasis/vim-devicons'
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'

NOTE:nerdtree-git-plugin 要求 git version == 2.30.1。

yum remove "git*"
yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
yum install git

Tagbar(代码符号)

符号(Symbol)窗口列出了当前文件中的宏、全局变量、函数、类等信息,使用光标选择就能够跳转相应源代码的位置,非常便捷。

安装

Plugin 'majutsushi/tagbar'

YouCompleteMe(代码补全)

YouCompleteMe 是一款快速、即用型的模糊搜索代码补全引擎,包括了以下几种引擎:

  • 基于标识符的引擎,可与每种编程语言一起使用。
  • 基于 UltiSnips 的代码片补全。
  • 基于 Jedi 的 Python 2/3 补全。
  • 基于 Clang 的 C 系列补全。
  • 基于 Golang gocode 和 godef 的补全。
  • 基于 racer 的 Rust 补全。
  • 基于 OmniSharp 的 C# 补全。
  • 基于 TSServer 的 TypeScript 补全。
  • 基于 Tern 的 JavaScript 补全。
  • 基于 jdt.ls 的 Java 补全。
  • 基于 omnifunc 的 Ruby,PHP 补全。

安装

yum install gcc gcc-c++ g++ python3-devel
pip2 intall cmake

# 安装 devtoolset-8-gcc-c++
yum install yum-utils -y 
yum install centos-release-scl -y
yum-config-manager --enable rhel-server-rhscl-8-rpms
yum install devtoolset-8 -y
scl enable devtoolset-8 zsh

cd ~/.vim/bundle/YouCompleteMe
python3 ./install.py --clang-completer

python-mode(Python 开发支持)

python-mode 支持一下 Python 开发支持:

  • 支持 Python2.6+ 及 Python3.2+
  • 支持语法高亮
  • 支持 virtualenv
  • 支持代码折叠
  • 支持自动缩进
  • 支持在 Vim 中直接运行 Python 程序 (<leader>r)
  • 支持增加/删除 DEBUG 断点 (<leader>b)
  • 支持语法静态检查 (:PymodeLint)
  • 支持自动修复 PEP8 错误 (:PymodeLintAuto)
  • 支持代码自动补全
  • 支持在 Python documentation 中进行搜索 (<leader>K)
  • 支持跳转到定义处 (<C-c>g)
  • 支持鼠标移动
    • [[:跳到上一个类或函数
    • ]]:跳到下一个类或函数
    • [M:跳到上一个类或方法
    • ]M:跳到下一个类或方法
  • 支持代码重构

安装

Plugin 'python-mode/python-mode'

NOTE:当使用 Pylint 作为静态检查 checker 时,需要先安装 Pylint。

pip3 install pylint

Syntastic(语法检查)

Syntastic 是老牌的语法检查插件,它通过外部语法检查器运行文件,并向用户显示任何结果错误,可以按需完成,也可以自动保存文件。

打开对应文件时,Syntastic 会自动进行语法检查,高亮错误的位置。虽然性能不及 ale,但兼容性要更好一些,支持大部分的语言(https://github.com/vim-syntastic/syntastic#1-introduction)。

注意,针对某些具体语言,指定了 checker,需要对应安装外部依赖,例如:pyflakes、pep8、jshint、golint 等。

vim-easymotion(快速移动光标)


参考:http://www.wklken.me/posts/2015/06/07/vim-plugin-easymotion.html

Dotfiles

dotfiles(点文件)顾名思义就是文件名前缀带 . 的文件,因为这类文件在 Linux 中一般为与系统环境相关的隐藏文件,例如:.vimrc、.bashrc、.profile、.bash_profile,所以在一定程度上 ditfiles 代表了 Linux 系统环境的个性化配置。

简而言之就是,如果在另外一台计算机中同步了这些 dotfiles 就能拥有与你自己的计算机基本一致的环境设置。了而且 dotfiles + Github 就能够实现只要有网络,那么所有的计算机都能够变成自己熟悉且习惯的样子。

git clone https://github.com/JmilkFan/dotfiles.git
ln -s dotfiles/.vimrc ~/.vimrc
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值