不经意间我们又来到了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有很多快捷键,所以完全可以取代鼠标的作用。

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

linux虚拟环境tmux,关于在Linux系统中如何把tmux和vim打造成IDE的讲解相关推荐

  1. linux安装深度软件商店,Deepin系统中的深度商店V5.1发布,基于Debian的Linux可安装...

    在Deepin操作系统中有一款重量级软件深度商店,它发布了全新版本V5.1,除了在Deepin系统中可以升级外,其它基于Debian的Linux也是可以安装的.Deepin用户使用系统更新功能就可以升 ...

  2. linux运行360sh,在深度deepin系统中运行install.sh文件的方法

    在深度deepin操作系统中有时会遇到x.sh文件,如在安装canon imageclass 4712驱动时,找到linux-ufrii-drv-360-sc替代,但install.sh不知道如何运行 ...

  3. cpu时间片 linux,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 图 1 RT-Linux结构 RT -Linux的关键技术是通过软件来模拟硬件的中断控制器.当Linux系统要封锁CPU的中断时时,RT-Linux中的实 ...

  4. linux python3安装proton_深度deepin系统中通过Lutris(wine、proton)运行逆水寒的方法 ......

    2.点击坐上的 + 图标,选择 Add Game-. Game info 中: Name 填写 NiShuiHan 或其他名称(Justice Online). Runner 选择 Wine. Rel ...

  5. linux man 中文 mac,技术|MAC 系统中显示中文MAN手册

    最近在做中文MAN手册的翻译,发现MAC系统中的MAN命令不能像多数Linux发行版那样很好的显示中文MAN手册. 根据查找的资料,找到了解决方法: 1.首先要更新你的系统中的 groff 包,MAC ...

  6. linux如何运行synaptic,在Debian系统中安装Synaptic和使用Synaptic修复损坏的包

    本文介绍在Debian操作系统中安装Synaptic的方法,和使用Synaptic在Debian中找到破损的软件包及修复损坏的包,本文也适合运行Linux Mint Debian Edition.Mx ...

  7. Linux播放器MPlayer嵌入式开发系统中的应用

    摘要:本文论述了MPlayer在嵌入式开发系统中的应用,说明了如何在嵌入式开发板的平台上实现MPlayer的配置.编译.安装及调试过程. 关键词:嵌入式系统:MPlayer:MEncoder 引言 嵌 ...

  8. linux打开开发者权限,在UOS系统中关闭开发者模式和在UOS个人版中打开开发者模式...

    本文介绍在UOS系统中关闭(退出)开发者模式的方法和在UOS个人版中打开开发者模式的方法. 声明 UOS官方设定是开启开发者模式的过程不可逆,如果需要退出就只能重装(或者还原到开启开发者模式以前). ...

  9. linux python3安装proton_深度deepin系统中通过Lutris(wine、proton)运行逆水寒的方法...

    本文介绍在深度deepin操作系统中通过Lutris(wine.proton)成功运行逆水寒的方法,参考安装配置Lutris,一款Linux下多平台游戏管家. 成功运行逆水寒的方法 0.安装 wine ...

最新文章

  1. iar代码优化影响运行速度吗_Java 性能优化:教你提高代码运行的效率
  2. python求二维数组各行最大值_python+numpy按行求一个二维数组的最大值方法
  3. 学ASP只需一小时!
  4. 绿色版Mysql自动建立my.ini和命令行启动并动态指定datadir路径...
  5. 【文文殿下】网络流学习笔记
  6. error-2016-2-15
  7. 后置四摄已安排?华为P30 Pro设计渲染图曝光
  8. 小个子怎么能穿得优雅大方呢?
  9. Ubuntu 16.04上安装Code::Blocks
  10. 模仿腾讯QQ的web登陆面板
  11. 日记(2007年7月3日)
  12. 室内三维物体识别与姿态估计--背景
  13. 教你解决“邮件”应用不断提示输入密码的方法!
  14. 《动态规划入门》刷题笔记(更新中)
  15. vm服务器虚拟化迁移,在线迁移演示(存储在线迁移、虚拟机在线迁移)
  16. 为什么出价策略会进入学习期,周期是多久。
  17. HTML详解——初识html(一)
  18. 【Unity3D入门教程】Unity着色器基本使用方法
  19. 三、使用Teigha.net打开CAD(.dwg/.dxf)文件,并显示到panel界面绑定事件
  20. 亲身使用分享:小米电视4a70英寸怎么样

热门文章

  1. 【Computer Organization笔记16】大实验任务详细说明:支持指令流水的计算机系统设计与实现
  2. 【Computer Organization笔记10】单周期CPU设计:基于7条MIPS指令的数据通路
  3. 以后再也不用看“教程”!概括【配置环境】的原理,小白也能举一反三的python配置环境过程!
  4. 第二课--C语言基础(1,2部分--共三部分)
  5. 【旅行】1月17日镇江自驾游
  6. python控制svn_jenkins+svn+python的使用
  7. 使计算机进入休眠状态
  8. 通过Console口本地加载系统程序
  9. iPhone应用可用性的试探性分析
  10. Spring Boot技术之异步任务执行