像许多其他人一样,我已经开始使用大型,强大,笨拙的IDE进行编程之旅。 我曾经使用过Borland Delphi,MS VS,Netbeans,Eclipse,IntelliJ IDEA 等。随着时间的流逝,我更多地涉足Web开发,因此我选择了更简单的选项。 一段时间以来,我选择的编辑器是Sublime Text 。 大约三年前,我已经完全迁移到Vim , Tmux 和其他非GUI工具,到目前为止,我已经完全爱上了它们!
有两件事触发了迁移。 首先,在我的新工作中,我们所有人都有用于远程工作的笔记本电脑,但是大部分开发工作都是在办公室中功能强大的固定工作站上进行的。 在不稳定的互联网连接上使用SSHFS 或VNC 麻烦很多 ,因此我需要一个更好的选择。 其次,我正在做越来越多的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-server 和tmux-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上 运行:
然后将其设为用户的默认外壳程序:
(然后重新登录)
添加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