Vim自定义配置(一)

通过精简vimrc,加入自定义配置,使得vim更符合我的习惯。

方便编辑:

function! Test_Dir_Exist()
  let dir = expand('%:p:h')
  if !isdirectory(dir)
    call mkdir(dir, 'p')
    echom 'Created non-existing directory: '.dir
  endif
endfunction

augroup Utility
    autocmd BufWritePre * call Test_Dir_Exist()
    autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
augroup END

很简单的函数,当保存的文件处于未创建的目录,自动创建之(默认是错误)

第二个自动命令是自动跳转到最后编辑处,这里只是简单地使用了位置标记"的作用

特殊标记

标记 含义
[ 上一次改变或抽取的文本的第一个字符
] 上一次改变或抽取的文本的最后一个字符
< 上次可视区域的第一个字符
> 上次可视区域的最后一个字符
` 上次跳转的位置
" 上次离开本缓冲区的光标位置
^ 上次退出插入模式的光标位置

这些标记可以组合有趣的映射比如:

1
nnoremap gv `[v`]

转大写

1
nnoremap <leader>u viwU

通常也就是写宏的时候需要用到,如果只需要大小写切换用~替换U。

发表于 2018-07-15
JS
Arrow Up