我想根据上下文分配不同的命令。
我正在尝试做这样的事情:
if line is empty:
map x key to y command
else
map x key to z command
我想根据上下文分配不同的命令。
我正在尝试做这样的事情:
if line is empty:
map x key to y command
else
map x key to z command
它通常通过<expr>
映射来实现:
nnoremap <expr> ((empty(getline('.')))?('y'):('z'))
当你要使用 NerdCommenter 时,你被迫不要使用“nore”:
nmap <expr> empty(getline('.')) ? '' : '\cc'
替换''
为所需的代码,因为我不明白您所说的“附加评论”是什么意思。
更好的方法是使用单个函数,其行为取决于行的内容。然后你不必为不同的映射而烦恼。例如:
function! LineOperation()
let curline=getline('.')
if curline =~ '^\s*$'
" empty line (except for whitespace): perform y command
else
" perform z command
endif
endfunction
然后映射所需的键来调用这个函数:
nnoremap <silent> x :call LineOperation()<CR>