我需要C-x在 Vim 中重新映射以在某些 Windows 编辑器中表现得像:
- 在可视模式下,它应该剪切选定的文本。
- 在正常模式下,它应该剪切当前行,前提是它不是空白的。
- 应该删除一个空白行并将其放入黑洞注册表中。
我需要C-x在 Vim 中重新映射以在某些 Windows 编辑器中表现得像:
" Source distribution script in $VIMRUNTIME directory
:runtime mswin.vim
if has('clipboard')
nmap <silent> <C-X> :call CutNonEmptyLineToClipboard()<CR>
" If the current line is non-empty cut it to the clipboard.
" Else do nothing.
function! CutNonEmptyLineToClipboard()
if strlen(getline('.')) != 0
normal 0"*D
endif
endfunction
endif
更新版本如下。不得不谷歌“黑洞寄存器”,我不知道。(谢谢!)我还放了一个不同的空行匹配器。选择最适合你的版本。
if has('clipboard')
nmap <silent> <C-X> :call CutNonEmptyLineToClipboard()<CR>
" If the current line is non-empty cut it out into the clipboard.
" Else delete it into the black hole register (named _).
function! CutNonEmptyLineToClipboard()
" Test if the current line is non-empty
" if strlen(getline('.')) != 0
if match(getline('.'), '^\s*$') == -1
normal 0"*D
else
normal "_dd
endif
endfunction
endif