加载中...

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,这时请手动安装它。

# Debian, Ubuntu on Gnome, Unity
$ sudo aptitude install vim-gnome

# Debian, Ubuntu on KDE, Evilwm
$ sudo aptitude install vim-gtk

# CentOS, Fedora
$ sudo yum install vim-X11

冻仁的 Vim

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

# 下載凍仁的環境設定。  
$ git clone https://github.com/chusiang/vimrc.git  

# 切換目錄。  
$ cd vimrc/  

# 備份原設定。  
$ make backup  

# 安裝。  
$ make install  

# 開啟 Vim。  
$ vim  

# 安裝各式的 vim 套件。  
:NeobundleInstall  

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

更换 fu 怖景主题

colorscheme fu  

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

" - local.drx.tw (PHP)  
nnoremap <F5> :silent update<Bar>silent !firefox %:p:s?\(.\{-}/\)\{4}?http://local.drx.tw/?<CR>  

" - current file (Ex: html, txt)   
nnoremap <F6> :silent update<Bar>silent !firefox %:p &<CR>  

常用指令

内文取代

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

全文取代。

:%s/old_world/new_world/gc

取代第 5 ~ 10 行。

:5,10s/old_world/new_world/gc

启用贴上模式

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

:set paste

比对档案差异

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

# 在 Vim 底下時,請使用 :diffsplit。
$ vi <file1>
...
:diffsplit <file2>

# 在 bash 底下時,請使用 vimdiff。
$ vimdiff <file1> <file2>

将内容转成 HTML

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

$ vi /usr/local/bin/powersave
......
: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

还没有评论.