【Day 2】 Vim x Plugin x 准备主厨刀

tags: 铁人赛 vim macOS vundle plugin

概述

碎念时间

  • 工欲善其事必先利其器
  • 这篇吹嘘文字编辑器功能的文章,可能会变成引战文... (文字编辑器鄙视链)
  • 今天来説説文字编辑器 “VIM”,是因为我认为从事 DevOps 的工作,有客制化专属环境的需求
  • 起初是由荷兰的软件工程师 Bram Moolenaar 参考 “VI” 的功能,所开发出的文字编辑器。
  • 最早最早的我是看鸟哥的 Linux 私房菜的实体书,学习如何使用 vi/vim,因为那时候上网很贵。
  • 後来我才那时候的我没见过世面,也分不清楚他们之间的差异⋯⋯,直到越用越多、越陷越深。
  • 教科书上面写的人名,我都记不太起来,来对着照片看看 Bram Moolenaar
    (我觉得他看起来像是会把悲伤留给自己的人)
    Bram Moolenaar
  • 蔡德明 助理教授 就是鸟哥的 Linux 私房菜作者本人

编辑器的选择

要如何选文字编辑器

我原本对於文字编辑器不是很在乎,直到要在不同台电脑切换连线并且编辑时,才意会到,是该熟悉一些轻巧快速的文字编辑器了。作者才疏学浅,对於 GNU Emacs 并不熟稔,因此仅选择 VIM 编辑器献曝。

纯文字介面文字编辑器

常见的文字编辑器其实就跟 这篇 Unix tool tip 的推文中提到的一样...

  • Vim - Vi IMproved, a programmer's text editor
    • 蛮多人都使用过的一个文字编辑器
    • 学起来比较不会被鄙视
  • Neovim - hyperextensible Vim-based text editor
    • 因为 Vim 先前仅 Bram 一人进行开发维护,且 Bram 对於原始码的 Pull request 过於严格,以致於版本更新缓慢;因此 NeoVim 随之诞生...
    • 安装方式:brew install neovim
  • GNU Emacs - An extensible, customizable, free/libre text editor — and more.
    • 我们在前一篇文章有提到 GNURichard Stallman,为 Emacs 的发起人、开发者之一...
    • 关於 Richard Stallman 的故事有很多,就不在今天文章范畴内,改天专做一集来介绍⋯⋯

    谜之音:"You shall not pass ..."
    https://youtu.be/czY10lZRoAs

  • GNU Nano - a simple editor, inspired by Pico
    • 如果有玩过 Raspiberry Pi,应该也会接触过。
  • 其他族繁不及备载...由於花太多时间在研究文字编辑器,以致於三十天过去还在文字编辑器 (误)

设定 VIM 并且上手!

学习过程的参考资料

  1. 使用指令直接看说明文件 man vim
    • 备注:如果要结束,按 q 离开(quit)
  2. 关於一些 vim 的设定方式,我都会到 vim.fandom.com
  3. 善用社群同好 vim-tw 所整理好的资料 -- vim-tw/vim-tips
  4. 看不懂这段的话,可以先跳过!

Plug-in Manager

  1. Vundle

    • 安装方式: 参考 VundleVim

    • 依序是,下载 Vundle.vim 专案的原始码,放到家目录底下的指定路径

    git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    
    • 然後根据 github 中的指示,将底下那一转东西,贴到 ~/.vimrc 里面

    • 里面有一句 Plugin 'file:///home/gmarik/path/to/plugin' 要记得注解掉...这串东西是用来安装那些放在本地机器上的 Plugin,不过路境是乱打的,你不注解也没差,装装看就知道会发生什麽事情了

    • 下一步,直接在 Terminal 中呼叫 vim

    • 直接按下冒号 : (shift+;),并且输入 PluginInstall、再按 Retuen/Enter

    • Do~ Re~ Mi~ So~~ 完成啦!!

    • 骗(pen)~ 你(ni)~ 的(de)~~~
      那个等等,下面写着,如果安装了 YouCompleteMe 这个 Plugin 的话,系统上的 Python 要 (3.6.0+),不过...这个我们留到明天再讨论吧!!

    • 造成这个原因的是因为当前的 python 版本不满足造出套件的需求

结论

  • 布置自己喜欢的开发环境,是很重要的一环,这好比是买了一间房子之後,再根据自身的职业、个性、理念等,加以装潢,安装工具让自己省力一般。
  • 虽然鲁蛇作者本人没有买过房子⋯⋯

後记

2021.09.03 打完 AstraZeneca (AZ疫苗)
除了 48 小时内的被疫苗认定是年轻人之外
48 小时後,仍然精神涣散呆滞至今
原本预计 2021.09.03 要开赛的


<<:  Day 06:专案01 - 超简单个人履历05 | CSS版面布局、Flex

>>:  Day11:[资料结构]Binary Tree - 二元树

Day 16 - 不小心断赛之 Lifecycle

大意失荆州,这就是人生,因为以为有写,不小心就断赛了;不过,秉持着坚持的精神,我还是想继续写完。 今...

[铁人赛 Day15] 如何分析 memoization 的成效呢?Profiler API

Why Profiler ? Profiler 可以用来测量 React app render 的次...

Day 0x19 - odoo addons 永丰金流开发(Part 1 - 预期目标)

0x1 Odoo? 这是什麽? 我第一次接触也是因为工作需求而学习,蛮强大的一套开源ERP系统,这里...

【Vue】引用 bootstrap 5 不再依赖 JQuery |专案实作

npm 引用 bootstrap $ npm install bootstrap CDN 引用 bo...

Golang 转生到web世界 - 套件管理

Golang 套件管理 在开始进入更进阶的web题目之前,突然发现可能要用到套件或者引用第三方程序码...