Vim代码片断

来自百合仙子's Wiki
跳转到导航 跳转到搜索

一些Vim技巧。

配置

获得焦点时不要移动光标

au FocusGained * call getchar(0)

文件操作

保存已编辑但权限不够的文件

注意这样不会保留备份。

w !sudo tee %

来源:LinuxToy: 10 个最酷的 Linux 单行命令

注意在 gvim 中使用时 sudo 要加 -S 参数,否则它将无法读取密码。

插件

Align.vim

按空白对齐,每第三列右对齐

Align! llrp0P0 \s\+

Vimscript

获取选中的文本(一行内)

fun! Get()
  let begin = searchpos('\(\%V\@<!.\|^\)\%V', 'nw')
  let end = searchpos('\%V.\%V\@!', 'nw')
  if begin[0] == end[0]
    let line = getline('.')
    echo '[' . strpart(line, begin[1], end[1]-begin[1]) . ']'
  endif
  return ''
endfun
vnoremap <expr> <space> Get()

参见