This man is too old to remember everything in his brain. Right now, he needs a place to write down what he has studied.
標籤
4GL
(1)
人才發展
(10)
人物
(3)
太陽能
(4)
心理
(3)
心靈
(10)
文學
(31)
生活常識
(14)
光學
(1)
名句
(10)
即時通訊軟體
(2)
奇狐
(2)
爬蟲
(1)
音樂
(2)
產業
(5)
郭語錄
(3)
無聊
(3)
統計
(4)
新聞
(1)
經濟學
(1)
經營管理
(42)
解析度
(1)
遊戲
(5)
電學
(1)
網管
(10)
廣告
(1)
數學
(1)
機率
(1)
雜趣
(1)
證券
(4)
證券期貨
(1)
ABAP
(15)
AD
(1)
agentflow
(4)
AJAX
(1)
Android
(1)
AnyChart
(1)
Apache
(14)
BASIS
(4)
BDL
(1)
C#
(1)
Church
(1)
CIE
(1)
CO
(38)
Converter
(1)
cron
(1)
CSS
(23)
DMS
(1)
DVD
(1)
Eclipse
(1)
English
(1)
excel
(5)
Exchange
(4)
Failover
(1)
Fedora
(1)
FI
(57)
File Transfer
(1)
Firefox
(3)
FM
(2)
fourjs
(1)
Genero
(1)
gladiatus
(1)
google
(1)
Google Maps API
(2)
grep
(1)
Grub
(1)
HR
(2)
html
(23)
HTS
(8)
IE
(1)
IE 8
(1)
IIS
(1)
IMAP
(3)
Internet Explorer
(1)
java
(4)
JavaScript
(22)
jQuery
(6)
JSON
(1)
K3b
(1)
ldd
(1)
LED
(3)
Linux
(120)
Linux Mint
(4)
Load Balance
(1)
Microsoft
(2)
MIS
(2)
MM
(51)
MSSQL
(1)
MySQL
(27)
Network
(1)
NFS
(1)
Office
(1)
OpenSSL
(1)
Oracle
(131)
Outlook
(3)
PDF
(6)
Perl
(60)
PHP
(33)
PL/SQL
(1)
PL/SQL Developer
(1)
PM
(3)
Postfix
(2)
postfwd
(1)
PostgreSQL
(1)
PP
(50)
python
(5)
QM
(1)
Red Hat
(4)
Reporting Service
(28)
ruby
(11)
SAP
(234)
scp
(1)
SD
(16)
sed
(1)
Selenium
(3)
Selenium-WebDriver
(5)
shell
(5)
SQL
(4)
SQL server
(8)
sqlplus
(1)
SQuirreL SQL Client
(1)
SSH
(3)
SWOT
(3)
Symantec
(2)
T-SQL
(7)
Tera Term
(2)
tip
(1)
tiptop
(24)
Tomcat
(6)
Trouble Shooting
(1)
Tuning
(5)
Ubuntu
(37)
ufw
(1)
utf-8
(1)
VIM
(11)
Virtual Machine
(2)
VirtualBox
(1)
vnc
(3)
Web Service
(2)
wget
(1)
Windows
(19)
Windows
(1)
WM
(6)
Xvfb
(2)
youtube
(1)
yum
(2)
2016年5月3日 星期二
2015年7月28日 星期二
4gl.vim
放在$HOME/.vim
" Vim syntax file
" Language: Informix 4GL
" Maintainer: Rafal M. Sulejman <rms@poczta.onet.pl>
" Update: 26 Sep 2002
" Changes:
" - Dynamic 4GL/FourJs/4GL 7.30 pseudo comment directives (Julian Bridle)
" - Conditionally allow case insensitive keywords (Julian Bridle)
"
" Changed by: Timothy Kim <cool.msg@hotamil.com>
" Update: 23 Nov 2008
" Changes:
" - Added syntax folding
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let b:fgl_minlines = 200
exec "syn sync ccomment cComment minlines=" . b:fgl_minlines
syntax case ignore
syn keyword fglKeyword ABORT ABS ABSOLUTE ACCEPT ACCESS ACOS ADD AFTER ALL
syn keyword fglKeyword ALLOCATE ALTER AND ANSI ANY APPEND ARG_VAL ARRAY ARR_COUNT
syn keyword fglKeyword ARR_CURR AS ASC ASCENDING ASCII ASIN AT ATAN ATAN2 ATTACH
syn keyword fglKeyword ATTRIBUTE ATTRIBUTES AUDIT AUTHORIZATION AUTO AUTONEXT AVERAGE AVG
syn keyword fglKeyword BEFORE BEGIN BETWEEN BLACK BLINK BLUE BOLD BORDER BOTH BOTTOM
syn keyword fglKeyword BREAK BUFFERED BY BYTE
syn keyword fglKeyword CALL CASCADE CASE CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH
syn keyword fglKeyword CHECK CLASS_ORIGIN CLEAR CLIPPED CLOSE CLUSTER COLOR
syn keyword fglKeyword COLUMN COLUMNS COMMAND COMMENT COMMENTS COMMIT COMMITTED
syn keyword fglKeyword COMPOSITES COMPRESS CONCURRENT CONNECT CONNECTION
syn keyword fglKeyword CONNECTION_ALIAS CONSTRAINED CONSTRAINT CONSTRAINTS CONSTRUCT
syn keyword fglKeyword CONTINUE CONTROL COS COUNT CREATE CURRENT CURSOR CYAN
syn keyword fglKeyword DATA DATABASE DATASKIP DATE DATETIME DAY DBA DBINFO DBSERVERNAME
syn keyword fglKeyword DEALLOCATE DEBUG DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFER
syn keyword fglKeyword DEFERRED DEFINE DELETE DELIMITER DELIMITERS DESC DESCENDING
syn keyword fglKeyword DESCRIBE DESCRIPTOR DETACH DIAGNOSTICS DIM DIRTY DISABLED
syn keyword fglKeyword DISCONNECT DISPLAY DISTINCT DISTRIBUTIONS DO DORMANT DOUBLE
syn keyword fglKeyword DOWN DOWNSHIFT DROP
syn keyword fglKeyword EACH ELIF ELSE ENABLED END ENTRY ERROR ERRORLOG ERR_GET
syn keyword fglKeyword ERR_PRINT ERR_QUIT ESC ESCAPE EVERY EXCEPTION EXCLUSIVE
syn keyword fglKeyword EXEC EXECUTE EXISTS EXIT EXP EXPLAIN EXPRESSION EXTEND EXTENT
syn keyword fglKeyword EXTERN EXTERNAL
syn keyword fglKeyword F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23
syn keyword fglKeyword F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F36 F37 F38
syn keyword fglKeyword F39 F4 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F5 F50 F51 F52
syn keyword fglKeyword F53 F54 F55 F56 F57 F58 F59 F6 F60 F61 F62 F63 F64 F7 F8 F9
syn keyword fglKeyword FALSE FETCH FGL_GETENV FGL_KEYVAL FGL_LASTKEY FIELD FIELD_TOUCHED
syn keyword fglKeyword FILE FILLFACTOR FILTERING FINISH FIRST FLOAT FLUSH FOR
syn keyword fglKeyword FOREACH FOREIGN FORM FORMAT FORMONLY FORTRAN FOUND FRACTION
syn keyword fglKeyword FRAGMENT FREE FROM FUNCTION GET_FLDBUF GLOBAL GLOBALS GO GOTO
syn keyword fglKeyword GRANT GREEN GROUP HAVING HEADER HELP HEX HIDE HIGH HOLD HOUR
syn keyword fglKeyword IDATA IF ILENGTH IMMEDIATE IN INCLUDE INDEX INDEXES INDICATOR
syn keyword fglKeyword INFIELD INIT INITIALIZE INPUT INSERT INSTRUCTIONS INT INTEGER
syn keyword fglKeyword INTERRUPT INTERVAL INTO INT_FLAG INVISIBLE IS ISAM ISOLATION
syn keyword fglKeyword ITYPE
syn keyword fglKeyword KEY LABEL
syn keyword fglKeyword LANGUAGE LAST LEADING LEFT LENGTH LET LIKE LINE
syn keyword fglKeyword LINENO LINES LOAD LOCATE LOCK LOG LOG10 LOGN LONG LOW
syn keyword fglKeyword MAGENTA MAIN MARGIN MATCHES MAX MDY MEDIUM MEMORY MENU MESSAGE
syn keyword fglKeyword MESSAGE_LENGTH MESSAGE_TEXT MIN MINUTE MOD MODE MODIFY MODULE
syn keyword fglKeyword MONEY MONTH MORE
syn keyword fglKeyword NAME NCHAR NEED NEW NEXT NEXTPAGE NO NOCR NOENTRY NONE NORMAL
syn keyword fglKeyword NOT NOTFOUND NULL NULLABLE NUMBER NUMERIC NUM_ARGS NVARCHAR
syn keyword fglKeyword OCTET_LENGTH OF OFF OLD ON ONLY OPEN OPTIMIZATION OPTION OPTIONS
syn keyword fglKeyword OR ORDER OTHERWISE OUTER OUTPUT
syn keyword fglKeyword PAGE PAGENO PAUSE PDQPRIORITY PERCENT PICTURE PIPE POW PRECISION
syn keyword fglKeyword PREPARE PREVIOUS PREVPAGE PRIMARY PRINT PRINTER PRIOR PRIVATE
syn keyword fglKeyword PRIVILEGES PROCEDURE PROGRAM PROMPT PUBLIC PUT
syn keyword fglKeyword QUIT QUIT_FLAG
syn keyword fglKeyword RAISE RANGE READ READONLY REAL RECORD RECOVER RED REFERENCES
syn keyword fglKeyword REFERENCING REGISTER RELATIVE REMAINDER REMOVE RENAME REOPTIMIZATION
syn keyword fglKeyword REPEATABLE REPORT REQUIRED RESOLUTION RESOURCE RESTRICT
syn keyword fglKeyword RESUME RETURN RETURNED_SQLSTATE RETURNING REVERSE REVOKE RIGHT
syn keyword fglKeyword ROBIN ROLE ROLLBACK ROLLFORWARD ROOT ROUND ROW ROWID ROWIDS
syn keyword fglKeyword ROWS ROW_COUNT RUN
syn keyword fglKeyword SCALE SCHEMA SCREEN SCROLL SCR_LINE SECOND SECTION SELECT
syn keyword fglKeyword SERIAL SERIALIZABLE SERVER_NAME SESSION SET SET_COUNT SHARE
syn keyword fglKeyword SHORT SHOW SITENAME SIZE SIZEOF SKIP SLEEP SMALLFLOAT SMALLINT
syn keyword fglKeyword SOME SPACE SPACES SQL SQLAWARN SQLCA SQLCODE SQLERRD SQLERRM
syn keyword fglKeyword SQLERROR SQLERRP SQLSTATE SQLWARNING SQRT STABILITY START
syn keyword fglKeyword STARTLOG STATIC STATISTICS STATUS STDEV STEP STOP STRING STRUCT
syn keyword fglKeyword SUBCLASS_ORIGIN SUM SWITCH SYNONYM SYSTEM
syn keyword fglKeyword SysBlobs SysChecks SysColAuth SysColDepend SysColumns
syn keyword fglKeyword SysConstraints SysDefaults SysDepend SysDistrib SysFragAuth
syn keyword fglKeyword SysFragments SysIndexes SysObjState SysOpClstr SysProcAuth
syn keyword fglKeyword SysProcBody SysProcPlan SysProcedures SysReferences SysRoleAuth
syn keyword fglKeyword SysSynTable SysSynonyms SysTabAuth SysTables SysTrigBody
syn keyword fglKeyword SysTriggers SysUsers SysViews SysViolations
syn keyword fglKeyword TAB TABLE TABLES TAN TEMP TEXT THEN THROUGH THRU TIME TO
syn keyword fglKeyword TODAY TOP TOTAL TRACE TRAILER TRAILING TRANSACTION TRIGGER
syn keyword fglKeyword TRIGGERS TRIM TRUE TRUNC TYPE TYPEDEF
syn keyword fglKeyword UNCOMMITTED UNCONSTRAINED UNDERLINE UNION UNIQUE UNITS UNLOAD
syn keyword fglKeyword UNLOCK UNSIGNED UP UPDATE UPSHIFT USER USING
syn keyword fglKeyword VALIDATE VALUE VALUES VARCHAR VARIABLES VARIANCE VARYING
syn keyword fglKeyword VERIFY VIEW VIOLATIONS
syn keyword fglKeyword WAIT WAITING WARNING WEEKDAY WHEN WHENEVER WHERE WHILE WHITE
syn keyword fglKeyword WINDOW WITH WITHOUT WORDWRAP WORK WRAP WRITE
syn keyword fglKeyword YEAR YELLOW
syn keyword fglKeyword ZEROFILL
syn keyword personal TIMK
" Strings and characters:
syn region fglString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region fglString start=+'+ skip=+\\\\\|\\"+ end=+'+
" Numbers:
syn match fglNumber "-\=\<[0-9]*\.\=[0-9_]\>"
" Comments:
syn region fglComment start="{" end="}"
syn match fglComment "--.*"
syn match fglComment "#.*"
" Not a comment even though it looks like one (Dynamic 4GL/FourJs directive)
syn match fglSpecial "--#"
syn match fglSpecial "--@"
syn sync ccomment fglComment
syn cluster NofglFold contains=fglComment,fglString
"function
syn region FglFunctionFold
\ start="^\s*function .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end function.*$"
\ transparent fold
\ keepend extend
\ contains=ALLBUT, @NoFglFold
"case -----------------------------------------"
syn region FglCaseFold
\ start="^\s*case[ .]*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end case"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"when|otherwise"
syn region fglWhenFold
\ start="^\s*\(when .*\|otherwise\)\s*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(when .*\|otherwise\|end case\)\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglCaseFold
"while --------------------------------------------"
syn region FglWhileFold
\ start="^\s*while .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end while"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"for"
syn region FglForFold
\ start="^\s*for .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end for"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"foreach"
syn region FglForeachFold
\ start="^\s*foreach .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end foreach"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"if container -------------------------------------"
syn region fglIfFoldContainer
\ start="^\s*if .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*if"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
\ contains=TOP
""if"
syn region fglIfFold
\ start="^\s*if .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*else"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ contained containedin=fglIfFoldContainer
\ nextgroup=fglFoldElse
\ contains=TOP
"else"
syn region fglFoldElse
\ start="^\s*else"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*if"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ contained containedin=fglIfFoldContainer
\ contains=TOP
"input ----------------------------------------------"
syn region fglInputFold
\ start="^\s*input .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*input"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"before|after|on"
syn region fglInputSubGrpFold
\ start="^\s*\(before\|after\|on\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before \|after \|on \|end input\).*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglInputFold
syn region fglDisplaySubGrpFold
\ start="^\s*\(before\|after\|on\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before \|after \|on \|end display\).*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglFunctionFold
"report ----------------------------------------------"
syn region FglReportFold
\ start="^\s*report .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end report.*$"
\ transparent fold
\ keepend extend
\ contains=ALLBUT, @NoFglFold
syn region fglReportSubGrpFold
\ start="^\s*\(before\|after\|on\|page\|first\|last\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before\|after\|on\|page\|first\|last\|end\) .*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglReportFold
\ contains=TOP
""define ---------------------------------------------"
syn region fglDefineFold
\ start="^\s*define.*$"
\ end="^\s*$"
\ transparent fold
\ keepend
"globals"
syn region FglGlobalsFold
\ start="^\s*globals\s*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end globals\s*$"
\ transparent fold
\ keepend
\ contains=fglDefineFold
\ containedin=NONE
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_fgl_syntax_inits")
if version < 508
let did_fgl_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink fglComment Comment
"HiLink fglKeyword fglSpecial
HiLink fglKeyword fglStatement
HiLink fglNumber Number
HiLink fglOperator fglStatement
HiLink fglSpecial Special
HiLink fglStatement Statement
HiLink fglString String
HiLink fglType Type
delcommand HiLink
endif
let b:current_syntax = "fgl"
" vim: ts=8
hi fglKeyword guifg=red
" Vim syntax file
" Language: Informix 4GL
" Maintainer: Rafal M. Sulejman <rms@poczta.onet.pl>
" Update: 26 Sep 2002
" Changes:
" - Dynamic 4GL/FourJs/4GL 7.30 pseudo comment directives (Julian Bridle)
" - Conditionally allow case insensitive keywords (Julian Bridle)
"
" Changed by: Timothy Kim <cool.msg@hotamil.com>
" Update: 23 Nov 2008
" Changes:
" - Added syntax folding
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let b:fgl_minlines = 200
exec "syn sync ccomment cComment minlines=" . b:fgl_minlines
syntax case ignore
syn keyword fglKeyword ABORT ABS ABSOLUTE ACCEPT ACCESS ACOS ADD AFTER ALL
syn keyword fglKeyword ALLOCATE ALTER AND ANSI ANY APPEND ARG_VAL ARRAY ARR_COUNT
syn keyword fglKeyword ARR_CURR AS ASC ASCENDING ASCII ASIN AT ATAN ATAN2 ATTACH
syn keyword fglKeyword ATTRIBUTE ATTRIBUTES AUDIT AUTHORIZATION AUTO AUTONEXT AVERAGE AVG
syn keyword fglKeyword BEFORE BEGIN BETWEEN BLACK BLINK BLUE BOLD BORDER BOTH BOTTOM
syn keyword fglKeyword BREAK BUFFERED BY BYTE
syn keyword fglKeyword CALL CASCADE CASE CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH
syn keyword fglKeyword CHECK CLASS_ORIGIN CLEAR CLIPPED CLOSE CLUSTER COLOR
syn keyword fglKeyword COLUMN COLUMNS COMMAND COMMENT COMMENTS COMMIT COMMITTED
syn keyword fglKeyword COMPOSITES COMPRESS CONCURRENT CONNECT CONNECTION
syn keyword fglKeyword CONNECTION_ALIAS CONSTRAINED CONSTRAINT CONSTRAINTS CONSTRUCT
syn keyword fglKeyword CONTINUE CONTROL COS COUNT CREATE CURRENT CURSOR CYAN
syn keyword fglKeyword DATA DATABASE DATASKIP DATE DATETIME DAY DBA DBINFO DBSERVERNAME
syn keyword fglKeyword DEALLOCATE DEBUG DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFER
syn keyword fglKeyword DEFERRED DEFINE DELETE DELIMITER DELIMITERS DESC DESCENDING
syn keyword fglKeyword DESCRIBE DESCRIPTOR DETACH DIAGNOSTICS DIM DIRTY DISABLED
syn keyword fglKeyword DISCONNECT DISPLAY DISTINCT DISTRIBUTIONS DO DORMANT DOUBLE
syn keyword fglKeyword DOWN DOWNSHIFT DROP
syn keyword fglKeyword EACH ELIF ELSE ENABLED END ENTRY ERROR ERRORLOG ERR_GET
syn keyword fglKeyword ERR_PRINT ERR_QUIT ESC ESCAPE EVERY EXCEPTION EXCLUSIVE
syn keyword fglKeyword EXEC EXECUTE EXISTS EXIT EXP EXPLAIN EXPRESSION EXTEND EXTENT
syn keyword fglKeyword EXTERN EXTERNAL
syn keyword fglKeyword F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23
syn keyword fglKeyword F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F36 F37 F38
syn keyword fglKeyword F39 F4 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F5 F50 F51 F52
syn keyword fglKeyword F53 F54 F55 F56 F57 F58 F59 F6 F60 F61 F62 F63 F64 F7 F8 F9
syn keyword fglKeyword FALSE FETCH FGL_GETENV FGL_KEYVAL FGL_LASTKEY FIELD FIELD_TOUCHED
syn keyword fglKeyword FILE FILLFACTOR FILTERING FINISH FIRST FLOAT FLUSH FOR
syn keyword fglKeyword FOREACH FOREIGN FORM FORMAT FORMONLY FORTRAN FOUND FRACTION
syn keyword fglKeyword FRAGMENT FREE FROM FUNCTION GET_FLDBUF GLOBAL GLOBALS GO GOTO
syn keyword fglKeyword GRANT GREEN GROUP HAVING HEADER HELP HEX HIDE HIGH HOLD HOUR
syn keyword fglKeyword IDATA IF ILENGTH IMMEDIATE IN INCLUDE INDEX INDEXES INDICATOR
syn keyword fglKeyword INFIELD INIT INITIALIZE INPUT INSERT INSTRUCTIONS INT INTEGER
syn keyword fglKeyword INTERRUPT INTERVAL INTO INT_FLAG INVISIBLE IS ISAM ISOLATION
syn keyword fglKeyword ITYPE
syn keyword fglKeyword KEY LABEL
syn keyword fglKeyword LANGUAGE LAST LEADING LEFT LENGTH LET LIKE LINE
syn keyword fglKeyword LINENO LINES LOAD LOCATE LOCK LOG LOG10 LOGN LONG LOW
syn keyword fglKeyword MAGENTA MAIN MARGIN MATCHES MAX MDY MEDIUM MEMORY MENU MESSAGE
syn keyword fglKeyword MESSAGE_LENGTH MESSAGE_TEXT MIN MINUTE MOD MODE MODIFY MODULE
syn keyword fglKeyword MONEY MONTH MORE
syn keyword fglKeyword NAME NCHAR NEED NEW NEXT NEXTPAGE NO NOCR NOENTRY NONE NORMAL
syn keyword fglKeyword NOT NOTFOUND NULL NULLABLE NUMBER NUMERIC NUM_ARGS NVARCHAR
syn keyword fglKeyword OCTET_LENGTH OF OFF OLD ON ONLY OPEN OPTIMIZATION OPTION OPTIONS
syn keyword fglKeyword OR ORDER OTHERWISE OUTER OUTPUT
syn keyword fglKeyword PAGE PAGENO PAUSE PDQPRIORITY PERCENT PICTURE PIPE POW PRECISION
syn keyword fglKeyword PREPARE PREVIOUS PREVPAGE PRIMARY PRINT PRINTER PRIOR PRIVATE
syn keyword fglKeyword PRIVILEGES PROCEDURE PROGRAM PROMPT PUBLIC PUT
syn keyword fglKeyword QUIT QUIT_FLAG
syn keyword fglKeyword RAISE RANGE READ READONLY REAL RECORD RECOVER RED REFERENCES
syn keyword fglKeyword REFERENCING REGISTER RELATIVE REMAINDER REMOVE RENAME REOPTIMIZATION
syn keyword fglKeyword REPEATABLE REPORT REQUIRED RESOLUTION RESOURCE RESTRICT
syn keyword fglKeyword RESUME RETURN RETURNED_SQLSTATE RETURNING REVERSE REVOKE RIGHT
syn keyword fglKeyword ROBIN ROLE ROLLBACK ROLLFORWARD ROOT ROUND ROW ROWID ROWIDS
syn keyword fglKeyword ROWS ROW_COUNT RUN
syn keyword fglKeyword SCALE SCHEMA SCREEN SCROLL SCR_LINE SECOND SECTION SELECT
syn keyword fglKeyword SERIAL SERIALIZABLE SERVER_NAME SESSION SET SET_COUNT SHARE
syn keyword fglKeyword SHORT SHOW SITENAME SIZE SIZEOF SKIP SLEEP SMALLFLOAT SMALLINT
syn keyword fglKeyword SOME SPACE SPACES SQL SQLAWARN SQLCA SQLCODE SQLERRD SQLERRM
syn keyword fglKeyword SQLERROR SQLERRP SQLSTATE SQLWARNING SQRT STABILITY START
syn keyword fglKeyword STARTLOG STATIC STATISTICS STATUS STDEV STEP STOP STRING STRUCT
syn keyword fglKeyword SUBCLASS_ORIGIN SUM SWITCH SYNONYM SYSTEM
syn keyword fglKeyword SysBlobs SysChecks SysColAuth SysColDepend SysColumns
syn keyword fglKeyword SysConstraints SysDefaults SysDepend SysDistrib SysFragAuth
syn keyword fglKeyword SysFragments SysIndexes SysObjState SysOpClstr SysProcAuth
syn keyword fglKeyword SysProcBody SysProcPlan SysProcedures SysReferences SysRoleAuth
syn keyword fglKeyword SysSynTable SysSynonyms SysTabAuth SysTables SysTrigBody
syn keyword fglKeyword SysTriggers SysUsers SysViews SysViolations
syn keyword fglKeyword TAB TABLE TABLES TAN TEMP TEXT THEN THROUGH THRU TIME TO
syn keyword fglKeyword TODAY TOP TOTAL TRACE TRAILER TRAILING TRANSACTION TRIGGER
syn keyword fglKeyword TRIGGERS TRIM TRUE TRUNC TYPE TYPEDEF
syn keyword fglKeyword UNCOMMITTED UNCONSTRAINED UNDERLINE UNION UNIQUE UNITS UNLOAD
syn keyword fglKeyword UNLOCK UNSIGNED UP UPDATE UPSHIFT USER USING
syn keyword fglKeyword VALIDATE VALUE VALUES VARCHAR VARIABLES VARIANCE VARYING
syn keyword fglKeyword VERIFY VIEW VIOLATIONS
syn keyword fglKeyword WAIT WAITING WARNING WEEKDAY WHEN WHENEVER WHERE WHILE WHITE
syn keyword fglKeyword WINDOW WITH WITHOUT WORDWRAP WORK WRAP WRITE
syn keyword fglKeyword YEAR YELLOW
syn keyword fglKeyword ZEROFILL
syn keyword personal TIMK
" Strings and characters:
syn region fglString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region fglString start=+'+ skip=+\\\\\|\\"+ end=+'+
" Numbers:
syn match fglNumber "-\=\<[0-9]*\.\=[0-9_]\>"
" Comments:
syn region fglComment start="{" end="}"
syn match fglComment "--.*"
syn match fglComment "#.*"
" Not a comment even though it looks like one (Dynamic 4GL/FourJs directive)
syn match fglSpecial "--#"
syn match fglSpecial "--@"
syn sync ccomment fglComment
syn cluster NofglFold contains=fglComment,fglString
"function
syn region FglFunctionFold
\ start="^\s*function .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end function.*$"
\ transparent fold
\ keepend extend
\ contains=ALLBUT, @NoFglFold
"case -----------------------------------------"
syn region FglCaseFold
\ start="^\s*case[ .]*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end case"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"when|otherwise"
syn region fglWhenFold
\ start="^\s*\(when .*\|otherwise\)\s*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(when .*\|otherwise\|end case\)\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglCaseFold
"while --------------------------------------------"
syn region FglWhileFold
\ start="^\s*while .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end while"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"for"
syn region FglForFold
\ start="^\s*for .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end for"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"foreach"
syn region FglForeachFold
\ start="^\s*foreach .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end foreach"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"if container -------------------------------------"
syn region fglIfFoldContainer
\ start="^\s*if .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*if"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
\ contains=TOP
""if"
syn region fglIfFold
\ start="^\s*if .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*else"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ contained containedin=fglIfFoldContainer
\ nextgroup=fglFoldElse
\ contains=TOP
"else"
syn region fglFoldElse
\ start="^\s*else"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*if"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ contained containedin=fglIfFoldContainer
\ contains=TOP
"input ----------------------------------------------"
syn region fglInputFold
\ start="^\s*input .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end\s*input"
\ transparent fold
\ keepend extend
\ containedin=ALLBUT, @NoFglFold
"before|after|on"
syn region fglInputSubGrpFold
\ start="^\s*\(before\|after\|on\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before \|after \|on \|end input\).*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglInputFold
syn region fglDisplaySubGrpFold
\ start="^\s*\(before\|after\|on\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before \|after \|on \|end display\).*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglFunctionFold
"report ----------------------------------------------"
syn region FglReportFold
\ start="^\s*report .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end report.*$"
\ transparent fold
\ keepend extend
\ contains=ALLBUT, @NoFglFold
syn region fglReportSubGrpFold
\ start="^\s*\(before\|after\|on\|page\|first\|last\) .*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*\(before\|after\|on\|page\|first\|last\|end\) .*\s*$"ms=s-1,me=s-1
\ transparent fold
\ keepend
\ containedin=FglReportFold
\ contains=TOP
""define ---------------------------------------------"
syn region fglDefineFold
\ start="^\s*define.*$"
\ end="^\s*$"
\ transparent fold
\ keepend
"globals"
syn region FglGlobalsFold
\ start="^\s*globals\s*$"
\ skip=/^\s*\(#.*\)*$/
\ end="^\s*end globals\s*$"
\ transparent fold
\ keepend
\ contains=fglDefineFold
\ containedin=NONE
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_fgl_syntax_inits")
if version < 508
let did_fgl_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink fglComment Comment
"HiLink fglKeyword fglSpecial
HiLink fglKeyword fglStatement
HiLink fglNumber Number
HiLink fglOperator fglStatement
HiLink fglSpecial Special
HiLink fglStatement Statement
HiLink fglString String
HiLink fglType Type
delcommand HiLink
endif
let b:current_syntax = "fgl"
" vim: ts=8
hi fglKeyword guifg=red
.vimrc
放在$HOME
set t_Co=256
" colorscheme default
" colorscheme desert
" colorscheme darkblue
colorscheme elflord
" colorscheme torte
set term=ansi
syntax on
set nu
" set autoindent
" let syntaxfile = "$HOME/.vim/4gl.vim"
" syntax on
set t_Co=256
" colorscheme default
" colorscheme desert
" colorscheme darkblue
colorscheme elflord
" colorscheme torte
set term=ansi
syntax on
set nu
" set autoindent
" let syntaxfile = "$HOME/.vim/4gl.vim"
" syntax on
2014年10月27日 星期一
使用 VIM 進行 HEX Mode 編輯 (16進位編輯)
http://changyy.pixnet.net/blog/post/25633298-%E4%BD%BF%E7%94%A8-vim-%E9%80%B2%E8%A1%8C-hex-mode-%E7%B7%A8%E8%BC%AF-%2816%E9%80%B2%E4%BD%8D%E7%B7%A8%E8%BC%AF%29
想說以前都用 UltraEdit 編輯遊戲存檔,沒想到 VIM 也能這樣做。
只要編輯時,下 :%! xxd ,就會以 Hex Mode 顯示檔案,然後編輯完想返回可以再用 :%! xxd -r 接著再存檔囉
想說以前都用 UltraEdit 編輯遊戲存檔,沒想到 VIM 也能這樣做。
只要編輯時,下 :%! xxd ,就會以 Hex Mode 顯示檔案,然後編輯完想返回可以再用 :%! xxd -r 接著再存檔囉
2014年9月17日 星期三
2014年9月8日 星期一
2014年8月12日 星期二
vim search case-insensitive words 不分大小寫搜尋
http://untitled-c.blogspot.tw/2007/05/vim-search-case-insensitive-words.html
vim tip 再一發
取代的時候,要不分大小寫,可以用 s/aaa/bbb/i 。
那如果只是要搜尋,又要不分大小寫的時候呢?
直接在欲搜尋的字前面加上 \c 即可,
例如 /\cshrpoor ,會找到 Shrpoor、sHrpoor、shrpooR等等
vim tip 再一發
取代的時候,要不分大小寫,可以用 s/aaa/bbb/i 。
那如果只是要搜尋,又要不分大小寫的時候呢?
直接在欲搜尋的字前面加上 \c 即可,
例如 /\cshrpoor ,會找到 Shrpoor、sHrpoor、shrpooR等等
2014年8月6日 星期三
VIM学习笔记 配色方案(Color Scheme)
http://yyq123.blogspot.tw/2011/02/vim-color-scheme.html

你也可以在Vim.org中,查找并下载喜欢的配色方案。你甚至可以下载Color Sampler Pack,然后从其中包含的100个最受欢迎配色方案里慢慢挑选。
将下载的配色方案文件name.vim,放入$VIMRUNTIME/colors目录中;然后执行以下命令,就可以应用这个配色方案了:

如果对现在的语法配色不满意,可以使用以下命令进行修改:
其中group是指语法元素,例如:
而definition是指具体定义。例如以下命令,将定义黄底黑字的终端:
在命令中没有指定的参数,将保持其原有的定义。例如以下命令,将背景定义为白色,而前景颜色不变:
Vim识别三种不同的终端:term,黑白终端;cterm,彩色终端;gui,Gvim窗口。
term,可以定义其字体显示为:bold、underline、reverse、italic或standout。例如以下命令,用逗号来组合使用这些属性:
cterm,可以用ctermfg设置前景色;用ctermbg设置背景色。例如以下命令,定义蓝底红字并使用下划线来显示注释:
gui,可以使用选项gui=attribute,来定义图形窗口下语法元素的显示属性。选项guifg和guibg,用来定义了前景色和背景色。推荐使用的颜色包括:black, brown, grey, blue, green, cyan, magenta, yellow, white。
为了保持各平台下的一致性,我们应该使用十六进制颜色代码来指定颜色。例如使用以下命令,一次定义几种终端下的配色:
利用hexHighlight.vim插件可以直观的查看配色:点击\F2键,就可以将十六进制颜色代码显示为真实的色彩;再次点击\F2键,则将色彩还原显示为字符。

注意:此插件仅适用于Gvim。
2011
VIM学习笔记 配色方案(Color Scheme)
识别背景色
Vim有两种显示模式:一种是背景为浅色,而另一种是背景为深色。在启动时,Vim会检测使用的是哪一种背景颜色,然后再应用语法高亮的配色方案。我们可以使用:set background?命令,查看当前使用的背景颜色。也可以使用:set background=light或:set background=dark命令,来指定背景颜色。注意:必须在启用语法高亮之前,设置背景色彩。
使用配色方案
Vim如何使用不同颜色显示不同的语法元素是由配色方案(Color Scheme)定义的。输入:colorscheme命令,紧接着一个空格后,然后点击Tab键,将可以遍历所有已安装的配色方案,按下Enter键就可以应用该配色方案。
安装配色方案
你可以先在Vim Color Scheme Test网站中,预览各种配色方案的效果,然后再点击配色方案的名称进行下载安装。你也可以在Vim.org中,查找并下载喜欢的配色方案。你甚至可以下载Color Sampler Pack,然后从其中包含的100个最受欢迎配色方案里慢慢挑选。
将下载的配色方案文件name.vim,放入$VIMRUNTIME/colors目录中;然后执行以下命令,就可以应用这个配色方案了:
:colorscheme name
修改配色方案
我们可以使用:highlight命令,查看当前的配色设定。如果对现在的语法配色不满意,可以使用以下命令进行修改:
:highlight group definition- Cursor,光标下的字符
- Directory,目录名称
- ErrorMsg,在最底行显示的错误信息
- IncSearch,增量(Incremental)查找的匹配结果
- ModeMsg,在左下角显示的模式名称
- MoreMsg,显示更多信息时的提示
- Visual,在可视化模式下被选中的文本
:help group-name:highlight Normal ctermfg=black ctermbg=yellow:highlight Normal\ ctermbg=whiteterm,可以定义其字体显示为:bold、underline、reverse、italic或standout。例如以下命令,用逗号来组合使用这些属性:
:highlight Keyword term=reverse,bold:highlight Comment cterm=underline ctermfg=red ctermbg=blue为了保持各平台下的一致性,我们应该使用十六进制颜色代码来指定颜色。例如使用以下命令,一次定义几种终端下的配色:
:highlight Error term=reverse cterm=blod ctermfg=#00afff ctermbg=#a8a8a8注意:此插件仅适用于Gvim。
:set background | 设置背景颜色 |
:colorscheme | 设置配色方案 |
:highlight | 定义高亮显示 |
2014年8月4日 星期一
vim 配色
http://www.puritys.me/docs-blog/article-110-vim-%E9%85%8D%E8%89%B2.html
預設的 vim 只有 16 種顏色,但是改一改設定檔之後,就能夠用 256 種顏色,使用 256 色前,必需先編輯 ~/.vimrc 的檔案,加入這句 「set t_Co=256」。大小寫要一模一樣,否則就沒有作用了。
我的 vim 配色 (黑)
vim 配色程式碼
這段程式碼可以直接寫進 ~/.vimrc ,或是使用建立檔案在 ~/.vim/colors/ 的路徑下,這樣 vim 也會自動載入這個檔案,最後在 ~/vimrc 中加入樣式的名稱 「colorscheme mystyle」。
我的 vim 配色 (白)
黑底白字的配色表看久了,眼睛會開始覺得糢糊,所以後來我又改了一個白底黑字的版本,並且把 c++ , php ,javascript 的 syntax 配色都加上去,用了這個配色之後,字體變清楚了,眼睛也比較不累,又可以長時間加班囉......
這段程式碼可以直接寫進 ~/.vimrc ,或是使用建立檔案在 ~/.vim/colors/ 的路徑下,這樣 vim 也會自動載入這個檔案,最後在 ~/vimrc 中加入樣式的名稱 「colorscheme mystyle_white」。
vim Syntax
除了有配色表之外,還可以針對不同的語言給予不同的 Syntax , 一般來說 c , c++ , php , shell 等等都已經內建在 vim7 的 package 裡了,所以不用煩腦 syntax 問題。
但是像我常常會用 vim 編輯 javascript , 面對沒有 Syntax 的字體,真的是非常辛苦,而增加 javascript syntax 的方式也不會太難,第一步是先下載 javascript syntax http://www.vim.org/scripts/script.php?script_id=1840 ,再將下載回來的檔案改名為 javascript.vim ,並放置在目錄 ~/.vim/syntax/javascrip.vim,最後再更改 「.vimrc」 ,加入語法「 au BufRead,BufNewFile *.sjs set filetype=javascript」。
在製作 vim syntax 配色時,需要一邊修改一邊預覽,這時可以使用 「:syn off | syn on」 這句語法,來重新載入修改後的 syntax 配色表。
其他相關
2014年8月3日 星期日
挑選 Vim 顏色(Color Scheme)
http://blog.longwin.com.tw/2009/03/choose-vim-color-scheme-2009/
Vim 除了預設的顏色外, 除了自己設定, 還是有很多前輩已經設好, 將 Color Scheme 釋放出來.
預設的 default、desert、darkblue 等, 都還蠻不錯的, 另外安裝的 ir_black 也不錯:
挑選、下載 Vim Color Scheme
哪裡可以挑選這些 Color Scheme 呢?
安裝 Vim Color Scheme
挑選到喜歡的 Color Scheme 後, 安裝步驟:
於 Vim 執行時, 切換 Color Scheme
Vim 除了預設的顏色外, 除了自己設定, 還是有很多前輩已經設好, 將 Color Scheme 釋放出來.
預設的 default、desert、darkblue 等, 都還蠻不錯的, 另外安裝的 ir_black 也不錯:
gVim 的 color scheme (ir_black.vim)
挑選、下載 Vim Color Scheme
哪裡可以挑選這些 Color Scheme 呢?
-
Vim 本身就有:
search results : vim online
-
bCentral 很有心的整理出此篇:
Vim Color Scheme Test
, 幫 Color Schemes 都加上預覽圖. (此篇一定要去參考)
安裝 Vim Color Scheme
挑選到喜歡的 Color Scheme 後, 安裝步驟:
- 下載 COLOR_SCHEME.vim
- mkdir ~/.vim/colors/
- mv COLOR_SCHEME.vim ~/.vim/colors/
- vim ~/.vimrc # 加入下述內容
colorscheme COLOR_SCHEME
- 註1: .vimrc 要記得加
set t_Co=256
來支援 256 色的環境, 才不會覺得跟預覽圖不一樣. - 註2:
syntax on
... 這個應該不用多做解釋吧~ XD
於 Vim 執行時, 切換 Color Scheme
- :colorscheme COLOR_SCHEME
2014年7月31日 星期四
VIM syntax highlight
1. 在$HOME/.vimrc加上以下內容
colorscheme default
set term=ansi
syntax on
2. http://www.cnblogs.com/ifantastic/p/3524751.html
Vim手记:语法高亮
本文覆盖范围:- Vim的着色方案
- 设置高亮
- 选择颜色
- 语法高亮除错
Vim着色方案
首先说明,本文谈论的不是哪种颜色最好,而是Vim如何处理语法高亮的问题。
在决定如何给一个文件着色时,Vim首先将文件分解成若干结构组。这些都是通过编写好的语法命令文件来实现,这些文件在Vim加载一个文件的时候就 自动加载了,加载过程则是基于一系列复杂规则。如果Vim选择了一个错误的语法命令文件,你可以通过以下命令手工指定一个正确的文件:
:set syn=syntax-type
其中syntax-type是一个文件的类型。通常文件类型就是文件扩展名,例如选择PHP语法高亮,则将syntax-type设置为“php”。
Vim主要使用以下九种高亮分组:
Comment : 注释 Constant : 常量,例如数字、引号内字符串、布尔值。 Identifier : 变量标识符名称。 Statement : 编程语言的声明,一般是像“if”或“while”这样的关键字。 PreProc : 预处理,例如C语言中的“#include”。 Type : 变量类型,例如“int”。 Special : 特殊符号,通常是类似字符串中的“\n”。 Underlined : 文本下划线。 Error : 显示编程语言错误的文本。
另外还有一个分组叫做Normal,表示普通文本。
也许你已经注意到,这些高亮分组主要针对编程语言,这是因为语法高亮对它们最有用。但是,Vim的高亮命令覆盖的文件类型远超过编程语言,包括从HTML到EMAIL的任何东西。
Vim还支持三种输出设备:black-and-white terminal(黑白终端),color terminal(彩色终端)和GUI(图形化的用户接口)。因为它们每一个都有自己独特的高亮能力,Vim为它们维护了三个独立的高亮方案。
建立高亮
实现高亮的最简便方式就是使用别人写好的.vimrc文件,就像这个(点击下载)。大多数时候这样做都挺好使。但是,如果它不好使或者你想从头开始,以下就是告诉你如何从头开始。
你必须在你的.vimrc文件的第一行写入:
syntax on
这行命令告诉Vim开始使用语法高亮。如果你暂时不想改动文件,你也可以在Vim窗口输入它作为一行命令。
如果你正在使用黑白终端或者GUI接口,一切都工作得刚刚好。如果你正在使用一个支持彩色的终端,你也许不得不将以下命令置于syntax on上一行:
set term=ansi
你也可以尝试一下color_xterm来代替ansi。
选择颜色
Vim有一套默认颜色方案,在我看来,有点过度明亮和混乱(注释和变量颜色是一样的)。但是每个人都有一套自己的颜色偏好,因此你可能会很想了解如何改变它的色彩来符合自己的口味。
Vim着色使用:highlight和:hi命令。:hi命令实际上是多用途命令,它负责许多例行着色,我们仅用它的颜色选择功用。它具有以下语法:
:hi Group key=value ...
Group就是前面所说的9个高亮分组名。
key-value键值对规定了不同输出终端的高亮值。这里有三个基本键名:term、cterm和gui,代表着黑白终端、彩色终端和图形界面。 除了term以外,另外两个基本键还有两个扩展键名base-namefg和base-namebg,分别代表对应终端的前景和背景颜色。基本键只能拥有 非色彩的高亮值,例如加粗和下划线。
以下是一些高亮键和它们可能的值:
term/cterm/gui: bold, underline, reverse, italic, none ctermfg/ctermbg: red, yellow, green , blue, magenta, cyan, white, blcak, gray guifg/guibg: 以上所有颜色,而且还可以使用#rrggbb格式色彩。
例如,我想高亮我的预处理声明为bright magenta,可以使用如下命令:
:hi PreProc ctermfg=magenta cterm=bold guifg=#FF00FF
注意,我可以在一行中使用多个键值对,他们都会应用于同一个高亮分组。
通常来说,只要你喜欢一个着色方案,你可以将它设置在你的~/.vimrc文件中,Vim会自动将其加载。
语法高亮除错
Vim的语法高亮偶尔也存在一些小问题,我就经常遭遇到其中的三个。
没有彩色,只有黑白终端高亮。
导致这种情况的最常见的原因是Vim无法确定终端是否具备彩色能力。要修复它,首先确保在.vimrc文件第一行设置了term=ansi,一定要 在syntax on所在行之前。另外还要在shell中将环境变量TERM设置为color_xterm和color-xterm。
颜色有了,但不是我想要的。
这常发生在你试图修改别人的.vimrc文件以为己用的时候。有时,你只需要将自己的色彩定义全部放到文件的底部去就可以修复。如果不奏效的话,检查所有可疑的代码,然后将它们注释。(注释方法为在行首添加双引号)
滚屏时颜色乱成一团
Vim在确定高亮法则的时候使用多种探索方法来节约时间,有时这会造成一些故障。查看:h syn-sync可以得到更多细节。要修复这个,你可使用以下命令:
syn sync minlines=1000
你也可以在.vimrc文件中设置更大的数值。在Vim 6.0及以上版本,你可以使用以下命令:
syn sync fromstart
该命令强制高亮引擎从文件第一行开始解析文件,这对大文件而言会很慢,但它可以确保色彩准确度。
此时此刻,如果你习惯了使用Vim,并且你已经鼓捣了一阵它的配置,发现一些你喜欢的特性,恭喜你,你现在是一个Vim User了。当然,在本教程中我还会教更多的关于Vim的东西,有人写了一整本关于编程的书,但我希望你从本教程可以掌握一些基础知识并且探索更多知识。 享受学习,这是一项你永远不会后悔拥有的技能。
訂閱:
文章 (Atom)