热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CLIfe:我的高效开发环境配置

在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如BorlandDelphi和MicrosoftVisualStudio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。

像许多其他人一样,我已经开始使用大型,强大,笨拙的IDE进行编程之旅。 我曾经使用过Borland Delphi,MS VS,Netbeans,Eclipse,IntelliJ IDEA等。随着时间的流逝,我更多地涉足Web开发,因此我选择了更简单的选项。 一段时间以来,我选择的编辑器是Sublime Text 。 大约三年前,我已经完全迁移到Vim , Tmux和其他非GUI工具,到目前为止,我已经完全爱上了它们!

有两件事触发了迁移。 首先,在我的新工作中,我们所有人都有用于远程工作的笔记本电脑,但是大部分开发工作都是在办公室中功能强大的固定工作站上进行的。 在不稳定的互联网连接上使用SSHFSVNC 麻烦很多 ,因此我需要一个更好的选择。 其次,我正在做越来越多的DevOps这类工作,这需要我每天在数十台远程计算机上编辑文件,而Vi是世界上唯一可用的编辑器。 切换到Vim为我解决了这两个问题,在我发现了人体工程学和插件生态系统之后 ,我完全放弃了Sublime作为我的主要编辑器。 最近,我注意到越来越多的人在看到我的屏幕时询问我的设置,因此我决定在博客文章中分享它。

安装Neovim

Neovim是一个雄心勃勃的项目, 旨在从头开始重构27岁的Vim代码库。 您可以在此处阅读有关他们愿景的更多信息。
根据操作系统的不同,安装Neovim的方法有所不同,因此最好参考原始指南 。 从这里开始,我假设使用Ubuntu 18.04 ,但是大多数配置将独立于操作系统,只有安装步骤有所不同。
Ubuntu 18.04中, Neovim已包含在发行版中,因此您可以执行以下操作

sudo apt-get install neovim

Mac OS上 ,可以通过Homebrew使用 :

brew install neovim

要调用Neovim ,您需要调用nvim ,它比vim长一个字母,并且与只有常规vim的机器不兼容。 要解决此问题,您可以在rc脚本中定义一个别名:

alias vim='nvim'

我个人选择了一种顽固的方式:删除/usr/bin/vim并用指向Neovim的符号链接替换它:

sudo rm /usr/bin/vim && sudo ln -s /usr/bin/nvim /usr/bin/vim

安装插头

在使用Vim进行其他操作之前,最好先安装插件管理器。 我选择了vim-plug ,因为它非常简约并且仍然可以完成工作。 要安装Neovim 插件 :

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Vim-plug是唯一需要手动添加的插件,其余的将通过Plug安装。

安装Tmux

接下来要配置的是Tmux 。 Tmux是终端多路复用器,它使我们能够执行以下关键操作:

  • 将终端窗口分为水平和垂直面板
  • 将单个终端拆分为多个窗口
  • 即使我们丢失了SSH连接,也要使Tmux中运行的所有进程保持活动状态。

Tmux在远程端运行(如果我们在谈论远程计算机上的开发),它本身又分为tmux-servertmux-client 。 通过SSH连接到工作站时,首先启动tmux-client ,然后将其连接到tmux-server ,该服务器与守护程序在同一台计算机上运行。 当连接断开时, SSH仅终止tmux-client部分,因为它是SSH进程启动的唯一子级。 现在,在Ubuntu 18.04上 , 发行版中已经包含了足够新的Tmux ,所以只需执行以下操作:

sudo apt-get install tmux

在其他平台上,请确保您正在安装tmux >= 2.0 ,因为我的配置中的某些内容与旧版本不兼容。

安装Zsh

与bash相比,我更喜欢Zsh ,因为它提供了一些额外的功能:命令历史记录,在所有正在运行的shell中共享,更高级的命令自动完成功能以及可通过oh-my-zsh进行扩展的功能 。 在Ubuntu上运行:

sudo apt-get install zsh

然后将其设为用户的默认外壳程序:

chsh -s /bin/zsh

(然后重新登录)

添加oh-my-zsh :

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

z

谁不喜欢模糊搜索?

sudo apt-get install git
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

然后,对所有问题都回答“是”,它将以多种方式使您的ZSH模糊。 只需尝试按Ctrl + R或Ctrl + T。

〜/ .zshrc定制

这是我想在rc文件中拥有的一些东西:

最后,我们已经安装了所有核心工具,现在可以继续进行配置。 让我们首先看一下我的Vim配置。

根据您的喜好对其进行调整,放入~/.config/nvim/init.vim ,打开Vim ,然后运行:PlugInstall安装所有插件(忽略打开Vim时的启动错误)。

要完成YCM安装:

cd ~/.local/share/nvim/plugged/YouCompleteMe
sudo apt-get install build-essential python-dev cmake
./install.py

然后,摆脱掉Vim底部的这些怪异符号:

sudo apt-get install fonts-powerline

(安装字体后,您可能需要重新启动终端)

经过所有操作后,您的Vim应该看起来像这样:

Tmux配置

我也对Tmux配置做了一些调整。
Vim一样 ,您应该从安装插件管理器开始 :

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

这是我完整的Tmux配置:

将其放在~/.tmux.conf (和~/.tmuxline )下,然后(重新)启动Tmux 。 在第一次启动时,按prefix I以安装Tmux插件(默认前缀为Ctrl + b)

这是完成上述所有步骤后的屏幕截图:

您只需复制和粘贴此帖子中的内容,就可以重新创建我的设置。 CLI工具的真正魅力在于它们的可定制性令人难以置信。 您绝对应该采用此配置,并将其用作自己的实验模板!

最后还有一些提示:

  • 没有Vim导航,Vim毫无意义,因此请习惯那些可恶的HJKL 。
  • 尝试将CapsLock映射到Esc ,尤其是在新的Mac笔记本电脑上
  • 让自己成为那些弯曲的键盘之一,您的双手将感谢您!

就是这个帖子。 如果您喜欢它,还可以使用所有这些工具查看我要构建的内容 。

链接

我的工程故事

Docker容器运行缓慢的另一个原因

轻松掌握的知识库

翻译自: https://hackernoon.com/clife-or-my-development-setup-67868b86cb57




推荐阅读
  • 随着EOS主网的成功启动,众多开发者和投资者对其给予了高度关注。本文旨在介绍如何构建EOS开发环境,包括所需的基本硬件配置、软件安装步骤以及常见问题的解决方案。 ... [详细]
  • Eclipse 下 JavaFX 程序开发指南
    本文介绍了 JavaFX,这是一个用于创建富客户端应用程序的 Java 图形和媒体工具包,并详细说明了如何在 Eclipse 环境中配置和开发 JavaFX 应用。 ... [详细]
  • 本文提供了详细的步骤,指导如何在Ubuntu系统中配置ASOP源码的编译环境,特别强调了使用国内镜像加速下载过程的方法。若遇到文章加载问题或图片失效,建议访问原文链接获取最新信息。 ... [详细]
  • 了解如何快速搭建属于自己的个人博客,无需编程基础,适合Mac和Windows用户。通过本文,您将学会使用GitHub Pages和Hexo构建一个完全自主的在线空间。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统上快速安装和配置Bitnami版本的GitLab,包括下载安装文件、执行安装过程以及设置邮件服务等步骤。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍了Java库XChart中的XYSeries类下的setLineColor()方法,并提供了多个实际应用场景的代码示例。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
  • 在安装Ubuntu 12.10并尝试安装VMware Tools时,遇到了一个常见的错误提示:指定的路径不是有效的3.5.0-17-generic内核头文件路径。本文将提供解决这一问题的具体步骤。 ... [详细]
  • Linux环境下Git安装及常见问题解析
    本文详细介绍了在Ubuntu系统中安装Git的过程,包括环境检查、软件安装、用户配置以及SSH密钥生成等步骤,并针对安装过程中可能出现的问题提供了有效的解决方案。 ... [详细]
  • Gradle复合构建详解
    自Gradle 3.3起,复合构建功能得以实现,这是一种能够整合其他独立构建的高级构建模式。本文将详细介绍复合构建与多项目构建的区别,以及如何在实际项目中应用复合构建。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上搭建GitLab服务器的过程,包括环境准备、软件安装及基本配置等关键步骤。 ... [详细]
author-avatar
若雄建伦95
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有