我在 vim 中设置了 mapleader,如下所示
let mapleader = ","
当我尝试
:echo mapleader
它显示,
正确
但以下不起作用
nnoremap <leader>a :echo("\<leader\> works! It is set to <leader>")<CR>
由于无法正确设置领导者,因此我无法使用 vimwiki。
经过大量的 Google 搜索后,我感到很沮丧。请帮忙。
我还安装了 gvim 来使用 vimwiki。设置的所有多个 wiki 都可以通过 gvim 访问,但不能通过 vim 访问。
以下是我的 vimrc 文件
" -----------------------------------------------------------------------------
" To make vimwiki properly
" -----------------------------------------------------------------------------
set nocompatible " put it on
filetype plugin on
syntax on
" -----------------------------------------------------------------------------
" end: To make vimwiki properly
" -----------------------------------------------------------------------------
set number " line numbers
set hlsearch " Highlight search results
set incsearch " set increment search
set ignorecase " case insensitive search, use \C anywhere with no space for case sensitive search
filetype off " required
" -----------------------------------------------------------------------------
" Basic mappings
" -----------------------------------------------------------------------------
let mapleader = ","
nnoremap <leader>a :echo("\<leader\> works! It is set to <leader>")<CR>
" -----------------------------------------------------------------------------
" start : Plugins
" -----------------------------------------------------------------------------
" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree' " Navigate and manipulate files in a tree view.
Plug 'gruvbox-community/gruvbox' " Gruvbox theme.
Plug 'junegunn/limelight.vim' " Dim paragraphs above and below the active paragraph.
Plug 'junegunn/goyo.vim' " Distraction free writing by removing UI elements and centering everything.
Plug 'vimwiki/vimwiki'
Plug 'godlygeek/tabular' "The tabular plugin must come before vim-markdown.
Plug 'plasticboy/vim-markdown' "The tabular plugin must come before vim-markdown.
call plug#end()
" -----------------------------------------------------------------------------
" End : Plugins
" -----------------------------------------------------------------------------
nmap <F6> :NERDTreeToggle<CR> " open or close nerd tree by pressing F6
nmap <Leader>w <Plug>VimwikiIndex
nmap <Leader>dy <Plug>VimwikiMakeYesterdayDiaryNote
" -----------------------------------------------------------------------------
" start : Status line
" -----------------------------------------------------------------------------
" Heavily inspired by: https://github.com/junegunn/dotfiles/blob/master/vimrc
function! s:statusline_expr()
let mod = "%{&modified ? '[+] ' : !&modifiable ? '[x] ' : ''}"
let ro = "%{&readonly ? '[RO] ' : ''}"
let ft = "%{len(&filetype) ? '['.&filetype.'] ' : ''}"
let fug = "%{exists('g:loaded_fugitive') ? fugitive#statusline() : ''}"
let sep = ' %= '
let pos = ' %-12(%l : %c%V%) '
let pct = ' %P'
return '[%n] %f %<'.mod.ro.ft.fug.sep.pos.'%*'.pct
endfunction
let &statusline = s:statusline_expr()
" -----------------------------------------------------------------------------
" end : Status line
" -----------------------------------------------------------------------------
" -----------------------------------------------------------------------------
" start : Color settings
" -----------------------------------------------------------------------------
colorscheme gruvbox
" For Gruvbox to look correct in terminal Vim you'll want to source a palette
" script that comes with the Gruvbox plugin.
"
" Add this to your ~/.profile file:
" source "$HOME/.vim/plugged/gruvbox/gruvbox_256palette.sh"
" Gruvbox comes with both a dark and light theme.
set background=dark
" Gruvbox has 'hard', 'medium' (default) and 'soft' contrast options.
let g:gruvbox_contrast_light='hard'
" This needs to come last, otherwise the colors aren't correct.
syntax on
" -----------------------------------------------------------------------------
" end : Color settings
" -----------------------------------------------------------------------------
" -----------------------------------------------------------------------------
" start : vimwiki
" -----------------------------------------------------------------------------
" vimwiki/vimwiki markdown syntax
" let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
" start: vimwiki multiple wikis
let wiki_1 = {}
let wiki_1.path = '~/vimwiki/'
let wiki_1.path_html = '~/vimwiki_html/'
let wiki_2 = {}
let wiki_2.path = '~/vimwiki/private/'
let wiki_2.path_html = '~/vimwiki/private_html/'
let wiki_3 = {}
let wiki_3.path = '~/vimwiki/technical/'
let wiki_3.path_html = '~/vimwiki/technical_html/'
let g:vimwiki_list = [wiki_1, wiki_2, wiki_3]
" end: vim multiple wikis
" -----------------------------------------------------------------------------
" end : vimwiki
" -----------------------------------------------------------------------------
答案1
在 .vimrc 中添加以下行解决了我的问题
let g:mapleader = ","
答案2
我发现我得到了输出
<leader> works! It is set to ','
设置后
:let mapleader = ","
:nnoremap <leader>a :echo("\<leader\> works! It is set to '<leader>'")<CR>
我之前遇到了与引号相关的错误。
就我个人而言,我发现使用
map , <Leader>
,a
在测试时vim
一定要:source vimrc
查看所实施的更改vimrc
。