Gvim的安装及配置

同步发布在个人博客:https://www.zhyong.cn/posts/876e/

Gvim是vim下的Windows版本,是一个GUI程序。Vim是从vi发展出来的一个文本编辑器,具有代码补完、编译及错误跳转等方便编程的功能,在程序员中被广泛使用。Vim的学习曲线陡峭,但是真正熟悉之后,会极大提高我们查看、编辑文本的效率。vim有丰富的插件,其自定义程度极高,可通过修改配置文件实现我们想要的功能。总之,熟悉vim后,会颠覆我们对传统文本编辑器的认知,你会一次一次地被折服。

本篇文章是根据个人学习、使用Vim的经验及个人习惯所写的Gvim配置。适合有一定vim使用经验的人,如果你对vim一无所知,推荐从无配置的vim开始学习,使用vim自带的:vimtutor开始(可惜Gvim没有)。但有一个vim插件yianwillis/vimcdoc: Vim 中文文档计划可帮助我们解决这个问题。本篇文章会介绍安装这款插件,因此如果你是新手,可以一步步进行配置完成,然后点击:help开始学习vim。

Gvim的下载、安装

下载地址:Releases · vim/vim-win32-installer

我下载的版本是v8.1.1343,vim开发非常活跃,一般几天就会有一个版本出来,下载最新即可,这里附一下我的版本。 高速下载

下载后点击一步步默认安装即可,安装类型可选择完全安装

选择完全安装

完成后点击桌面的gVim 8.1,打开后界面如下:

进行下一步之前,了解一下vim配置文件的位置:位于家目录下的.vimrc(Linux、Mac)和_vimrc(Windows),因此配置我们会在家目录下的_vimrc下操作(若没有则手动创建,无后缀名),最终配置文件是:C:\Users\youname\_vimrc,配置文件的注释为英文的双引号:"

基础配置

隐藏gvim菜单

由于习惯了Linux下的vim窗口,因此我们对gvim菜单等进行隐藏

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 隐藏GVIM菜单及设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" 窗口大小
set lines=35 columns=140
" 分割出来的窗口位于当前窗口下边/右边
set splitbelow
set splitright
"不显示工具/菜单栏
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
set guioptions-=b
" 使用内置 tab 样式而不是 gui
set guioptions-=e
set nolist

重新打开gVim 8.1:

通用设置

定义leader键(非常重要)、显示状态栏、显示行号等实用功能。

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let mapleader = "," "定义<leader>键
set nocompatible    "设置不兼容原始vi模式
filetype on     "设置开启文件类型侦测
filetype plugin on  "加载对应文件类型插件
set noeb        "关闭错误提示
syntax enable       "开启语法高亮功能
syntax on       "自动语法高亮
set t_Co=256        "开启256色支持
set cmdheight=2     "设置命令行高度
set showcmd     "select模式下显示选中的行数
set ruler       "总是显示光标的位置
set laststatus=2    "总是显示状态栏
set number      "开启行号显示
set cursorline      "高亮显示当前行
set whichwrap+=<,>,h,l  "设置光标键跨行
set virtualedit=block,onemore   "允许光标出现在最后一个字符的后面

代码缩进与排版

默认制表符为8个空格,通过配置改为4个,设置智能缩进等

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码缩进与排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set autoindent      "设置自动缩进
set cindent     "设置使用C/C++语言的自动缩进方式
set cinoptions=g0,:0,N-s,(0 "设置使用C/C++语言的具体缩进方式
set smartindent     "智能选择对齐方式
filetype indent on  "自适应不同语言的智能缩进
set expandtab       "将制表符扩展为空格
set tabstop=4       "设置编辑时制表符所占的空格数
set shiftwidth=4    "设置格式化时制表符占用的空格数
set softtabstop=4       "设置4个空格为制表符
set smarttab        "在行和段开始处使用制表符
"set nowrap     "禁止折行
set backspace=2     "使用回车键正常处理indent.eol,start等

代码相关

设置代码补全、代码折叠

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码补全
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set wildmenu        "vim自身命令行模式智能补全
set completeopt-=preview    "补全时不显示窗口,只显示补全列表

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"代码折叠
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set foldmethod=syntax       "设置基于语法进行代码折叠
set nofoldenable            "关闭代码折叠

缓存及编码

设置不自动备份,默认设置为UTF8编码等

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缓存设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup        "设置不备份
set noswapfile      "禁止生成临时文件
set autoread        "文件在vim之外修改过,自动重新载入
set autowrite       "设置自动保存
set confirm         "在处理未保存或只读文件时,弹出确认

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

根据个人习惯设置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 优化设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"映射 esc 键为 jj
inoremap jj <Esc>
"快速打开vim配置文件:_vimrc
nnoremap <leader>e :e ~/_vimrc<cr>
"刷新配置
nnoremap <leader>r :source $MYVIMRC<cr>
" 插入模式、正常模式按 Ctrl+u 快速转换为大写
inoremap <c-u> <esc>viwUea
nnoremap <c-u> viwUe
"Ctrl+d 复制本行并粘贴到一下行
nnoremap <c-d> yyp

" <leader>+q 快速退出vim
nnoremap <leader>q :q<cr>
inoremap <leader>q <Esc>:q<cr>

"插入模式快速到另一个字符右边,对于配对的符号(如括号)很有用
imap <c-a> <Esc>la
"插入模式移动到下一行
imap <c-d> <Esc>o
"移动到末尾
imap <c-e> <Esc>A

" 添加“空格键”为代码折叠
set foldmethod=indent
set foldlevel=99
nnoremap <space> za

"若打开分割窗口,可快速切换窗口
"快捷键提示:Ctrl+w w 切换窗口; Ctrl+w s 水平分割; Ctrl+w v 竖直分割
noremap <C-h> <C-w>h
noremap <C-j> <C-w>j
noremap <C-k> <C-w>k
noremap <C-l> <C-w>l

"buffer change
nnoremap <c-n> :bn<cr>
nnoremap <c-p> :bp<cr>
nnoremap <leader>d :bd<cr>

最终效果

打开gvim,按下,e打开gvim配置文件,界面如下,其余快捷键可自行实践。

自动高亮显示

插件安装及配置

由于安装插件需要一些工具如 rgfzf 等,我们提前在 d 盘根目录下新建 bin 文件夹,并将 D:\bin 文件夹添加到系统环境变量中(自行百度)。

安装 vimplug 插件管理器

Github地址:junegunn/vim-plug: Minimalist Vim Plugin Manager

下载plug.vim到gvim安装目录:C:\Program Files\Vim\vim81\autoload即可。

这样vimplug插件管理器就安装成功了!

插件配置文件

插件的作用都已经添加注释,自行查看即可。

_vimrc文件最后添加:

" vim-plug
" ******************************BEGIN******************************
call plug#begin('~/.vim/plugged')
"中文vim入门,不需要可注释掉
Plug 'yianwillis/vimcdoc'
"vim-colorschemes
Plug 'flazz/vim-colorschemes'
"change scheme
Plug 'chxuan/change-colorscheme'

"incsearch
Plug 'haya14busa/incsearch.vim'
"强化f/t
Plug 'rhysd/clever-f.vim'

"vim-airline
Plug 'vim-airline/vim-airline'
"vim-airline themes
Plug 'vim-airline/vim-airline-themes'

" nerdtree
Plug 'scrooloose/nerdtree',{'on':'NERDTreeToggle'}
"nerdtree-git-plugin
Plug 'Xuyuanp/nerdtree-git-plugin'

"vim-easymotion
Plug 'easymotion/vim-easymotion'

"vim auto pair
Plug 'jiangmiao/auto-pairs'

"vim-smooth_scroll
Plug 'terryma/vim-smooth-scroll'

"vim-surround
Plug 'tpope/vim-surround'

"vim-commentary
Plug 'tpope/vim-commentary'

" multiple-cursors
Plug 'terryma/vim-multiple-cursors'

"vim expand region
Plug 'terryma/vim-expand-region'

"tarbar
Plug 'majutsushi/tagbar'

"vim-endwise
Plug 'tpope/vim-endwise'

"vim start page
Plug 'mhinz/vim-startify'

"fzf
Plug 'junegunn/fzf', { 'dir': '~/.fzf'}

"根据缩进折叠代码
Plug 'tmhedberg/SimpylFold'

"文本搜索rg
Plug 'mileszs/ack.vim'

"彩虹括号增强
Plug 'luochen1990/rainbow'

"对齐插件
Plug 'godlygeek/tabular'

"语法检查
Plug 'vim-syntastic/syntastic'

"复制增强
Plug 'machakann/vim-highlightedyank'

"快速打开大文件
Plug 'vim-scripts/LargeFile'
call plug#end()
" ******************************END******************************

" VimPlug快捷键:安装、更新、删除插件
nnoremap <leader><leader>i :PlugInstall<cr>
nnoremap <leader><leader>u :PlugUpdate<cr>
nnoremap <leader><leader>c :PlugClean<cr>

重新打开gvim,按下<leader> <leader> i 即可安装插件(<leader> 即逗号键):

安装插件过程

添加插件配置,在_vimrc后添加即可。

"vim-colorschemes
"默认主题
colorscheme 3dglasses

"change-colorscheme
nnoremap <silent> <F9> :PreviousColorScheme<cr>
inoremap <silent> <F9> <esc> :PreviousColorScheme<cr>
nnoremap <silent> <F10> :NextColorScheme<cr>
inoremap <silent> <F10> <esc> :NextColorScheme<cr>
nnoremap <silent> <F11> :RandomColorScheme<cr>
inoremap <silent> <F11> <esc> :RandomColorScheme<cr>
nnoremap <silent> <F12> :ShowColorScheme<cr>
inoremap <silent> <F12> <esc> :ShowColorScheme<cr>


"incsearch.vim
map /  <Plug>(incsearch-forward)
map ?  <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
let g:incsearch#auto_nohlsearch = 1
map n  <Plug>(incsearch-nohl-n)
map N  <Plug>(incsearch-nohl-N)
map *  <Plug>(incsearch-nohl-*)
map #  <Plug>(incsearch-nohl-#)
map g* <Plug>(incsearch-nohl-g*)
map g# <Plug>(incsearch-nohl-g#)
"使用<Esc><Esc>暂时关闭高亮功能
nnoremap <Esc><Esc> :<C-u>nohlsearch<CR>
"使用Ctrl+k统计匹配个数
nnoremap <silent> <C-c> :%s///gn<CR>


"f/t增强
let g:clever_f_ignore_case=1
let g:clever_f_smart_case=1
map ; <Plug>(clever-f-repeat-forward)
map ' <Plug>(clever-f-repeat-back)


"vim-airline
let g:airline_theme="onedark"
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
" let g:airline#extensions#tabline#left_sep = ' '   
" let g:airline#extensions#tabline#left_alt_sep = '|' "tabline中未激活buffer两端的分隔字符      
if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.whitespace = 'Ξ'
let g:airline_symbols.branch = '⎇'
let g:airline_section_b='%{strftime("%c")}'   "使用时显示当前时间
" let g:airline_section_y='BN:%{bufnr("%")}'  "右下角显示bffer序号
" let g:airline_mode_map = {
  " \ '__' : '-',
  " \ 'c'  : 'C',
  " \ 'i'  : 'I',
  " \ 'ic' : 'I',
  " \ 'ix' : 'I',
  " \ 'n'  : 'N',
  " \ 'ni' : 'N',
  " \ 'no' : 'N',
  " \ 'R'  : 'R',
  " \ 'Rv' : 'R',
  " \ 's'  : 'S',
  " \ 'S'  : 'S',
  " \ '' : 'S',
  " \ 't'  : 'T',
  " \ 'v'  : 'V',
  " \ 'V'  : 'V',
  " \ '' : 'V',
  " \ }

"nerdtree
"close vim if only nerdtree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"open nerdtree automatically when vim starts with a dictory
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
"快捷键
map <leader>n :NERDTreeToggle<cr>
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'

"nerdtree-git-plugin
let g:NERDTreeIndicatorMapCustom = {
            \ "Modified"  : "✹",
            \ "Staged"    : "✚",
            \ "Untracked" : "✭",
            \ "Renamed"   : "➜",
            \ "Unmerged"  : "═",
            \ "Deleted"   : "✖",
            \ "Dirty"     : "✗",
            \ "Clean"     : "✔︎",
            \ 'Ignored'   : '☒',
            \ "Unknown"   : "?"
            \ }

"vim-easymotion
let g:EasyMotion_smartcase=1
map <leader>w <Plug>(easymotion-bd-w)
nmap <leader>w <Plug>(easymotion-overwin-w)
map <leader>f <Plug>(easymotion-bd-f)
nmap <leader>f <Plug>(easymotion-overwin-f)
nmap <leader>s <Plug>(easymotion-overwin-f2)
" Move to line
map <Leader>j <Plug>(easymotion-bd-jk)
nmap <Leader>j <Plug>(easymotion-overwin-line)

" vim-smooth-scroll
noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 0, 4)<CR>
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 0, 4)<CR>

" Multip Cursor
" Default key mapping
let g:multi_cursor_use_default_mapping=0
let g:multi_cursor_next_key='<C-y>'
let g:multi_cursor_prev_key='<C-p>'
let g:multi_cursor_skip_key='<C-x>'
let g:multi_cursor_quit_key='<Esc>'

"expand region expand
map K <Plug>(expand_region_expand)
map J <Plug>(expand_region_shrink)
let g:expand_region_text_objects = {
            \ 'iw'  :0,
            \ 'iW'  :0,
            \ 'i"'  :0,
            \ 'i''' :0,
            \ 'i]'  :1,
            \ 'ib'  :1,
            \ 'iB'  :1,
            \ 'il'  :0,
            \ 'ip'  :1,
            \ 'ie'  :0,
            \ }"

"tarbar
let g:tagbar_ctags_bin = 'ctags'
let g:tagbar_width = 30
nnoremap <silent> <leader>t :TagbarToggle<cr>
inoremap <silent> <leader>t <esc> :TagbarToggle<cr>

"fzf settings
nnoremap <Tab> :FZF <cr>
function! s:build_quickfix_list(lines)
    call setqflist(map(copy(a:lines), '{ "filename": v:val  }'))
    copen
    cc
endfunction
let g:fzf_action = {
            \ 'ctrl-q': function('s:build_quickfix_list'),
            \ 'ctrl-t': 'tab split',
            \ 'ctrl-x': 'split',
            \ 'ctrl-v': 'vsplit' }
"Default fzf layout
let g:fzf_layout = { 'down': '~40%'  }
let g:fzf_colors =
            \ { 'fg':      ['fg', 'Normal'],
            \ 'bg':      ['bg', 'Normal'],
            \ 'hl':      ['fg', 'Comment'],
            \ 'fg+':     ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
            \ 'bg+':     ['bg', 'CursorLine', 'CursorColumn'],
            \ 'hl+':     ['fg', 'Statement'],
            \ 'info':    ['fg', 'PreProc'],
            \ 'border':  ['fg', 'Ignore'],
            \ 'prompt':  ['fg', 'Conditional'],
            \ 'pointer': ['fg', 'Exception'],
            \ 'marker':  ['fg', 'Keyword'],
            \ 'spinner': ['fg', 'Label'],
            \ 'header':  ['fg', 'Comment'] }
"代码折叠
set foldmethod=indent
let g:SimpylFold_docstring_preview=1

"Ack和rg
let g:ackprg = 'rg '
nnoremap <C-s> :Ack<space>

"彩虹括号增强
let g:rainbow_active = 1 "0 if you want to enable it later via :RainbowToggle

" tabular
nnoremap <leader>l :Tab /\|<cr>
nnoremap <leader>= :Tab /=<cr>

" 复制增强
let g:highlightedyank_highlight_duration = 1000
let g:highlightedyank_highlight_duration = -1

由于安装了fzf文件模糊搜索插件和rg文本搜索插件,因此我们需要下载fzf和rg的可执行文件到D:\bin目录下。
fzf官方下载 rg官方下载 ctags高速下载

此时D:\bin目录下应该是这样的:

D:\bin\rg.exe
D:\bin\fzf.exe
D:\bin\ctags.exe

此时进入vim按下tab键则使用fzf模糊搜索。Ctrl+s进行文本搜索。

配图如下:

修改字体

从上图可以看出,字体看起来非常费力,因此我们可以安装好看的SourceCodeProForPowerline字体。

下载地址:fonts/Source Code Pro for Powerline.otf at master · powerline/fonts

下载后安装即可。

设置vim的字体为SourceCodeProForPowerline

打开gvim,普通模式输入命令::set guifont=* 调出字体窗口,选择即可,并且可设置合适的字体大小。

然后通过:set guifont命令查看字体设置,但这仅仅是暂时的,重新打开Gvim字体设置会失效,我们可以在_vimrc末尾添加。

"设置字体 fonts
set guifont=Source_Code_Pro_for_Powerline:h12:cANSI

此时配置的Gvim非常强大且美观了。

配置使用说明

上述全部配置文件:vimrc/_vimrc最新 at master

通过这些配置,我们就可以使用豪华版 gvim 了。

对于新手,可以打开:help进行学习vim的基本操作,相信会有很大的收获。

此配置也是经过一定的学习积累而成的,可以查看插件的Github以及_vimrc文件使用它,相信它会极大地提高我们的效率。由于内容太多太杂,另起一篇博客进行讲解,敬请期待。

  • 28
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: gvim是一个功能强大的文本编辑器,可以在Windows、Linux和Mac OS上运行。用于编辑verilog代码时,可以通过进行配置以提高编辑效率。 首先,需要在系统上安装gvim。可以从官方网站或其他可靠来源下载安装程序,并按照安装向导进行安装安装完成后,可以根据个人的需要进行一些基本配置。打开gvim后,输入以下命令进入编辑模式: ``` :edit $MYVIMRC ``` 这将打开一个文件,该文件用于存储gvim配置设置。如果该文件不存在,则会创建一个新的文件。 在该文件中,可以添加一些配置设置以适应verilog编辑。以下是一些常用的配置设置示例: ``` syntax enable "启用语法高亮 set tabstop=4 "设置制表符为4个空格 set shiftwidth=4 "设置缩进为4个空格 set expandtab "使用空格来代替制表符 set autoindent "自动缩进新行 ``` 可以根据个人偏好进行配置。可以通过在文件中添加或修改配置设置,然后保存并退出。 另外,还可以使用插件来增强gvim的功能。例如,可以安装verilog_systemverilog.vim插件来提供更强大的verilog代码编辑支持。可以通过在.vim文件夹中的bundle文件夹中下载和安装插件,然后在.vimrc文件中进行相关设置。 完成配置后,重新打开gvim并编辑verilog代码,可以享受到更高效和便捷的编辑体验。可以根据需要进行进一步的配置和调整。 ### 回答2: 要配置GVim以编辑Verilog文件,可以按照以下步骤进行操作: 1. 下载和安装GVim:双击下载的GVim安装包,按照提示进行安装安装完成后,打开GVim编辑器。 2. 配置.vimrc文件:在GVim安装目录下找到.vimrc文件,可以使用文本编辑器(如Notepad++)打开该文件。如果没有.vimrc文件,可以手动创建一个新的文本文件并命名为.vimrc。 3. 添加Verilog语法插件:在.vimrc文件中,添加以下行来启用Verilog语法插件: ``` filetype plugin on syntax enable ``` 4. 安装其他插件:GVim支持各种插件来增强其功能。可以在插件管理器(如Vundle)中搜索和安装适合Verilog编辑的插件,例如: ``` Plugin 'valloric/YouCompleteMe' " 代码自动补全插件 Plugin 'tpope/vim-fugitive' " Git插件 ``` 5. 配置配色方案:可以在.vimrc文件中添加以下行来设置GVim的配色方案: ``` colorscheme desert " 设置desert配色方案为当前配色方案 ``` 6. 保存并重启GVim:保存.vimrc文件,并退出GVim。重新打开GVim后,所有的配置将生效。 以上是配置GVim以编辑Verilog文件的基本步骤。通过适用的插件和配色方案可以根据个人喜好进行更多的自定义配置。 ### 回答3: gvim是一个功能强大的文本编辑器,支持多种编程语言,包括Verilog。配置gvim用于Verilog的开发可以提高开发效率和代码质量。 首先,需要确保在计算机上已经安装gvim。然后,可以按照以下步骤进行配置: 1. 添加Verilog语法高亮:打开gvim,输入命令“:syntax on”,这将启用语法高亮功能,使Verilog代码在编辑器中更容易辨认。 2. 设置自动缩进:输入命令“:set autoindent”,这将启用自动缩进功能,使代码更整齐和可读。 3. 定义快捷键:可以通过配置.vimrc文件来为一些常用命令定义快捷键。打开.vimrc文件,添加以下行: ``` map <F5> :!vvp %:r<CR> map <F6> :!iverilog -o %:r %<CR> ``` 这样,按下F5键可以运行Verilog代码,按下F6键可以编译代码。 4. 安装插件:gvim支持丰富的插件,可以根据需要安装一些与Verilog开发相关的插件,例如Vim-Autotag插件用于自动标记变量、中断等。 5. 设置代码折叠:输入命令“:set foldmethod=syntax”,这将启用基于语法的折叠功能,使得可以折叠显示代码块,提高代码的可读性。 配置完成后,可以自由使用gvim进行Verilog代码的编写和编辑。通过高亮、自动缩进、快捷键等功能,可以更高效地进行代码开发和调试。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值