目录

文章目录

  • 目录
  • Zsh
  • oh-my-zsh
  • VIM
  • Ctags(函数跳转)
  • Cscope(函数跳转增强)
  • Vundle(插件管理器)
    • NERD Tree(代码目录树)
    • Tagbar(代码符号)
    • YouCompleteMe(代码补全)
    • python-mode(Python 开发支持)
    • Syntastic(语法检查)
    • vim-easymotion(快速移动光标)
  • Dotfiles

Zsh

编译安装高版本的 Zsh

yum remove zshyum update -y
yum install -y git make ncurses-devel gcc autoconf mangit 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.fnscommand -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

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 -ygit 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/vimmake && 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.vimvim +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 zshcd ~/.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

Linux VIM IDE相关推荐

  1. linux vim命令_提升生产力的20大Linux Vim命令

    linux vim命令 VIM or the Vi Improved text editor is one of the most advanced text editors available. L ...

  2. linux vim 可视块,linux vim的可视模式

    linux vim的可视模式 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有.如果您在学习中遇到问题欢迎在下面的评论中留言,我们会 ...

  3. linux vim 执行shell命令行,Linux中vim和shell

    在Linux系统中一切皆文件,配置服务其实就是在修改其配置文件的参数,而在日常文件中肯定少不了的就是编辑文档,这就离不开vim,而vim之所以能够得到广大厂商的青睐与用户的认可,原因在于vim编辑器中 ...

  4. 撤销 恢复快捷键 Linux,Linux Vim撤销和恢复撤销快捷键用法详解

    使用 Vim 编辑文件内容时,经常会有如下 2 种需求: 对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子. 将文件内容恢复之后,经过仔细考虑,又感觉还是刚 ...

  5. Linux Vim显示行号方法详解

    在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便. 在命令模式下输入":set nu"即可显示每一行的行号,如图 ...

  6. Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解

    通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器. 我们首选的文本编辑器是 Vim(至于为什么,可查看<Vi和Vim的区 ...

  7. Linux Vim基本操作(文件的打开和编辑)完全攻略(有图有真相)

    <Vim三种工作模式>一节给大家详细介绍了 Vim 的 3 种工作模式,本节来学习如何使用 Vim 编辑文件. 首先学习如何使用 Vim 打开文件. Vim 打开文件 使用 Vim 打开文 ...

  8. linux vim 删除 h,Linux VIM 的使用快捷键之删除, 复制, 粘贴

    Linux VIM 的使用快捷键之删除, 复制, 粘贴 注: 以下删除, 复制和粘贴均是在非编辑模式下的操作 (esc) 一, 删除 x 小写的 x 表示向后删除一个字符, 也就是删除光标所在字符 n ...

  9. vim autoformat php,Linux Vim代码格式化/美化插件vim-autoformat安装

    vim-autoformat是Vim的一款代码自动化格式插件,vim-autoformat会根据文件的后缀,自动调用相应的相应命令进行代码格式化.所以,安装vim-autoformat的同时,还需要安 ...

最新文章

  1. introduction to mechanism
  2. 【翻译自mos文章】OGG的集成捕捉模式支持Oracle database标准版么?
  3. scala-wordcount
  4. 边缘计算 | 阿里边缘云原生平台研发工程师招聘
  5. 深度学习行人重识别综述与展望
  6. 脚本安装Rocky版OpenStack 1控制节点+1计算节点环境部署
  7. [oracle原]访问局域网内出现“ORA-12541:TNS:无监听程序”
  8. 拉格朗日(lagrange)插值及其MATLAB程序
  9. 推荐一个原型设计工具Balsamiq Mockups
  10. models.fasttext - FastText模型
  11. vue-router的编程式导航
  12. IAR for MSP430 关于添加自定义头文件的两种方法【转】
  13. 液压系统和阀的动画,让复杂工作原理看起来更加简单明了!
  14. 国内外自媒体短视频平台有哪些?又有哪些适合个人赚钱的呢?
  15. python去除图片背景_Python 图片去除背景
  16. 计算机英特尔显卡在哪找,Win10英特尔显卡设置图标不见了该怎么办 - 系统之家...
  17. php学习日志(5)-解决Windows Live Writer错误:WindowsLive.Writer.CoreServices.HttpRequestHelper的类型初始值设定发生异常...
  18. EI检索ISTP检索ICFMD 2011年制造与设计科学技术会议
  19. Java入门教程笔记07(面向对象基础)
  20. Boostrap nav和navbar的详细使用

热门文章

  1. arcgis运行python脚本一段时间后会卡,为什么这个python多处理脚本在一段时间后会变慢?...
  2. python readline_python3读取文件时readline()和read()的区别
  3. python中yaml模块的使用_Python中Pyyaml模块的使用
  4. Face ID 上手体验信息汇总:面部解锁流畅,原理移植AR让人憧憬
  5. [unreal4入门系列之八] 使用VS编译UE4编辑器并添加物体到场景中
  6. 分分钟get「隔空传手」技能,网友:我想试试别的东西…
  7. 任天堂经典拳击游戏可以体感操作了,打开网页就能玩,击败泰森不是梦
  8. 只是pip安装输错字母,你就可能中了挖矿病毒
  9. MIT:这双AI袜子,暴露了你的行动丨Nature子刊
  10. 更精准地生成字幕!哥大Facebook开发AI新框架,多模态融合,性能更强