目的:在ubuntu上用vim编写html,并且在vim中可以用快捷键在浏览器firefox中打开.html文件直接观察效果。
实现这个功能其实非常简单 但涉及到的知识每一块都可以展开很大篇幅 官方文档对每部分都给出详细的解释 利用这些知识可以实现远远大于本篇文章目的的功能
这些知识十分有趣 而且闲暇时间利用这些知识自己写vim插件、搭建vim编程环境、将一个友好的编程工具打造成效率武器、感受一个如同IDE般强大自带编程语言的编辑器,都是一件非常有趣、培养学习能力的事情。
本文章会根据后续需求(比如想自己做插件等等)继续补充。
本篇文章的本质目的是只是为了让作者看懂(用于记笔记),故存在部分内容省略、简写的情况。如果里面有你感兴趣的内容,欢迎讨论。
阅前须知
- 你需要
- Linux(Ubuntu)
- vim
- 了解vim基本用法和常用操作(部分内容可以在我的其它文章中找到)
- 本章涉及的内容
- vim键盘映射
- vim自动命令
- vimscript编程
- 其它内容相关
- 由于时间关系,下述内容各个模块只记录了一部分。这些知识不仅能保证完成本章任务,还能实现更多功能,并且是编写vim plugin的基础。实际上每个模块的内容都远远多于本篇文章。
实现方法
1. 打开.vimrc
2. 写入下述代码
noremap <F9>: call DisplayHTML()<CR>
"vim键盘映射+vimscript函数调用
function DisplayHTML()"vimscript函数定义
if &filetype == 'html'"vimscript条件判断
execute 'w'"vimscript执行表达式
execute '!firefox % &'
endif
endfunction
3. 上述代码详解都可以在下面的内容中找到
.vimrc文件
- 要让 Vim 用你习惯的设置启动,你可以 把这些设置写到一个叫 vimrc 的文件中。Vim 会在启动的时候执行这个文件里的命令。
:edit $MYVIMRC
:编辑.vimrc文件- ubuntu中推荐使用
~/.vimrc
vim键盘映射
下述非代表最后一行模式的指令的前导冒号都省略 将下述指令写到.vimrc文件中
:map <x> ...
:定义普通模式映射 将按键x映射为…
操作符等待模式是当你键入一个操作符 (比如 “d” 或 “y”) 之后,Vim 期待你键入一个
动作命令或者文本对象时的状态。比如,当你键入命令 “dw”, 那个 “w” 就是在操作符 等待模式下键入的。
- Example:
:map <F5> i{<Esc>ea}<Esc>
- 将
摁下F5
映射为i
插入{
,退出插入模式,e
移到单词尾,a
追加插入}
,退出插入模式 - Example2:
:map \p i(<Esc>ea)<Esc>
,先敲入\
再敲入p
,即可组成一个指令 :map
:不带参数 查看当前映射表
n
:normal mode,v
:insert mode.
noremap <x> ...
:只允许<x>
映射到...
,不允许...
往后继续映射map <x> :...<CR>
:将摁键<x>
映射为在命令行模式输入…- 删除映射
- 删除全体映射:
:mapclear
- 映射空格:
:map <Space> x
vim自动命令
自动命令大多数都产生在最后一行模式下
- :autocmd [group] {events} {file_pattern} [nested] {command}
- 可在官方文档中查阅到各个