下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

关于在Linux系统中如何把tmux和vim打造成IDE的讲解

作者:课课家     来源: www.kokojia.com点击数:1203发布时间: 2015-11-09 10:06:56

标签: Linux系统

 

不经意间我们又来到了Linux系统文章的学习,在众多学习中,我们的文章也许不起眼,但是想必大家都有很多问题吧,所以重要的下面我们就来讲解一下,大家一定要认真看奥!!

 

 

在Linux系统中tmux 和 vim两个工具可以用来开发项目,很多人宁愿使用tmux 和 vim 也不用键盘和鼠标说明这两个工具有着独到之处。本文就来介绍一下在Linux系统中把tmux和vim打造成IDE。

linux培训
   很多人习惯于将终端工具与代码编辑器平铺在一起。在 web 开发工作通常需要一个控制台用于输入 ad-hoc 命令,一个控制台操作数据库,以及一个控制台查看日志。同时我的一些项目还会使用测试工具来对有修订的文件进行自动化测试,因此我也希望同时能看到这些测 试执行的状态。
  vim 提供了很多插件可以将上述功能集成在一起,但我更喜欢 vim/tmux 这个组合。这是个可视化的操作工具。
  通用这种方式使用命令行工具,我们可以高效地打造一个轻量级、可定制化 IDE 。我还发现在 tmux 的多个控制台窗格(pane)中输入 Unix 命令的方式很好用,因为这种方式可以很容易地将命令结合起来从而提供复杂的脚本化操作,而不需要臃肿的IDE工具。

随着电信行业的飞速发展,固定电话、数据传输、互联网、宽带的业务量急剧增长,而由此带来的许多麻烦也在困扰着电信运营商。网络维护的工作越来越繁重、故障情况无法跟踪、历史的故障频繁发生、处理情况、知识资源不能有效的利用,同时对于故障的处理无法进行效率评估和绩效考核,诸如此类的问题使运营商头疼不已。因此,如何确保电信运营企业内部众多软、硬件设备的正常运维就显得十分重要。

正是在这种情况之下,电信行业信息系统的运行维护管理引起了一批具有远见的软件企业的关注。他们认为,目前的网络运维支撑系统还存在着不少问题,如运维管理主要集中在性能管理与故障管理的功能实现上,没有实现完整的运维功能整合。而且,为了解决业务运营的急需,许多系统都必须在短时间内开发完成,对系统间的互连互通缺乏周密的考虑,形成各自独立的系统,产生了很多“信息孤岛”,不能充分发挥信息化系统的威力,没有能够为电信运营商带来更大的效益。


  这种使用方法与使用传统的IDE的区别在于其提供的界面非常契合我当下的工作,且它仅受限于我所安装命令行工具以及脚本语言。我可以按需创建 tmux 窗格(pane)以及 vim 分割(split)窗口,而不要开发什么模板。尽管 Eclipse 和 Xocde 有提供一些以任务为中心( task-foruce) 的界面,我还是觉得这些有些碍事。尤其是 Xcode,它所提供的快捷键感觉像是后面才补上去的,我还是得不停地使用鼠标进行操作。
  支持任务间快速切换则是另一个优点。我是一个自由职业者,通常一天中我需要在 3、4 个项目间进行切换。在使用 tmux 之后, 我可以先断开(detach)一个会话稍后再切回来继续,这使我能够专注于当前工作。我觉得这个是控制台 vim 工具相比于 GUI vim 或是同时开一堆控制台工作而言的一个极大优势,因为 Eclipse 以及 Xcode 总是在关闭工程时尝试保存界面状态(不过最新的版本的 Xcode 在关闭工程貌似总是将我打开的分割窗口关闭掉)。
  为什么使用 hjkl 键
  这种操作方式看起来可能很别扭,不过如果你能够熟练地盲打,vim 和 tmux (配置成 vim 键风格)可以很容易让手指远离鼠标而只保持在键盘主键区(home row)进行操作。(译者注:home row 指的是键盘上的 “A、S、D、F、J、K、L、;” 这 8 个按键。)
  这正是 hjkl 键的秘密:对于哪些盲打正确率高的人而言。 对于那些不习惯使用这些按键的人,可以先慢慢尝试几天。并先专注于打字的正确性,充分利用好你的十个手指。
  使用 hjkl 键的道理让我想起说服游戏初学者去使用 wasd 键而不使用方向键情况。 起初 wasd 的确会觉得不太直观,但这使得同时使用键盘以及鼠标操作变得更加容易。当适应这种操作方式之后,其优点是显而易见的。
  配置提示
  在 ~/.tmux.conf 文件中做如下的配置:
  set-window-option -g mode-keys vi
  bind h select-pane -L
  bind j select-pane -D
  bind k select-pane -U
  bind l select-pane -R
  这个能让我在 tmux 中使用 vim 的快捷键。
  如果你正在努力掌握 vim 的快捷键,请在 vim 的编辑模式下关闭方向键,具体可以参考:Vim: Making those Arrow Keys Work With You 。linux教程
  如果你是个 vim 新手,这里值得一提的是 vim 支持 ctags。同时还有 TagHighlight 插件可以在 pane 中动态地显示当前文件编辑缓存区的多个标签(tags),这是个类似于 IDE 的功能。
  Dotfiles文件
  你的 IDE 配置文件是否能够在多台电脑间同步?
  我有一个名为 dotfiles 的私个 git 库,专门用于存储 vim 和 ctags 配置以及插件。我写了一个安装脚本用于自动为本地 dotfiles 库创建配置文件的符号链接。一旦我使用一台新电脑时,我首先做的是检出(check out)这个 git 库。之后当我再开项目进行编辑时,vim 和 tmux 就已按我习惯的使用方式配置好了。
  拷贝与粘贴
  我经常需要使用 tmux 的拷贝与粘贴命令将控制台的输出拷贝到 vim 中。基于 tmux 的不同配置,快捷键有很大差异,因此非常值得去阅读一下 tmux 的手册并了解其工作原理。默认是使用 “ctrl-b [“ 进入拷贝模式,使用空格键(space)开始内容选取,回车键(Enter)进行拷贝,然后使用 ”ctrl-b ]” 进行粘贴。
  快捷键
  如果想要高效地使用 vim,对于重度依赖键盘的操作一定要思考是否有相关的快捷键。举个例子,当我第一次使用 ~ 快捷键时(用于大小写转换),我觉得“这个真是搞笑了,我肯定再不会使用它”。哈,实际上在我写这篇文章时,我已经使用三次了。
  以上就是在Linux系统中把tmux和vim打造成IDE的教程了,因为tmux和vim有很多快捷键,所以完全可以取代鼠标的作用。

小主们看完我们的文章,想必一定对我们文章很感兴趣了吧,若大家想了解更多视频课程文章的课程,亲们可以到课课家官网查看。非常真诚地欢迎大家,偶在等你们哟,快来吧!!!

 

赞(104)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程