vimrc bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
source /home/Xilinx/Vivado/2019.1/settings64.sh
# User specific aliases and functions
export PS1='[\u@\h `pwd`]\$'
alias gv="gvim"
alias g="gvim"
alias la="ls -a"
alias ..="cd ../"
cd() { builtin cd "$@" && ls; }
export DVE_HOME=/home/synopsys/vcs/O-2018.09-SP2
export VCS_HOME=/home/synopsys/vcs/O-2018.09-SP2
export VCS_MX_HOME=/home/synopsys/vcs-mx/O-2018.09-SP2
export LD_LIBRARY_PATH=/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64
export VERDI_HOME=/home/synopsys/verdi/Verdi_O-2018.09-SP2
export SCL_HOME=/home/synopsys/scl/2018.06
export SCL_HOME=/home/synopsys/scl/2018.06
export UVM_HOME=~/uvm/uvm-1.1d
export WORK_HOME=/home/ICer/Desktop/example_and_uvm_source_code/puvm
#dve
PATH=$PATH:$DVE_HOME/gui/dve/bin
alias dve="dve -full64"
#VCS
PATH=$PATH:$VCS_HOME/bin
alias vcs="vcs"
#VERDI
PATH=$PATH:$VERDI_HOME/bin
alias verdi="verdi"
#scl
PATH=$PATH:$SCL_HOME/linux64/bin
export VCS_ARCH_OVERRIDE=linux
#LICENCE
export LM_LICENSE_FILE=27000@localhost.localdomain
alias lmg_synopsys="lmgrd -c /home/synopsys/scl/2018.06/admin/license/Synopsys.dat"
new
"
" Ctrl + H --光标移当前行行首 [插入模式]
" Ctrl + J --光标移下一行行首 [插入模式]
" Ctrl + K --光标移上一行行尾 [插入模式]
" Ctrl + L --光标移当前行行尾 [插入模式]
" Ctrl + C --单源文件编译 [已配置 C/C++]
" Ctrl + R --单源文件运行 [已配置 C/C++ Ruby Bash]
" Ctrl + ] --转到函数定义
" Ctrl + T --返回调用函数
" Ctrl + E --一步加载语法模板和作者、时间信息
" ESC + H --Normal模式下开启Devhelp查询功能
" <C-P> --关键字补全
" <C-X><C-L> --整行补全
" <C-X><C-O> --全能补全
" Tab键 --插入模式下语法结构补全 [snipMate插件]
" Shift + Insert --向Vim中粘贴从别处复制的内容
" u [小写] --单步复原 [非插入模式]
" U [大写] --整行复原 [非插入模式]
" jj --保存文件并留在插入模式 [插入模式]
" kk --返回Normal模式 [插入模式]
" nt --打开NERDTree [非插入模式]
" tl --打开TagList [非插入模式]
" za --打开或关闭当前折叠
" zM --关闭所有折叠
" zR --打开所有折叠
" :se ft=cpp --手动选择语法高亮 [:set filetype=cpp 或 :set syntax=cpp 亦可]
" :%!xxd --转储二进制文件,以十六进制形式显示
" :%!xxd -r --还原二进制文件
" ---------- 主要插件详细用法说明 ---------------------
" :Tlist --呼出变量和函数列表 [TagList插件]
" :LoadTemplate --呼出语法模板 [Load_Template插件]
" :AuthorInfoDetect --添加作者、时间等信息 [NERD_commenter && authorinfo插件]
" ---------- snipMate [全局可用的补全关键字] ----------
" cprt --插入版权信息 [助记:copyright]
" date --插入当前时间
" fiok --插入文件的最后修改时间 [助记:file ok]
" desc --插入文件描述 [助记:description]
" 更多关键字可自行查看vimfiles/snippets下的各个文件 [Linux下为~/.vim/snippets]
" ---------- a.vim [自动切换C/C++同名头文件] ----------
" :A --切换同名头文件并独占整个屏幕
" :AS --切换同名头文件并垂直分屏,头文件在上
" :AV --切换同名头文件并水平分割,头文件在左
" ---------- NERDTree [智能文件浏览器] ----------------
" :NERDTree --启动NERDTree插件
" o [小写] --切换当前文件或目录的打开、关闭状态
" u --打开上层目录
" p [小写] --返回上层目录
" P [大写] --返回根目录
" K --转到当前目录第一个节点
" J --转到当前目录最后的节点
" m --显示文件系统菜单 [增、删、移]
" ? --弹出帮助菜单
" q --退出该插件
"colorscheme elflord " 着色模式:黄色和粉红色为主
"set guifont=Monaco:h11 " 字体 && 字号
set backspace=2 " 设置退格键可用
set autoindent " 自动对齐
set ai! " 设置自动缩进
set smartindent " 智能自动缩进
set shiftwidth=2 " 换行时行间交错使用2空格
set cindent shiftwidth=2 " 自动缩进2空格
set nu! " 显示行号
set mouse=a " 启用鼠标
set ruler " 右下角显示光标位置的状态行
set incsearch " 开启实时搜索功能
set hlsearch " 开启高亮显示结果
set nowrapscan " 搜索到文件两端时不重新搜索
set nocompatible " 关闭兼容模式
"set vb t_vb= " 关闭提示音
set hidden " 允许在有未保存的修改时切换缓冲区
set autochdir " 设定文件浏览器目录为当前目录
set foldmethod=syntax " 选择代码折叠类型
set foldlevel=100 " 禁止自动折叠
set laststatus=2 " 开启状态栏信息
set cmdheight=2 " 命令行的高度,默认为1,这里设为2
"set showmatch " 显示括号配对情况
"set cursorline " 突出显示当前行
"set nowrap " 设置不自动换行
set writebackup " 设置无备份文件
set nobackup
"set list " 显示Tab符,使用一高亮竖线代替
set listchars=tab:\|\ ,
set tabstop=2 " 设置Tab键的宽度 [等同的空格个数]
set expandtab " 将Tab自动转化成空格 [需要输入真正的Tab键时,使用 Ctrl+V + Tab]
syntax enable " 打开语法高亮
syntax on " 开启文件类型侦测
filetype indent on " 针对不同的文件类型采用不同的缩进格式
filetype plugin on " 针对不同的文件类型加载对应的插件
filetype plugin indent on " 启用自动补全
" 每行超过80个的字符用下划线标示
au BufRead,BufNewFile *.s,*.c,*.cpp,*.h,*.cl,*.rb,*.sql,*.sh,*.vim,*.js,*.css,*.html 2match Underlined /.\%81v/
" 设置编码
set fenc=utf-8
set encoding=utf-8
set fileencodings=utf-8,gbk,cp936,latin-1
" ======= 引号 && 括号自动匹配 ======= "
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
":inoremap ' ''<ESC>i
":inoremap ` ``<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
" ESC + H Normal模式下开启Devhelp查询功能
function! DevHelpCurrentWord()
let word = expand("<cword>")
exe "!devhelp -s " . word . " &"
endfunction
nmap <esc>h :call DevHelpCurrentWord()<CR>
" MiniBufExplorer 多个文件切换 可使用鼠标双击相应文件名进行切换
let g:miniBufExplMapWindowNavVim=1
let g:miniBufExplMapWindowNavArrows=1
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplModSelTarget=1
" :Tlist 调用TagList
let Tlist_Show_One_File=1 " 只显示当前文件的tags
let Tlist_Exit_OnlyWindow=1 " 如果Taglist窗口是最后一个窗口则退出Vim
let Tlist_Use_Right_Window=1 " 在右侧窗口中显示
let Tlist_File_Fold_Auto_Close=1 " 自动折叠
" :LoadTemplate 根据文件类型自动加载模板
let g:template_path='~/.vim/template/'
" snipMate Tab智能补全
let g:snips_author='Ruchee'
" :AuthorInfoDetect 自动添加作者、时间等信息,本质是NERD_commenter && authorinfo的结合
let g:vimrc_author='Ruchee'
let g:vimrc_email='my@ruchee.com'
let g:vimrc_homepage='http://www.ruchee.com'
" Ctrl + H 将光标移到当前行的行首
imap <c-h> <ESC>I
" Ctrl + J 将光标移到下一行的行首
imap <c-j> <ESC>jI
" Ctrl + K 将光标移到上一行的末尾
imap <c-k> <ESC>kA
" Ctrl + L 将光标移到当前行的行尾
imap <c-l> <ESC>A
" Ctrl + E 一步加载语法模板和作者、时间信息
map <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
imap <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
vmap <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
" jj 保存当前文件并留在插入模式 [插入模式]
imap jj <ESC>:w<CR>li
" kk 返回Normal模式,不执行保存 [插入模式]
imap kk <ESC>l
" nt 打开NERDTree窗口,在左侧栏显示 [非插入模式]
map nt :NERDTree<CR>
" tl 打开Taglist窗口,在右侧栏显示 [非插入模式]
map tl :Tlist<CR><c-l>
" ======= 编译 && 运行 ======= "
" 编译源文件
func! CompileCode()
exec "w"
if &filetype == "c"
exec "!clang -std=c99 %<.c -o %<"
elseif &filetype == "cpp"
exec "!clang++ -std=c++98 %<.cpp -o %<"
elseif &filetype == "ruby"
exec "!ruby %<.rb"
elseif &filetype == "sh"
exec "!bash %<.sh"
endif
endfunc
" 运行可执行文件
func! RunCode()
exec "w"
if &filetype == "c" || &filetype == "cpp"
exec "! ./%<"
elseif &filetype == "ruby"
exec "!ruby %<.rb"
elseif &filetype == "sh"
exec "!bash %<.sh"
endif
endfunc
" Ctrl + C 一键保存、编译
map <c-c> :call CompileCode()<CR>
imap <c-c> <ESC>:call CompileCode()<CR>
vmap <c-c> <ESC>:call CompileCode()<CR>
" Ctrl + R 一键保存、运行
map <c-r> :call RunCode()<CR>
imap <c-r> <ESC>:call RunCode()<CR>
vmap <c-r> <ESC>:call RunCode()<CR>
" ======= VimWiki ======= "
" 设置编码
let g:vimwiki_w32_dir_enc = 'utf-8'
" 使用鼠标映射
let g:vimwiki_use_mouse = 1
" 不要将驼峰式词组作为 Wiki 词条
let g:vimwiki_camel_case = 0
" 声明可以在wiki里面使用的HTML标签
let g:vimwiki_valid_html_tags='b,i,s,u,sub,sup,kbd,br,hr,div,del,code,red,center,left,right,h2,h4,h5,h6,pre,script,style'
let g:vimwiki_list = [{
\ 'path': '~/mysite/wiki',
\ 'path_html': '~/mysite/html/',
\ 'html_header': '~/mysite/template/header.html',
\ 'html_footer': '~/mysite/template/footer.html',
\ 'auto_export': 1,
\ 'nested_syntaxes': {'Clang': 'c', 'C++': 'cpp', 'Lisp': 'lisp', 'Ruby': 'ruby', 'SQL': 'sql', 'Bash': 'sh', 'Vim': 'vim', 'Make': 'make', 'CMake': 'cmake', 'JS': 'javascript', 'CSS': 'css', 'HTML': 'html', 'XML': 'xml'},}]
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
alias lmgrd_synopsys="$SCL_HOME/linux64/bin/lmgrd -c $SNPSLMD_LICENSE_FILE"
######################################Synopsys#####################################
#Set Synopsys Directory
export Synopsys_Dir=/opt/Synopsys
#SCL
export SCL_HOME=$Synopsys_Dir/SCL11.11
#lmgrd
export PATH=$SCL_HOME/linux64/bin:$PATH
#SNPSLMD_LICENSE_FILE
#export SNPSLMD_LICENSE_FILE=$Synopsys_Dir/License/License.dat
export SNPSLMD_LICENSE_FILE=27000@IC
export LM_LICENSE_FILE=$Synopsys_Dir/License/License.dat
lmgrd -l ~/.lmgrd.log -c $LM_LICENSE_FILE
#Design Compiler
#export DC_HOME=$Synopsys_Dir/Design_Compiler2010
#export PATH=$DC_HOME/bin:$PATH
#Formality
export Formality_HOME=$Synopsys_Dir/Formality2016
export PATH=$Formality_HOME/bin:$PATH
#Hspice
export Hspice_HOME=$Synopsys_Dir/Hspice2016
export PATH=$Hspice_HOME/hspice/bin:$PATH
#ICC
export ICC_HOME=$Synopsys_Dir/ICC2016
export PATH=$ICC_HOME/bin:$PATH
#Laker
export Laker_HOME=$Synopsys_Dir/Laker_OA2015
export PATH=$Laker_HOME/bin:$PATH
#PrimeTime
export PrimeTime_HOME=$Synopsys_Dir/PrimeTime2015
export PATH=$PrimeTime_HOME/bin:$PATH
#StarRC
export StarRC_HOME=$Synopsys_Dir/StarRC2015
export PATH=$StarRC_HOME/bin:$PATH
#Synplify
export Synplify_HOME=$Synopsys_Dir/Synplify2015
export PATH=$Synplify_HOME/bin:$PATH
#VCS
export VCS_HOME=$Synopsys_Dir/VCS2014
export PATH=$VCS_HOME/bin:$PATH
#Verdi
export Verdi_HOME=$Synopsys_Dir/Verdi2015
export PATH=$Verdi_HOME/bin:$PATH
#Alias
alias dc=dc_shell
alias dv=design_vision
alias pt=primetime
alias fm=formality
alias starrc=StarXtract
######################################Cadence######################################
#Set Cadence Directory
export Cadence_Dir=/opt/Cadence
export CDS_LIC_FILE=$Cadence_Dir/License/License.dat
#####Virtuoso
export Virtuoso_HOME=$Cadence_Dir/IC617
export OA_HOME=$Virtuoso_HOME/oa_v22.50.043
#export OA_HOME=$Virtuoso_HOME/oa_v22.43.018
export CDS_AUTO_64BIT=ALL
#export CDS_Netlisting_Mode=Analog
export CDS_Netlisting_Mode=Digital
export PATH=$Virtuoso_HOME/share/bin:$PATH
export PATH=$Virtuoso_HOME/tools/bin:$PATH
export PATH=$Virtuoso_HOME/tools/dfII/bin:$PATH
export PATH=$Virtuoso_HOME/tools/dracula/bin:$PATH
export PATH=$Virtuoso_HOME/tools/iccraft/bin:$PATH
export PATH=$Virtuoso_HOME/tools/plot/bin:$PATH
export CDS_LOAD_ENV=CSF
alias vir="virtuoso&"
alias icfb="virtuoso&"
#####MMSIM
export MMSIM_HOME=$Cadence_Dir/MMSIM15
export PATH=$MMSIM_HOME/bin:$PATH
export PATH=$MMSIM_HOME/tools/bin:$PATH
export PATH=$MMSIM_HOME/tools/dfII/bin:$PATH
export PATH=$MMSIM_HOME/tools/spectre/bin:$PATH
#####Incisive
export Incisive_HOME=$Cadence_Dir/Incisive14/
export PATH=$Incisive_HOME/tools/bin:$PATH
#####RC
export RC_HOME=$Cadence_Dir/RC11
export PATH=$RC_HOME/bin:$PATH
#####Encounter
export Encounter_HOME=$Cadence_Dir/INNOVUS15
#export OA_HOME=$Encounter_HOME/oa_v22.50.028
export PATH=$Encounter_HOME/bin:$PATH
alias encounter=innovus
#####ASSURA
#export ASSURA_HOME=$Cadence_Dir/ASSURA4
#export PATH=$ASSURA_HOME/bin:$PATH
######################################Mentor#######################################
#Set Mentor Directory
export Mentor_Dir=/opt/Mentor
export MGLS_LICENSE_FILE=$Mentor_Dir/License/License.dat
#####Modelsim
export MDS_HOME=$Mentor_Dir/ModelSim/modeltech/bin:$PATH
export PATH=$Mentor_Dir/ModelSim/modeltech/linux:$PATH
#####Tessent
export DFT_HOME=$Mentor_Dir/Tessent2013/
#export DFT_HOME=$Mentor_Dir/DFT/ #for DFT2008
export PATH=$DFT_HOME/bin:$PATH
alias dfta=dftadvisor
alias fast=fastscan
alias flex=flextest
alias bsda=bsdarchitect
alias bsdg=bsdgen
#####Calibre
export MGC_HOME=$Mentor_Dir/Calibre2015/ixl_cal_2015.4_16.11
export CALIBRE_HOME=$MGC_HOME
export PATH=$MGC_HOME/bin:$PATH
export CALIBRE_2013_4_ALLOW_IXL_ON_RHEL6=101010
######################################Concept######################################
export Concept_dir=/opt/Concept
#export LM_LICENSE_FILE=$Concept_dir/License/License.dat
export PATH=$Concept_dir/Gatevision:$PATH
export PATH=$Concept_dir/RTLvision:$PATH
export PATH=$Concept_dir/SGvision:$PATH
export PATH=$Concept_dir/SpiceVision:$PATH
export PATH=$Concept_dir/Symutils/linux23.x86_64:$PATH
alias gate=gatevisionpro
alias rtl=rtlvisionpro
alias sg=sgvisionpro
alias spice=spicevisionpro
######################################KeySight######################################
#####ADS
export ADS_HOME=/opt/KeySight/ADS2015
export AGILEESOFD_LICENSE_FILE=$ADS_HOME/License/license.lic
export PATH=$ADS_HOME/bin:${PATH}
export LD_LIBRARY_PATH=$ADS_HOME/adsptolemy/lib.linux_x86:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$ADS_HOME/lib/linux_x86:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$ADS_HOME/adsptolemy/lib.linux_x86_64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$ADS_HOME/lib/linux_x86_64:$LD_LIBRARY_PATH
######################################Other Application#############################
alias pdf=/opt/Adobe/Reader/bin/acroread
alias memc=/opt/Memory_Compiler/TSMC0.65/bin/rf_sp_adv
#parameter input*
#※prepare the source list file and then make add the soucefile name
#for example ,the Verilog source file’s name is vlog_list.f then :make norsim src_list=file_list
src_list = sim
simv_name = simv
vpdpluse_name = vcdpluse
cov_file_name = coverage
vdb_name = $(simv_name)
#constant command
#compile
NOR_VCS = vcs -full64 -sverilog +v2k -timescale=1ns/1ns
-debug_all
+notimingcheck
+nospecify
+vcs+flush+all
-o $(simv_name)
-l compile.log
-f $(src_list).f
#coverage compile switch
COV_SW = -cm line+cond+fsm+branch+tgl
#verdi dump wave compile option
VERDI_SW = -P /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas.tab
/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
#run option
RUN_GUI = -R -gui -l run.log
RUN_VPD = -R +vpdfile+$(vpdpluse_name).vpd -l run.log
RUN_COV = -R $(COV_SW) -cm_name
(
v
d
b
n
a
m
e
)
−
c
m
d
i
r
.
/
(vdb_name) -cm_dir ./
(vdbname)−cmdir./(cov_file_name) -l run.log
RUN_VER = -R +fsdb+autoflush -l run.log
#command
#normally sim
norsim:
$(NOR_VCS) $(RUN_GUI)
#post-process
postsim:
$(NOR_VCS) $(RUN_VPD)
dve -vpd $(vpdpluse_name).vpd
#coverage
covsim:
$(NOR_VCS) $(COV_SW) $(RUN_COV)
dve -covdir $(cov_file_name).vdb
#verdi
versim:
$(NOR_VCS) $(VERDI_SW) $(RUN_VER)
verdi -sv -f $(src_list).f -ssf *.fsdb -nologo
#rm
clr:
rm -rf *csrc *.daidir simv DVEfiles *.vpd *.log *.rc *simdb *key
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
"Filename : .vimrc
"Author
"
"filetype, 'indent on' is necessary for smartindent
filetype on
filetype indent on
filetype plugin on
"set nocompatible
"indent
set autoindent
set smartindent
"No automatic backup files
set nobackup
set nowb
set noswapfile
set paste
set mouse=nv
set selection=exclusive
set selectmode=mouse,key
set number
"set nowrap
set ruler
"search option
set hlsearch
set incsearch
set ignorecase
set smartcase
set autochdir
"Fold method
"set foldenable
"set foldmethod=marker " for SV
"set foldmethod=syntax " for C/C++
"TAB key option
set tabstop=2
set expandtab
"set noexpandtab
set softtabstop=2
set shiftwidth=2
"set mapleader
"let mapleader = ","
"set auto highlight
"set serch highlight
syntax enable
syntax on
"the edge off the buffer
set scrolloff=5
"syntax match
set showmatch " Show matching brackets.
"set matchtime=2
command W w
command Q q
"command
"set cmdheight=2
"set laststatus=2
set tag=tags
set tags+=/home/chenan/uvm-1.2/src/tags
"color
set guifont=Monospace\ 12
"set guifont=courier\ 10\ pitch\ 15.5
set t_Co=256
"colorscheme lucius
colorscheme desert
"colorscheme desert
"Maximize gvim window
"if has("gui_running")
" set lines=999 columns=999 "Maximize gvim window
"endif
"Toggle Menu and Toolbar
"set guioptions-=m
"set guioptions-=T
"map <silent> <F2> :if &guioptions =~# 'T' <Bar>
" \set guioptions-=T <Bar>
" \set guioptions-=m <bar>
" \else <Bar>
" \set guioptions+=T <Bar>
" \set guioptions+=m <Bar>
" \endif<CR>
"Windows control
nmap wn <C-w>n
nmap wv <C-w>v
nmap wc <C-w>c
nmap ws <C-w>s
"tag view control
map <S-Left> :tabp<CR>
map <S-Right> :tabn<CR>
"adjust font size
"let s:pattern = '^(.* )([1-9][0-9]*)$'
"let s:minfontsize = 6
"let s:maxfontsize = 32
"function! AdjustFontSize(amount)
" if has("gui_gtk2") && has("gui_running")
" let fontname = substitute(&guifont, s:pattern, '\1', '')
" let cursize = substitute(&guifont, s:pattern, '\2', '')
" if (cursize < s:minfontsize) || (cursize > s:maxfontsize)
" let cursize = 10
" endif
" let newsize = cursize + a:amount
" if (a:amount > 1)
" let newsize = a:amount
" endif
" if (newsize >= s:minfontsize) && (newsize <= s:maxfontsize)
" let newfont = fontname . " " . newsize
" let &guifont = newfont
" endif
" else
" echoerr "You need to run the GTK2 version of Vim to use this function."
" endif
"endfunction
"map <C-Up> :call AdjustFontSize(1) <CR>
"map <C-Down> :call AdjustFontSize(-1) <CR>
"map <C-Home> :call AdjustFontSize(10) <CR>
"ignore the full path of tags
function ShortTabLabel ()
let bufnrlist = tabpagebuflist (v:lnum)
let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
let filename = fnamemodify (label, ':t')
return filename
endfunction
set guitablabel=%{ShortTabLabel()}
"Grep hot key
nnoremap <silent><F3> :Grep<CR>
" this abbreviation %% expands to the full path of the directory that contains
" the current file. For example, while editing file /some/path/myfile.txt,
" typing: e %%/ on the command line will expand to :e /some/path/.
cabbr <expr> %% expand('%:p:h')
"Create brackets
"inoremap ( () <ESC> i
"inoremap [ [] <ESC> i
"inoremap { {} <ESC> i
"Hot key for comments
ab ccc //-----------------------------------------------------------------------------------
ab ccl* *************************************************************************************
ab ccl= =====================================================================================
ab ccl# #------------------------------------------------------------------------------------
ab ccl+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ab ccl- -------------------------------------------------------------------------------------
ab ccs //-------------------------------------
ab cc+ +++++++++++++++++++++++++++++++++++++++
ab cc= =======================================
ab cc* ***************************************
ab cc- ---------------------------------------
ab cc# #--------------------------------------
"Self-defined function Cnt_match to count and show the matched search_wd
function Cnt_match(search_wd)
let cnt = 0
let i = 1
let cur_line = line(".")
normal G
let last_lie = line(".")
echo "Searching ... " a:search_wd
normal gg
while search(a:search_wd,"W") > 0
echo "Yes ... Line".line(".")." >::>::>".getline(".")
let cnt = cnt + 1
endwhile
echo "Match Counter : ". cnt
execute cur_line
endfunction
"Self-defined function Clum_i to insert number to signal list
"This is helpful to name huge signal list with number
function Clum_i(start,end,span)
let cnt = a:start
let line_num = line(".")
let clum_num = col(".")
while cnt <= a:end
execute "normal i".cnt."<ESC>"
let line_num = line_num + a:span + 1
call cursor(line_num,clum_num)
let cnt = cnt + 1
endwhile
endfunction
"Config for treeExplorer plugin
let g:treeExplVertical=1
let g:treeExplDirSort=1
let g:treeExplWinSize=30
nmap vt :VSTreeExplore<cr>
"Config for miniBuffer plugin
"let g:miniBufExplVSplit = 20 " column width in chars
"let g:miniBufExplMapWindowNavVim = 1
"let g:miniBufExplMapWindowNavArrows = 1
"let g:miniBufExplMapCTabSwitchBufs = 1
"let g:miniBufExplModSelTarget = 1
"let g:miniBufExplSplitToEdge = 0
"Config for winManager plugin
let g:winManagerWidth=25
nmap wm :WMToggle<cr>
let g:winManagerWindowLayout = 'FileExplorer,TagsExplorer|BufExplorer'
"let g:winManagerWindowLayout = 'FileExplorer|BufExplorer'
"let g:winManagerAutoOpen=1
"Config for Tlist plugin
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let g:Tlist_Use_Right_Window=1
"let g:Tlist_Auto_Open=1
let g:Tlist_Show_One_File=1
"let g:Tlist_Compact_Format=1
"let g:Tlist_Use_SingleClick=1
"let g:Tlist_Enable_Fold_Column=0
"=============================
" showmarks setting
"=============================
" Enable ShowMarks
let showmarks_enable = 0
" Show which marks
let showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
" Ignore help, quickfix, non-modifiable buffers
let showmarks_ignore_type = "hqm"
" Hilight lower & upper marks
let showmarks_hlline_lower = 1
let showmarks_hlline_upper = 1
hi ShowMarksHLl ctermbg=Yellow ctermfg=Black guibg=#FFDB72 guifg=Black
hi ShowMarksHLu ctermbg=Magenta ctermfg=Black guibg=#FFB3FF guifg=Black
"=============================
" markbrowser setting
"=============================
"nmap <silent> <leader>mk :MarksBrowser<cr>
"=============================
" main.xml syntax setting
"=============================
" ctrl+s to save
" nmap:norm mode; vmap:visual mode; imap:insert mode
nmap <silent><C-S> :w<CR>
vmap <silent><C-S> <C-C>:w<CR>
imap <silent><C-S> <Esc>:w<CR>
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎