工欲善其事必先利其器,windows 環境下有諸多好用的 IDE,但在 linux 環境下,可供選擇的工具並很少,可是 VIM 做爲一款可擴展文本編輯工具,配合豐富的功能插件,一樣能知足咱們的工做須要,甚至因爲其強大的可擴展性,咱們可以實現更豐富、更強大的編輯支持。下面是我整理的一些比較經常使用的插件。html
環境:Ubuntu 18.04.2java
VIM:vim 8.1.1037(vim 升級可參考https://blog.csdn.net/bc516125634/article/details/88144664)python
一、插件管理 (Vundle)linux
1.1 插件安裝c++
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
1.二、.vimrc 插件配置git
set nocompatible " 去除VI一致性,必須 filetype off " 必須 " 設置包括 vundle 和初始化相關的 runtimepath set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " 另外一種選擇, 指定一個 vundle 安裝插件的路徑 "call vundle#begin('~/some/path/here') " 讓 vundle 管理插件版本,必須 Plugin 'VundleVim/Vundle.vim' 」{ 」 全部的插件安裝配置都必須在此範圍內配置 「} " 全部插件須要在下面這行以前配置 call vundle#end() " 必須 filetype plugin indent on " 必須 加載vim自帶和插件相應的語法和文件類型相關腳本 " 忽視插件改變縮進,可使用如下替代: "filetype plugin on
1.三、插件安裝方式
安裝插件的命令必須放在 vundle#begin 和 vundle#end 之間.
1.3.一、從 GitHub 進行安裝
格式: Plugin '用戶名/插件倉庫名'
示例: Plugin 'tpope/vim-fugitive'
1.3.二、從 http://vim-scripts.org/vim/scripts.html 進行安裝
格式: Plugin '插件名稱' 其實是 Plugin 'vim-scripts/插件倉庫名' 只是此處的用戶名能夠省略
示例: Plugin 'L9'
1.3.三、從不在 GitHub 上的另外一個 git 軟件庫進行安裝
格式: Plugin 'git://git.another_repo.com/plugin'
示例: Plugin 'git://git.wincent.com/command-t.git'
1.3.四、從本地文件進行安裝
格式: Plugin 'file:///+本地插件倉庫絕對路徑'
示例: Plugin 'file:///home/gmarik/path/to/plugin'
1.3.五、插件在倉庫的子目錄中
格式: Plugin '用戶名/插件倉庫名',{'rtp': '子目錄'} -- rtp: runtimepath
示例: Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} 範例插件在 sparkup/vim 目錄下
1.3.六、插件命名衝突,改名插件
格式: Plugin 'user/plugin', {'name': 'newPlugin'}
示例: Plugin 'ascenator/L9', {'name': 'newL9'} 已經安裝 L9,再次安裝另外一個 L9github
1.四、經常使用命令shell
:PluginList | 列出全部已配置的插件 |
:PluginInstall | 安裝 .vimrc.bundles 中列出來的全部插件 |
:PluginInstall!vim :PluginUpdatewindows |
更新 .vimrc.bundles 中列出來的全部插件 |
:PluginInstall <plugin-name> | 只安裝某一個特定的插件,只須要傳遞其名稱 |
:PluginClean | 清除未使用插件,須要確認; 追加 `!` 自動批准移除未使用插件 |
:PluginSearch <text-list> | 搜索過程當中,能夠在交互式分屏上安裝、清理、研究或從新裝入同一列表。想自動裝入插件,需將插件添加到 .vimrc.bundles 文件 |
:PluginSearch foo | 搜索 foo ; 追加 `!` 清除本地緩存,搜索完成後,能夠按下'i'進行安裝 |
二、主題(solarized)
2.一、插件安裝
方式一: cd ~/.vim/bundle git clone git://github.com/altercation/vim-colors-solarized.git 方式二(Vundle 插件管理): Plugin 'altercation/vim-colors-solarized'
2.二、.vimrc 插件配置
let g:solarized_termtrans = 1 " 使用 termnal 背景 let g:solarized_visibility = "high" " 使用 :set list 顯示特殊字符時的高亮級別 " GUI 模式淺色背景,終端模式深色背景 if has('gui_running') set background=light else set background=dark endif " 主題設置爲 solarized colorscheme solarized
三、目錄樹(NERDTree)
3.一、插件安裝
方式一: git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree 方式二(Vundle 插件管理): Plugin 'scrooloose/nerdtree'
3.二、.vimrc 插件配置
let NERDTreeHighlightCursorline = 1 " 高亮當前行 let NERDTreeShowLineNumbers = 1 " 顯示行號 " 忽略列表中的文件 let NERDTreeIgnore = [ '\.pyc$', '\.pyo$', '\.obj$', '\.o$', '\.egg$', '^\.git$', '^\.repo$', '^\.svn$', '^\.hg$' ] " 啓動 vim 時打開 NERDTree "autocmd vimenter * NERDTree " 當打開 VIM,沒有指定文件時和打開一個目錄時,打開 NERDTree "autocmd StdinReadPre * let s:std_in = 1 "autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif "autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif " 關閉 NERDTree,當沒有文件打開的時候 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end " <leader>nt 打開 nerdtree 窗口,在左側欄顯示 map <leader>nt :NERDTreeToggle<CR> " <leader>tc 關閉當前的 tab map <leader>tc :tabc<CR> " <leader>to 關閉全部其餘的 tab map <leader>to :tabo<CR> " <leader>ts 查看全部打開的 tab map <leader>ts :tabs<CR> " <leader>tp 前一個 tab map <leader>tp :tabp<CR> " <leader>tn 後一個 tab map <leader>tn :tabn<CR>
3.三、經常使用快捷鍵
Ctrl - w - w | 光標在 nerdtree 和 vim 編輯窗口 之間切換 |
<leader>nt | 打開 nerdtree |
q | 關閉 nerdtree |
o | 打開選中的文件; 摺疊/展開選中的目錄 |
i | 打開選中的文件,與已打開文件縱向排布窗口,並跳轉至該窗口 |
gi | 打開選中的文件,與已打開文件縱向排布窗口,但不跳轉至該窗口 |
s | 打開選中的文件,與已打開文件橫向排布窗口,並跳轉至該窗口 |
gs | 打開選中的文件,與已打開文件橫向排布窗口,但不跳轉至該窗口 |
t | 在新 Tab 中打開選中文件/書籤,並跳到新 Tab |
T | 在新 Tab 中打開選中文件/書籤,但不跳到新 Tab |
x | 摺疊選中結點的父目錄 |
X | 遞歸摺疊選中結點下的全部目錄 |
k / j | 光標在 Neadtree 上下移動 |
<leader>tc | :tabc 關閉當前的 tab |
<leader>to | :tabo 關閉全部其餘 tab |
<leader>ts | :tabs 查看全部打開的 tab |
<leader>tp | :tabp 前一個 tab |
<leader>tn | :tabn 後一個 tab |
? | 顯示菜單 |
四、標籤導航 (tagbar)
4.一、插件安裝
方式一(Vundle 插件管理): Plugin 'majutsushi/tagbar' 插件依賴 ctags,安裝命令: $ sudo apt install ctags
4.二、.vimrc 插件配置
let g:tagbar_ctags_bin = 'ctags' " tagbar 依賴 ctags 插件 let g:tagbar_width = 30 " 設置 tagbar 的寬度爲 30 列,默認 40 列 let g:tagbar_autofocus = 1 " 打開 tagbar 時光標在 tagbar 頁面內,默認在 vim 打開的文件內 let g:tagbar_left = 1 " 讓 tagbar 在頁面左側顯示,默認右邊 "let g:tagbar_sort = 0 " 標籤不排序,默認排序 " <leader>tb 打開 tagbar 窗口,在左側欄顯示 map <leader>tb :TagbarToggle<CR>
4 .三、經常使用快捷鍵
Ctrl - w - w | 光標在 Tagbar 和 vim 編輯窗口 之間切換 |
<leader>tb | 打開 tagbar |
q | 關閉 tagbar |
j, k | 上下移動光標 |
o(+/-) | 摺疊 / 展開標籤集合 |
p | 跳轉到選中的標籤,但光標仍停留在 Tagbar |
P | 打開預覽窗口顯示標籤內容,光標仍停留在 Tagbar,回車 光標跳轉至 vim 編輯窗口標籤所在位置,關閉預覽窗口 |
* | 展開全部標籤 |
= | 摺疊全部標籤 |
x | 展開 / 縮小標 |
五、標籤列表(taglist.vim)
5.一、插件安裝
方式一(Vundle 插件管理): Plugin 'vim-scripts/taglist.vim' " 依賴 ctags,安裝命令: $ sudo apt install ctags
5.二、.vimrc 插件配置
let Tlist_Show_One_File = 1 " 只顯示當前文件的tags let Tlist_GainFocus_On_ToggleOpen = 1 " 打開 Tlist 窗口時,光標跳到 Tlist 窗口 let Tlist_Exit_OnlyWindow = 1 " 若是 Tlist 窗口是最後一個窗口則退出 Vim let Tlist_Use_Left_Window = 1 " 在左側窗口中顯示 let Tlist_File_Fold_Auto_Close = 1 " 自動摺疊 let Tlist_Auto_Update = 1 " 自動更新 " <leader>tl 打開 Tlist 窗口,在左側欄顯示 map <leader>tl :TlistToggle<CR>
5.三、經常使用快捷鍵
<leader>tl | 顯示 taglist 標籤窗口 |
q | 關閉 taglist 標籤窗口 |
<CR> | vim 編輯窗口跳轉到光標選中的標籤訂義處 |
o | 新建 vim 編輯窗口,並跳轉到光標選中標籤訂義處 |
p | vim 編輯窗口跳轉至標籤訂義處,光標留在 taglist 窗口 |
u | 更新標籤列表窗口中的標籤信息 |
s | 切換標籤排序類型(按名稱序或出現順序) |
x | 擴展 / 收縮 taglist 標籤窗口 |
+ / - | 展開 / 摺疊 節點 |
* / = | 展開 / 摺疊 全部節點 |
F1 | 顯示幫助 |
六、狀態欄優化(vim-airline)
6.一、插件安裝
方式一(Vundle 插件管理): Plugin 'vim-airline/vim-airline'
6.二、.vimrc 插件配置
let g:airline_powerline_fonts = 1 " 使用 powerline 打過補丁的字體 let g:airline#extensions#tabline#enabled = 1 " 開啓 tabline let g:airline#extensions#tabline#buffer_nr_show = 1 " 顯示 buffer 編號 let g:airline#extensions#ale#enabled = 1 " enable ale integration " 狀態欄顯示圖標設置 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.crypt = '🔒' let g:airline_symbols.linenr = '⭡' let g:airline_symbols.branch = '⭠' " 切換 buffer nnoremap [b :bp<CR> nnoremap ]b :bn<CR> " 關閉當前 buffer noremap <C-x> :w<CR>:bd<CR> " <leader>1~9 切到 buffer1~9 map <leader>1 :b 1<CR> map <leader>2 :b 2<CR> map <leader>3 :b 3<CR> map <leader>4 :b 4<CR> map <leader>5 :b 5<CR> map <leader>6 :b 6<CR> map <leader>7 :b 7<CR> map <leader>8 :b 8<CR> map <leader>9 :b 9<CR>
6.三、經常使用快捷鍵
]b / [b |
切換buffer |
<Leader>1~9 | 切換至對應 num 的buffer |
Ctrl + X | 關閉當前 buffer |
七、自動補全(YouCompleteMe)
7.一、插件安裝
step 一、安裝依賴 $ sudo apt install build-essential cmake python3-dev step 二、Vundle 安裝插件 Plugin 'Valloric/YouCompleteMe' step 三、安裝語言支持 $ cd ~/.vim/bundle/YouCompleteMe $ python3 install.py --clang-completer -- C $ python3 install.py --java-completer -- java,須要安裝 JDK8
7.二、.vimrc 插件配置
let g:ycm_key_list_select_com let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py' let g:ycm_min_num_of_chars_for_completion = 2 " 輸入第 2 個字符開始補全 let g:ycm_seed_identifiers_with_syntax = 1 " 語法關鍵字補全 let g:ycm_complete_in_comments = 1 " 在註釋中也能夠補全 let g:ycm_complete_in_strings = 1 " 在字符串輸入中也能補全 let g:ycm_collect_identifiers_from_tag_files = 1 " 使用 ctags 生成的 tags 文件 let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 註釋和字符串中的文字也會被收入補全 let g:ycm_cache_omnifunc = 0 " 每次從新生成匹配項,禁止緩存匹配項 let g:ycm_use_ultisnips_completer = 0 " 不查詢 ultisnips 提供的代碼模板補全,若是須要,設置成 1 便可 let g:ycm_show_diagnostics_ui = 0 " 禁用語法檢查 let g:ycm_key_list_select_completion = ['<Down>'] " 選擇下一條補全,Default: ['<TAB>', '<Down>'] let g:ycm_key_list_previous_completion = ['<Up>'] " 選擇上一條補全,Default: ['<S-TAB>', '<Up>'] let g:ycm_key_list_stop_completion = ['<Enter>'] " 停止這次補全,Default: ['<C-y>']
7.三、經常使用快捷鍵
<Down> | 選擇下一條補全 |
<Up> | 選擇上一條補全 |
<Enter> | 停止這次補全 / 選中補全 |
八、自定義代碼片斷補全(ultisnips)
8.一、插件安裝
方式一: $ cd ~/.vim/bundle $ git clone git://github.com/SirVer/ultisnips.git $ git clone git://github.com/honza/vim-snippets.git 方式二(Vundle 插件管理): Plugin 'SirVer/ultisnips' " 網友貢獻的補全片斷 Plugin 'honza/vim-snippets'
8.二、.vimrc 插件配置
let g:UltiSnipsExpandTrigger = "<c-tab>" " 代碼片斷補全觸發 let g:UltiSnipsListSnippets = "<c-\>" " 列出補全可選列表 let g:UltiSnipsJumpForwardTrigger = "<c-j>" " 下一條補全 let g:UltiSnipsJumpBackwardTrigger = "<c-k>" " 上一條補全 let g:UltiSnipsEditSplit = "horizontal" " how the edit window is opened
8.三、經常使用快捷鍵
Ctrl + <Tab> | 觸發代碼片斷補全 |
Ctrl + \ | 觸發補全列表 |
Ctrl + j | 下一條補全 |
Ctrl + k | 上一條補全 |
九、代碼對齊(tabular)
9.一、插件安裝
方式一: $ cd ~/.vim/bundle $ git clone git://github.com/godlygeek/tabular.git 方式二(Vundle 插件管理): Plugin 'godlygeek/tabular'
9.二、經常使用命令
:Tabularize /, | 逗號(,)對齊,逗號分割的各部分左對齊,逗號兩邊添加至少 1 個空格 |
:Tabularize /,/r1 | 逗號(,)對齊,逗號分割的各部分右對齊,逗號兩邊添加至少 1 個空格 |
:Tabularize /,/l1 | 逗號(,)對齊,逗號分割的各部分左對齊,逗號兩邊添加至少 1 個空格 |
:Tabularize /,/c1 | 逗號(,)對齊,逗號分割的各部分中心對齊,逗號兩邊添加至少 1 個空格 |
:Tabularize /,/r1c1l0 | 逗號(,)對齊,第一個逗號前的文本右對齊,添加 1 個空格;逗號居中對齊,添加 1 個空格;逗號後的文本左對齊,不添加空格 |
:Tabularize /^[^,]*\zs,/r0c0l0 | 第一個逗號(,)對齊,第一個逗號前的文本右對齊,第一個逗號後的全部文本左對齊 |
十、快速添加/刪除註釋(nerdcommenter)
10.一、插件安裝
方式一: $ cd ~/.vim/bundle $ git clone https://github.com/scrooloose/nerdcommenter.git 方式二(Vundle 插件管理): Plugin 'scrooloose/nerdcommenter'
10.二、.vimrc 插件配置
Plugin 'scrooloose/nerdcommenter' let g:NERDSpaceDelims = 1 " 在註釋符號後加一個空格 let g:NERDCompactSexyComs = 1 " 緊湊排布多行註釋 let g:NERDDefaultAlign = 'left' " 逐行註釋左對齊 let g:NERDAltDelims_java = 1 " JAVA 語言使用默認的註釋符號 let g:NERDCustomDelimiters = {'c': {'left': '/*', 'right': '*/'}} " C 語言註釋符號 let g:NERDCommentEmptyLines = 1 " 容許空行註釋 let g:NERDTrimTrailingWhitespace = 1 " 取消註釋時刪除行尾空格 let g:NERDToggleCheckAllLines = 1 " 檢查選中的行操做是否成功
10.三、經常使用快捷鍵
[count]<leader>cc |
註釋當前行起始的 |
[count]<leader>cn |
註釋方式同 <leader>cc,可是強制嵌套 |
[count]<leader>c<space> |
切換所選行的註釋狀態。 若是註釋了最上面的選定行,則取消註釋全部選定行,反之亦然。 |
[count]<leader>cm |
使用一組多行註釋符註釋選定行 |
[count]<leader>ci |
單獨切換所選行的各行註釋狀態 |
[count]<leader>cs |
使用塊格式佈局註釋掉選定的行。 |
<leader>c$ |
註釋從光標到行尾的當前行。 |
<leader>cA |
在行尾添加註釋,並切換至插入模式,光標停留在註釋符中間 |
[count]<leader>cl [count]<leader>cb |
註釋方式同 |
[count]<leader>cu |
取消選定行的註釋 |
十一、代碼動態檢查(ale)
11.一、插件安裝
方式一: $ cd ~/.vim/bundle $ git clone https://github.com/w0rp/ale.git 方式二(Vundle 插件管理): Plugin 'w0rp/ale'
11.二、.vimrc 插件配置
let g:ale_lint_on_text_changed = 'normal' " 代碼更改後啓動檢查 let g:ale_lint_on_insert_leave = 1 " 退出插入模式即檢查 let g:ale_sign_column_always = 1 " 老是顯示動態檢查結果 let g:ale_sign_error = '>>' " error 告警符號 let g:ale_sign_warning = '--' " warning 告警符號 let g:ale_echo_msg_error_str = 'E' " 錯誤顯示字符 let g:ale_echo_msg_warning_str = 'W' " 警告顯示字符 let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' " 告警顯示格式 " C 語言配置檢查參數 let g:ale_c_gcc_options = '-Wall -Werror -O2 -std=c11' let g:ale_c_clang_options = '-Wall -Werror -O2 -std=c11' let g:ale_c_cppcheck_options = '' " C++ 配置檢查參數 let g:ale_cpp_gcc_options = '-Wall -Werror -O2 -std=c++14' let g:ale_cpp_clang_options = '-Wall -Werror -O2 -std=c++14' let g:ale_cpp_cppcheck_options = '' "使用clang對c和c++進行語法檢查,對python使用pylint進行語法檢查 let g:ale_linters = { \ 'c++': ['clang', 'gcc'], \ 'c': ['clang', 'gcc'], \ 'python': ['pylint'], \} " <F9> 觸發/關閉代碼動態檢查 map <F9> :ALEToggle<CR> "普通模式下,ak 前往上一個錯誤或警告,aj 前往下一個錯誤或警告 nmap ak <Plug>(ale_previous_wrap) nmap aj <Plug>(ale_next_wrap) " ad 查看錯誤或警告的詳細信息 nmap ad :ALEDetail<CR>
11.三、經常使用快捷鍵
<F9> | 觸發/關閉代碼動態檢查 |
ak | 前往上一個錯誤或警告 |
aj | 前往下一個錯誤或警告 |
ad | 查看錯誤或警告的詳細信息 |
十二、模糊搜索(fzf.vim)
12.一、插件安裝
方式一(Vundle 插件管理): Plugin 'junegunn/fzf', { 'dir': '~/.vim/bundle/fzf', 'do': './install --all' } Plugin 'junegunn/fzf.vim'
12.二、.vimrc 插件配置
" 調用 Rg 進行搜索,包含隱藏文件 " 此命令依賴 ripgrep,ripgrep 安裝請參照 https://github.com/BurntSushi/ripgrep command! -bang -nargs=* Rg \ call fzf#vim#grep( \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1, \ <bang>0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('right:50%:hidden', '?'), \ <bang>0) " 在當前目錄搜索文件 nnoremap <Leader>f :Files<CR> " 切換 Buffer nnoremap <Leader>b :Buffers<CR> " 在當前全部加載的 Buffer 中搜索包含目標詞的全部行 nnoremap <Leader>l :Lines<CR> " 在當前 Buffer 中搜索包含目標詞的全部行 nnoremap <Leader>bl :BLines<CR> " 在 Vim 打開的歷史文件中搜索,至關因而在 MRU 中搜索 nnoremap <Leader>h :History<CR>
12.三、經常使用快捷鍵
<Leader>f | 在當前目錄搜索文件 |
<Leader>b | 切換 Buffer |
<Leader>l | 在當前全部加載的 Buffer 中搜索包含目標詞的全部行 |
<Leader>bl | 在當前 Buffer 中搜索包含目標詞的全部行 |
<Leader>h | 在 Vim 打開的歷史文件中搜索 |
13.四、經常使用命令
Files [PATH] |
普通文件查找 (similar to :FZF ) |
GFiles [OPTS] |
git文件查找 (git ls-files ) |
GFiles? |
git文件查找 (git status ) |
Buffers |
buffer文件切換 |
Lines [QUERY] |
加載的全部buffer裏查找 |
BLines [QUERY] |
在當前buffer裏查找包含某關鍵詞的行 |
Tags [QUERY] |
以Tag查找 (ctags -R ) |
BTags [QUERY] |
Tags in the current buffer |
History |
oldfiles and open buffers |
Commits |
Git commits (requires fugitive.vim) |
BCommits |
Git commits for the current buffer |
Commands |
Commands |
Helptags |
Help tags |
1三、快速定位(vim-easymotion)
13.一、插件安裝
方式一(Vundle 插件管理): Plugin 'easymotion/vim-easymotion'
13.二、.vimrc 插件配置
let g:EasyMotion_do_mapping = 0 " Disable default mappings let g:EasyMotion_smartcase = 1 " Turn on case-insensitive feature " Find {char}{char} forward and backward at the same time nmap <Leader>s <Plug>(easymotion-sn) xmap <Leader>s <Plug>(easymotion-sn) omap <Leader>s <Plug>(easymotion-sn) " Beginning of word forward and backward nmap <Leader>w <Plug>(easymotion-overwin-w) xmap <Leader>w <Plug>(easymotion-bd-w) omap <Leader>w <Plug>(easymotion-bd-w) " Line downward and upward nmap <Leader>ej <Plug>(easymotion-overwin-line) xmap <Leader>ej <Plug>(easymotion-bd-jk) omap <Leader>ej <Plug>(easymotion-bd-jk) " jump to anywhere in line nmap <Leader>ea <Plug>(easymotion-lineanywhere)
13.三、經常使用快捷鍵
<Leader>s | 搜索字符,字符個數不限,<CR> 結束 |
<Leader>w | 定位到每一個單詞的開始 |
<Leader>ej | 行快速跳轉 |
<Leader>ea | 行內快速定位 |
1三、我的WIKI(vimwiki)
13.一、插件安裝
方式一: $ cd ~/.vim/bundle $ git clone https://github.com/vimwiki/vimwiki.git 方式二(Vundle 插件管理): Plugin 'vimwiki/vimwiki'
13.二、.vimrc 插件配置
13.三、經常使用快捷鍵
<leader>ww | 打開默認的 wiki 目錄文件 |
<leader>wt | 在新標籤(Tab)中打開 wiki 目錄文件 |
<leader>ws | 在多個 wiki 中選擇並打開該 wiki 的目錄文件 |
<leader>wd | 刪除當前 wiki 文件 |
<leader>wr | 重命名當前 wiki 文件 |
<Enter> | 建立或打開 wiki 連接 |
<Shift-Enter> | 先上下分屏再打開 wiki 連接(若非連接則先建立) |
<Ctrl-Enter> | 先左右分屏再打開 wiki 連接(若非連接則先建立) |
<Backspace> | 返回以前瀏覽的 wiki 文件 |
<Tab> | 跳到本文件中下一個 wiki 連接 |
<Shift-Tab> | 跳到本文件中上一個 wiki 連接 |
13.四、經常使用命令
:Vimwiki2HTML | 將當前 wiki 文件轉換成 HTML 網頁 |
:VimwikiAll2HTML | 把全部 wiki 文件轉換成 HTML 網頁 |
:help vimwiki-commands | 顯示所有命令 |