vim显示和更改列表

更改列表,:changes显示,是更改的位置列表,可用g;g,浏览.
g+g-用于撤销列表.可用:undolist显示它.
vim默认关闭永久会话列表.用set undofile来打开.


你部分原因是,@/在函数结束时恢复了.见:help function-search-undo,可从函数中用return searchTerm,并用

autocmd CursorMoved * let @/ = HighlightVisual(mode())

set hls后,要用redraw.因为有时,不重画.
y强制了普通模式,而gv移动光标,导致函数内触发autocmd CursorMoved,因而无穷循环.
我在函数头尾设置并恢复set eventignore=CursorMoved.

function! HighlightVisual(mode)
//自动突出显示当前视觉选择的所有匹配项
    if mode()=~#"^[vV\<C-v>]"
        set eventignore=CursorMoved
        normal "hy
"保存在h中.
        normal gv
        let searchTerm = '\V'.substitute(escape(@h, '\/'), "\n", '\\n', "g")
        let @/ = searchTerm
        call histadd("search", searchTerm)
        set hls
        redraw
        set eventignore=""
    endif
endfunction

autocmd CursorMoved * :call HighlightVisual(mode())
vnoremap <silent> <ESC> :<C-u>set nohlsearch<CR>

:help zip,加vimzip中.

:execute "e $HOME/foo/bar/target-" . strftime("%Y-%m-%d") . ".txt"

可用:command!创建命令,或nnoremap <C-s>映射键.
^[C-v-esc,而^IC-v-tab.

export MANPAGER="vim -M +MANPAGER -c 'syntax off' -"
//-c额外配置.

系统:

let [w, h] = system("xrandr --query | grep ' connected primary'")->
    matchlist('\d\+x\d\+')[0]->
    split('x')->
    map({_, v -> str2nr(v)})

vim9寄存器:

vim9script
def ReadReg(file: string)
  readfile(file)->mapnew((_, line) => {
    var [reg, content] = split(line, ': ')
    execute $'@{reg} = {content}'
  })
enddef

/\<cat\>,/\v<cat>,\v可减少<>+()的转义.
:%s/\S\+\s*$/\l&/,匹配非空格,

:%norm!$Bgul

调整文件类型设置:

" ~/.vim/after/ftplugin/text.vim"

setlocal formatoptions-=t

" 不要忘了调整b:undo_ftplugin"

组外的autocmd!删除所有非组内(默认组)的自动命令.

autocmd! BufWrite * :echom "Cats"

删除所有未归组的BufWrite *,并加单个:echom "Cats"命令.
autocmd中从BufWrite改为BufWritePost时,空的autocmd!会删除BufWrite,并保留BufWritePost.而特定事件或命令的autocmd!会保留BufWrite/BufWritePost.它仅删匹配的BufWritePost.

:nnoremap cd /\d\+<enter>cgn
//修改数字.

位置列表是窗口本地快速修复列表

posted @   zjh6  阅读(22)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示