热门标签 | 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




推荐阅读
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细介绍了在Android 8.x中,GMS认证新增的CTS和VTS测试,特别是如何在VTS环境下测试GSI版本。文章涵盖了详细的测试环境配置和具体操作步骤。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
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社区 版权所有