Add python mode to vam
diff --git a/.netrwhist b/.netrwhist
index 5db8857..4448486 100644
--- a/.netrwhist
+++ b/.netrwhist
@@ -1,4 +1,5 @@
 let g:netrw_dirhistmax  =10
-let g:netrw_dirhist_cnt =2
-let g:netrw_dirhist_1='ftp://chatsiri@158.108.32.60//'
-let g:netrw_dirhist_2='ftp://chatsiri@158.108.32.60/'
+let g:netrw_dirhist_cnt =3
+let g:netrw_dirhist_1='sftp://chatsiri@158.108.38.94//home/'
+let g:netrw_dirhist_2='sftp://chatsiri@158.108.38.94//home/chatsiri/'
+let g:netrw_dirhist_3='sftp://chatsiri@158.108.38.94//home/chatsiri/workspace_example/'
diff --git a/after/ftplugin/c.vim b/after/ftplugin/c.vim
deleted file mode 100644
index 66dfc5e..0000000
--- a/after/ftplugin/c.vim
+++ /dev/null
@@ -1,2 +0,0 @@
-" OmniCppComplete initialization
-call omni#cpp#complete#Init()
diff --git a/after/ftplugin/cpp.vim b/after/ftplugin/cpp.vim
deleted file mode 100644
index 66dfc5e..0000000
--- a/after/ftplugin/cpp.vim
+++ /dev/null
@@ -1,2 +0,0 @@
-" OmniCppComplete initialization
-call omni#cpp#complete#Init()
diff --git a/doxygen-support/templates/doxygen.templates b/doxygen-support/templates/doxygen.templates
new file mode 100644
index 0000000..b1ace8e
--- /dev/null
+++ b/doxygen-support/templates/doxygen.templates
@@ -0,0 +1,5 @@
+$AUTHOR$    = Chatsiri.rat
+$AUTHORREF$ = RCH
+$EMAIL$     = chatsiri-at-chatsiri-dot-com
+$COMPANY$   = HPCNC@KU
+$COPYRIGHT$ = GPL v.2
diff --git a/plugin/SingleCompile.vim b/plugin/SingleCompile.vim
deleted file mode 100644
index db5d815..0000000
--- a/plugin/SingleCompile.vim
+++ /dev/null
@@ -1,148 +0,0 @@
-" Copyright (C) 2010-2012 Hong Xu
-
-" This file is part of SingleCompile.
-
-" SingleCompile is free software: you can redistribute it and/or modify
-" it under the terms of the GNU General Public License as published by
-" the Free Software Foundation, either version 3 of the License, or
-" (at your option) any later version.
-
-" SingleCompile is distributed in the hope that it will be useful,
-" but WITHOUT ANY WARRANTY; without even the implied warranty of
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-" GNU General Public License for more details.
-
-" You should have received a copy of the GNU General Public License
-" along with SingleCompile.  If not, see <http://www.gnu.org/licenses/>.
-
-" File: plugin/SingleCompile.vim
-" GetLatestVimScripts: 3115 1 SingleCompile.zip
-" version 2.10.6
-" check doc/SingleCompile.txt for more version information
-
-if v:version < 700
-    finish
-endif
-
-" check whether this script is already loaded
-if exists("g:loaded_SingleCompile")
-    finish
-endif
-let g:loaded_SingleCompile = 1
-
-let s:saved_cpo = &cpo
-set cpo&vim
-
-
-" commands {{{1
-command -nargs=* SCCompile
-            \ if <q-args> == '' | call SingleCompile#Compile() |
-            \ else | call SingleCompile#Compile(<q-args>) | endif
-command -nargs=* SCCompileRun
-            \ if <q-args> == '' | call SingleCompile#CompileRun() |
-            \ else | call SingleCompile#CompileRun(<q-args>) | endif
-command -nargs=* SCCompileRunAsync
-            \ if <q-args> == '' | call SingleCompile#CompileRunAsync() |
-            \ else | call SingleCompile#CompileRunAsync(<q-args>) | endif
-command -nargs=* SingleCompile
-            \ if <q-args> == '' | call SingleCompile#Compile() |
-            \ else | call SingleCompile#Compile(<q-args>) | endif
-command -nargs=* SingleCompileRun
-            \ if <q-args> == '' | call SingleCompile#CompileRun() |
-            \ else | call SingleCompile#CompileRun(<q-args>) | endif
-command -nargs=+ SCCompileAF
-            \ call SingleCompile#Compile('AdditionalFlags', <q-args>)
-command -nargs=+ SCCompileRunAF
-            \ call SingleCompile#CompileRun('AdditionalFlags', <q-args>)
-command -nargs=+ SCCompileRunAsyncAF
-            \ call SingleCompile#CompileRunAsync('AdditionalFlags', <q-args>)
-command SCIsRunningAsync
-            \ if SingleCompileAsync#IsRunning() == 1 |
-            \ echo 'The background process is running.' |
-            \ else |
-            \ echo 'The background process is not running.' |
-            \ endif
-command SCTerminateAsync
-            \ if SingleCompileAsync#Terminate() |
-            \ echohl ErrorMsg |
-            \ echo 'Failed to terminate the background process!' |
-            \ echohl None |
-            \ else |
-            \ echo 'Background process terminated.' |
-            \ endif
-command SCChooseCompiler call SingleCompile#ChooseCompiler(&filetype)
-command SCChooseInterpreter call SingleCompile#ChooseCompiler(&filetype)
-command SCViewResult call SingleCompile#ViewResult(0)
-command SCViewResultAsync call SingleCompile#ViewResult(1)
-
-" menus {{{1
-
-if !exists('g:SingleCompile_menumode')
-    let g:SingleCompile_menumode = 1
-endif
-
-if has('gui_running') && has('menu')
-    if g:SingleCompile_menumode == 1
-        let s:menu_root = 'Plugin.SingleCompile'
-    elseif g:SingleCompile_menumode == 2
-        let s:menu_root = 'SingleCompile'
-    endif
-
-    " if g:SingleCompile_menumode is not 1 or 2, then we don't need to create
-    " menu
-    if g:SingleCompile_menumode == 1 || g:SingleCompile_menumode == 2
-        for s:menu_textcmd in [
-                    \ '&Compile<tab>:SCCompile '.
-                    \ ':SCCompile<cr>',
-                    \
-                    \ 'Compile\ and\ &Run<tab>:SCCompileRun '.
-                    \ ':SCCompileRun<cr>',
-                    \
-                    \ 'Compile\ and\ Run &Asynchronously'.
-                    \ '<tab>:SCCompileRunAsync'.
-                    \ ':SCCompileRunAsync<cr>',
-                    \
-                    \ 'C&hoose\ Compiler<tab>:SCChooseCompiler '.
-                    \ ':SCChooseCompiler<cr>',
-                    \
-                    \ '&View\ Result<tab>:SCViewResult '.
-                    \ ':SCViewResult<cr>',
-                    \
-                    \ 'V&iew\ Result\ of\ Asynchronous\ Running'.
-                    \ '<tab>:SCViewResultAsync '.
-                    \ ':SCViewResultAsync<cr>',
-                    \
-                    \ '&Terminate\ the\ Background\ Asynchronous\ Process'.
-                    \ '<tab>:SCTerminateAsync '.
-                    \ ':SCTerminateAsync<cr>'
-                    \ ]
-
-            for s:menu_type in ['nnoremenu', 'inoremenu', 'vnoremenu']
-                exec s:menu_type.' '.s:menu_root.'.'.s:menu_textcmd
-            endfor
-        endfor
-
-        unlet! s:menu_root
-        unlet! s:menu_type
-        unlet! s:menu_textcmd
-    endif
-endif
-
-" }}}
-
-
-" vim-addon-actions support (activate this addon after vim-addon-actions) {{{
-" eg call scriptmanager#Activate(["vim-addon-actions","SingleCompile"])
-if exists('g:vim_actions')
-    for cmd in ['SingleCompile','SingleCompileRun']
-        call actions#AddAction('run '.cmd,
-                    \{'action': funcref#Function('return '.string([cmd]))})
-    endfor
-endif
-"}}}
-
-let &cpo = s:saved_cpo
-unlet! s:saved_cpo
-
-" vim703: cc=78
-" vim:fdm=marker et ts=4 tw=78 sw=4
diff --git a/syntax/mips.vim b/syntax/mips.vim
new file mode 100644
index 0000000..325f1dd
--- /dev/null
+++ b/syntax/mips.vim
@@ -0,0 +1,251 @@
+" Vim syntax file
+" Language: MIPS
+" Maintainer:   Alex Brick <alex@alexrbrick.com>
+" Last Change:  2007 Oct 18
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+setlocal iskeyword+=-
+syntax case match
+
+syntax match mipsComment /#.*/
+syntax match mipsNumber /\<[-]\?\d\+\>/ " Decimal numbers
+syntax match mipsNumber /\<-\?0\(x\|X\)[0-9a-fA-F]\+\>/ " Hex numbers
+syntax region mipsString start=/"/ skip=/\\"/ end=/"/
+syntax match mipsLabelColon /:/ contained
+syntax match mipsLabel /\w\+:/ contains=mipsLabelColon
+
+" Registers
+syntax match mipsRegister "\$zero"
+syntax match mipsRegister "\$v0"
+syntax match mipsRegister "\$v1"
+syntax match mipsRegister "\$a0"
+syntax match mipsRegister "\$a1"
+syntax match mipsRegister "\$a2"
+syntax match mipsRegister "\$a3"
+syntax match mipsRegister "\$t0"
+syntax match mipsRegister "\$t1"
+syntax match mipsRegister "\$t2"
+syntax match mipsRegister "\$t3"
+syntax match mipsRegister "\$t4"
+syntax match mipsRegister "\$t5"
+syntax match mipsRegister "\$t6"
+syntax match mipsRegister "\$t7"
+syntax match mipsRegister "\$t8"
+syntax match mipsRegister "\$t9"
+syntax match mipsRegister "\$s0"
+syntax match mipsRegister "\$s1"
+syntax match mipsRegister "\$s2"
+syntax match mipsRegister "\$s3"
+syntax match mipsRegister "\$s4"
+syntax match mipsRegister "\$s5"
+syntax match mipsRegister "\$s6"
+syntax match mipsRegister "\$s7"
+syntax match mipsRegister "\$k0"
+syntax match mipsRegister "\$k1"
+syntax match mipsRegister "\$gp"
+syntax match mipsRegister "\$sp"
+syntax match mipsRegister "\$fp"
+syntax match mipsRegister "\$ra"
+
+let i = 0
+while i < 32
+    " This is for the regular registers
+    execute 'syntax match mipsRegister "\$' . i . '\(\d\+\)\@!"'
+    " And this is for the FP registers
+    execute 'syntax match mipsRegister "\$f' . i . '\(\d\+\)\@!"'
+    let i = i + 1
+endwhile
+
+" Directives
+syntax match mipsDirective "\.2byte"
+syntax match mipsDirective "\.4byte"
+syntax match mipsDirective "\.8byte"
+syntax match mipsDirective "\.aent"
+syntax match mipsDirective "\.align"
+syntax match mipsDirective "\.aascii"
+syntax match mipsDirective "\.asciiz"
+syntax match mipsDirective "\.byte"
+syntax match mipsDirective "\.comm"
+syntax match mipsDirective "\.cpadd"
+syntax match mipsDirective "\.cpload"
+syntax match mipsDirective "\.cplocal"
+syntax match mipsDirective "\.cprestore"
+syntax match mipsDirective "\.cpreturn"
+syntax match mipsDirective "\.cpsetup"
+syntax match mipsDirective "\.data"
+syntax match mipsDirective "\.double"
+syntax match mipsDirective "\.dword"
+syntax match mipsDirective "\.dynsym"
+syntax match mipsDirective "\.end"
+syntax match mipsDirective "\.endr"
+syntax match mipsDirective "\.ent"
+syntax match mipsDirective "\.extern"
+syntax match mipsDirective "\.file"
+syntax match mipsDirective "\.float"
+syntax match mipsDirective "\.fmask"
+syntax match mipsDirective "\.frame"
+syntax match mipsDirective "\.globl"
+syntax match mipsDirective "\.gpvalue"
+syntax match mipsDirective "\.gpword"
+syntax match mipsDirective "\.half"
+syntax match mipsDirective "\.kdata"
+syntax match mipsDirective "\.ktext"
+syntax match mipsDirective "\.lab"
+syntax match mipsDirective "\.lcomm"
+syntax match mipsDirective "\.loc"
+syntax match mipsDirective "\.mask"
+syntax match mipsDirective "\.nada"
+syntax match mipsDirective "\.nop"
+syntax match mipsDirective "\.option"
+syntax match mipsDirective "\.origin"
+syntax match mipsDirective "\.repeat"
+syntax match mipsDirective "\.rdata"
+syntax match mipsDirective "\.sdata"
+syntax match mipsDirective "\.section"
+syntax match mipsDirective "\.set"
+syntax match mipsDirective "\.size"
+syntax match mipsDirective "\.space"
+syntax match mipsDirective "\.struct"
+syntax match mipsDirective "\.text"
+syntax match mipsDirective "\.type"
+syntax match mipsDirective "\.verstamp"
+syntax match mipsDirective "\.weakext"
+syntax match mipsDirective "\.word"
+
+" Arithmetic and Logical Instructions
+syntax keyword mipsInstruction abs
+syntax keyword mipsInstruction add addu addi addiu
+syntax keyword mipsInstruction and andi
+syntax keyword mipsInstruction clo clz
+syntax keyword mipsInstruction div divu 
+syntax keyword mipsInstruction mult multu mul mulo mulou madd maddu msub msubu
+syntax keyword mipsInstruction neg negu
+syntax keyword mipsInstruction nor
+syntax keyword mipsInstruction not
+syntax keyword mipsInstruction or ori
+syntax keyword mipsInstruction rem remu
+syntax keyword mipsInstruction sll sllv sra srav srl srlv
+syntax keyword mipsInstruction rol ror
+syntax keyword mipsInstruction sub subu
+syntax keyword mipsInstruction xor xori
+
+" Constant-Manipulating Instructions
+syntax keyword mipsInstruction lui li
+syntax keyword mipsInstruction slt sltu slti sltiu
+syntax keyword mipsInstruction seq
+syntax keyword mipsInstruction sge sgeu
+syntax keyword mipsInstruction sgt sgtu
+syntax keyword mipsInstruction sle sleu
+syntax keyword mipsInstruction sne
+
+" Branch Instructions
+syntax keyword mipsInstruction b
+syntax keyword mipsInstruction bc1f bc1t
+syntax keyword mipsInstruction beq beqz
+syntax keyword mipsInstruction bgez bgezal bgtz
+syntax keyword mipsInstruction blez bltzal bltz
+syntax keyword mipsInstruction bne bnez
+syntax keyword mipsInstruction bge bgeu
+syntax keyword mipsInstruction bgt bgtu
+syntax keyword mipsInstruction ble bleu
+syntax keyword mipsInstruction blt bltu
+
+" Jump Instructions
+syntax keyword mipsInstruction j jal jalr jr
+
+" Trap Instructions
+syntax keyword mipsInstruction teq teqi
+syntax keyword mipsInstruction tne tnei
+syntax keyword mipsInstruction tge tgeu tgei tgeiu
+syntax keyword mipsInstruction tlt tltu tlti tltiu
+
+" Load Instructions
+syntax keyword mipsInstruction la
+syntax keyword mipsInstruction lb lbu lh lhu
+syntax keyword mipsInstruction lw lwc1 lwl lwr
+syntax keyword mipsInstruction ld
+syntax keyword mipsInstruction ulh ulhu ulw
+syntax keyword mipsInstruction ll
+
+" Store Instructions
+syntax keyword mipsInstruction sb sh sw swc1 sdc1 swl swr sd ush usw sc
+
+" Data Movement Instructions
+syntax keyword mipsInstruction move
+syntax keyword mipsInstruction mfhi mflo
+syntax keyword mipsInstruction mthi mtlo
+syntax keyword mipsInstruction mfc0 mfc1
+syntax match mipsInstruction "mfc1\.d"
+syntax keyword mipsInstruction mtc0 mtc1
+syntax keyword mipsInstruction movn movz movf movt
+
+" Floating-Point Instructions
+syntax match mipsInstruction "abs\.d"
+syntax match mipsInstruction "abs\.s"
+syntax match mipsInstruction "add\.d"
+syntax match mipsInstruction "add\.s"
+syntax match mipsInstruction "ceil\.w\.d"
+syntax match mipsInstruction "ceil\.w\.s"
+syntax match mipsInstruction "c\.eq\.d"
+syntax match mipsInstruction "c\.eq\.s"
+syntax match mipsInstruction "c\.le\.d"
+syntax match mipsInstruction "c\.le\.s"
+syntax match mipsInstruction "c\.lt\.d"
+syntax match mipsInstruction "c\.lt\.s"
+syntax match mipsInstruction "cvt\.d\.s"
+syntax match mipsInstruction "cvt\.d\.w"
+syntax match mipsInstruction "cvt\.s\.d"
+syntax match mipsInstruction "cvt\.s\.w"
+syntax match mipsInstruction "cvt\.w\.d"
+syntax match mipsInstruction "cvt\.w\.s"
+syntax match mipsInstruction "div\.d"
+syntax match mipsInstruction "div\.s"
+syntax match mipsInstruction "floor\.w\.d"
+syntax match mipsInstruction "floor\.w\.s"
+syntax match mipsInstruction "l\.d"
+syntax match mipsInstruction "l\.s"
+syntax match mipsInstruction "mov\.d"
+syntax match mipsInstruction "mov\.s"
+syntax match mipsInstruction "movf\.d"
+syntax match mipsInstruction "movf\.s"
+syntax match mipsInstruction "movt\.d"
+syntax match mipsInstruction "movt\.s"
+syntax match mipsInstruction "movn\.d"
+syntax match mipsInstruction "movn\.s"
+syntax match mipsInstruction "movz\.d"
+syntax match mipsInstruction "movz\.s"
+syntax match mipsInstruction "mul\.d"
+syntax match mipsInstruction "mul\.s"
+syntax match mipsInstruction "neg\.d"
+syntax match mipsInstruction "neg\.s"
+syntax match mipsInstruction "round\.w\.d"
+syntax match mipsInstruction "round\.w\.s"
+syntax match mipsInstruction "sqrt\.d"
+syntax match mipsInstruction "sqrt\.s"
+syntax match mipsInstruction "s\.d"
+syntax match mipsInstruction "s\.s"
+syntax match mipsInstruction "sub\.d"
+syntax match mipsInstruction "sub\.s"
+syntax match mipsInstruction "trunc\.w\.d"
+syntax match mipsInstruction "trunc\.w\.s"
+
+" Exception and Interrupt Instructions
+syntax keyword mipsInstruction eret
+syntax keyword mipsInstruction syscall
+syntax keyword mipsInstruction break
+syntax keyword mipsInstruction nop
+
+hi def link mipsComment        Comment
+hi def link mipsNumber         Number
+hi def link mipsString         String
+hi def link mipsLabel          Label
+hi def link mipsRegister       Identifier
+hi def link mipsDirective      Type
+hi def link mipsInstruction    Statement
+
+let b:current_syntax = "mips"