加载中...

Hacking Vim


完全用 GNU/Linux 工作

11. Hacking Vim

Vim 是功能完整且强大的文字编辑器 (Text Editor,以下简称 Editor),相信接触过 GNU/Linux 的伙伴都曾接触过。相信不少人对于它的印象就如同 COSCUP 2011 的经典名句“第一次用 vi 时进的去出不来”一样,不过冻仁相信,只要事先做过些功课,便可习得第一成的功力,待大成后,其带来的便利性是其他的 Editor 难以取代的!

write 11.hacking-vim.md with Vim.

▲ 使用 markdown 语法撰写铁人赛文章的截图。视窗切割及 CtrlP 火力展示,其怖景主题为 fu。

我们除了可以在终端机输入 vimtutor 取得 Vim 使用手册,也可于互联网上取得不少资源。

2013-09-28-vim-learning-curve.png

▲ Vi 学习曲线图。

Vim 命令圖解

▲ vgod 汇整的 Vim 入门图解说明

土法炼钢快速移动加强技巧使用套件 (plugin)打造属于自己的 Vim 前后得花了不少的时间及心力,但我们可以在各个平台 (Android, GNU/Linux, iOS, Mac OSX, Windows)、软件 (Bash, Chrome, Firefox, MySQL, Python, vifm, Visual Studio, w3m) 以及网络服务 (Facebook, Gmail) 中发现它的影子,是个习得一招半式便可打遍天下无敌手的 Editor,对冻仁而言它是个很棒的投资!

部份的发行版本只会预载 Vi 而没有 Vim,这时请手动安装它。

  1. # Debian, Ubuntu on Gnome, Unity
  2. $ sudo aptitude install vim-gnome
  3. # Debian, Ubuntu on KDE, Evilwm
  4. $ sudo aptitude install vim-gtk
  5. # CentOS, Fedora
  6. $ sudo yum install vim-X11

冻仁的 Vim

如想取得冻仁完整的 Vim 环境设定 (vimrc),请参考 冻仁的 GitHub。

  1. # 下載凍仁的環境設定。
  2. $ git clone https://github.com/chusiang/vimrc.git
  3. # 切換目錄。
  4. $ cd vimrc/
  5. # 備份原設定。
  6. $ make backup
  7. # 安裝。
  8. $ make install
  9. # 開啟 Vim。
  10. $ vim
  11. # 安裝各式的 vim 套件。
  12. :NeobundleInstall

以下设定可写入 $HOME/.vimrc,这样下次启动 Vim 时设定才会存在。

更换 fu 怖景主题

  1. colorscheme fu

使用 F5, F6 开启当前编辑的网页

  1. " - local.drx.tw (PHP)
  2. nnoremap <F5> :silent update<Bar>silent !firefox %:p:s?\(.\{-}/\)\{4}?http://local.drx.tw/?<CR>
  3. " - current file (Ex: html, txt)
  4. nnoremap <F6> :silent update<Bar>silent !firefox %:p &<CR>

常用指令

内文取代

  • s: 取代。
  • g: 对该行所有的字符进行处理。
  • c: 检查。

全文取代。

  1. :%s/old_world/new_world/gc

取代第 5 ~ 10 行。

  1. :5,10s/old_world/new_world/gc

启用贴上模式

若有设定自动缩排 (set hls),在贴上程式码时会有走山的情形,这时可以先切换成贴上模式再贴上。

  1. :set paste

比对档案差异

称职的系统管理者是勤于备份的,在更动设定档 (conf) 前一定会先复制一份。在众多版本中的难以使用肉眼查觉出差异,这时可用 diff, Vim 或 Meld 来比对。

  1. # 在 Vim 底下時,請使用 :diffsplit。
  2. $ vi <file1>
  3. ...
  4. :diffsplit <file2>
  5. # 在 bash 底下時,請使用 vimdiff。
  6. $ vimdiff <file1> <file2>

将内容转成 HTML

:TOhtml 会产生与 Vim 上一模一样的 html,对于想用网页秀出程式码的人是必备的功能 (范例) 。

  1. $ vi /usr/local/bin/powersave
  2. ......
  3. :TOhtml

Vim 是个有门槛的文字编辑器,但冻仁相信只要用对方法,一步一步前进就可以早日驾驭它。建议初学者可以先套前人的 vimrc,并试着修改它,不懂的部份只要 Google 一下相信可以找到不少的解答。

努力学习 Vim,成为一位好的 Vimmer 吧!

资料来源

  • Vim Hacks (OSSF) | c9s
  • 008 vim超基础入门 | 小 B
  • 心得:使用 Vim 编辑器的第一年
  • 给程式设计师的 Vim 入门图解说明 | vgod's blog
  • Vim 功能介绍 | 小恶魔 - 电脑技术 - 工作笔记 - AppleBOY
  • 鸟哥的 Linux 私房菜 -- vim 程式编辑器
  • 大家来学VIM(一个历久弥新的编辑器)
  • be_vimmer_tw (@be_vimmer_tw) | Twitter

还没有评论.