周海漢 /文
2010.4.11
http://blog.csdn.net/ablo_zhou
爲了將vim的高亮語法通過html顯示在網頁上,可以將高亮語法文件直接導出到html。
在gvim中,具有gui,有菜單可以保存爲html。
在vim的字符界面中,如何保存爲html呢?
首先需要設置正確的filetype,以顯示正確的高亮。也可以調整顏色爲自己喜歡的形式。然後通過命令行保存html.
下面提供兩個命令,效果一樣。
1.可在vim中執行命令
:source $VIMRUNTIME/syntax/2html.vim
2.可在vim中執行命令
:runtime! syntax/2html.vim
或
:run! syntax/2html.vim
2html.vim不是syntax而是script
3.更簡單的plugin命令
:TOhtml
可能會花一點時間。執行完後,再執行:wq,就會以原文件.html的方式保存html文件了。
可以查看幫助:
:help 2html
:help TOhtml
示例:
本來csdn的blog也支持python語法高亮,但必須放到一個插入代碼的框架裏。如何直接顯示語法高亮或自定義的語法高亮呢?
進入html源碼編輯,將生成的html源碼的關鍵部分插入。這實用於很多blog。
#: c01:BorgSingleton.py
# Alex Martelli's 'Borg'
class
Borg
:
_shared_state = {}
def
__init__
(self):
self.__dict__ = self._shared_state
class
Singleton
(Borg):
def
__init__
(self, arg):
Borg.__init__(self)
self.val = arg
def
__str__
(self): return
self.val
x = Singleton('sausage
')
print
x
y = Singleton('eggs
')
print
y
z = Singleton('spam
')
print
z
print
x
print
y
print
'x
'
不過生成的html顏色和在終端中看到的還是用差異。所以我的示例在白色背景下看不太清。最好是定義爲深色背景。
拷貝到csdn時,將
<body bgcolor ="#000000" text ="#ffffff" >
改爲<div style="background:#000000;color:#ffffff"> </div>
如下:
# Alex Martelli's 'Borg'
class Borg :
_shared_state = {}
def __init__ (self):
self.__dict__ = self._shared_state
class Singleton (Borg):
def __init__ (self, arg):
Borg.__init__(self)
self.val = arg
def __str__ (self): return self.val
x = Singleton('sausage ')
print x
y = Singleton('eggs ')
print y
z = Singleton('spam ')
print z
print x
print y
print 'x '