vim tips

隐藏

前言

有些不太常见的vim技巧总会忘掉,故写此文总结。常用的就不记录了,此处仅记录不那么常见但又很有用的地方

知识点

tab windows buffer

  • A buffer is the in-memory text of a file.
  • A window is a viewport on a buffer.
  • A tab page is a collection of windows.

调试

verbose

:verbose 命令可以查看某设置具体在哪个配置文件中生效,例如:

:verbose hi 就能知道highlight配置在哪个文件被设置, 同样的:verbose nmap kk 就能知道快捷键kk在哪个文件设置, 其他的比如:verbose set syntax之类不一一列举

设置verbose级别可以查看详细调试信息,例如:

:set verbose=9 将打印很多调试信息,需要时可以试试

tags

为了判断是否已经生成tags用于跳转,可以用如下命令

:echo taglist("/*")

map

查看所有的map可以用:map, 查看normal mode下所有的map可以用:nmap, 查看所有以,开头的map可以用:map ,

然而不足之处是查询结果不能进一步搜索,参考资料:

https://stackoverflow.com/questions/24842063/how-to-search-in-the-vim-mapping-listing

https://vi.stackexchange.com/questions/5729/how-can-i-perform-a-search-when-vim-displays-content-using-more-pager

https://github.com/neovim/neovim/issues/5054

以及:h pager

但当前并未找到满意的解决办法,所以vim自带的pager功能无法搜索的问题,只能期待编辑器今后加强。

解决map不能搜索的问题,插件fzf.vim,提供:Map 等功能,非常方便!

runtime path

查看vim启动中所有查找的runtime path位置

:echo &runtimepath

但是这样会出现vim内置的more-prompt页,此页目前不支持查找之类的操作, 所以非常不方便,因此最好的方式是将页面内容保存到一个新的文件里。 可以先用vim打开一个新文件,然后执行

:put=execute('echo &runtimepath')

接下来可执行的操作就非常丰富了。

swap

查看swap文件信息: vim -r

删除swap文件的方式,原本想通过set directory修改默认存储swap文件的位置,但是这样依然麻烦,

其实只需要先[R]ecover file, 然后:e 出现选项,选择[D]elete swap file 即可。

参见 https://superuser.com/questions/480367/whats-the-easiest-way-to-delete-vim-swapfiles-ive-already-recovered-from?answertab=votes#tab-top

启动速度

当vim启动比较慢时,可以用如下命令测试启动速度,查看那个配置产生的影响:

vim --startuptime output.txt FILE

配置技巧

配色

对于terminal,常见256的配色,256颜色表参见:https://en.wikipedia.org/wiki/File:Xterm_256color_chart.svg

显示当前vim的配色方案用:hi,即显示highlight

操作技巧

VISUAL模式下移动

在VISUAL模式下,使用o命令,可以切换光标到可视块的顶部/底部。

打开网页或

参见 :help netrw_gx

  • 如文本中出现url(带http协议头),则在该url下按gx用默认浏览器打开网址
  • 如果在NerdTree或netrw中,找到某个文件后按gx,则用默认程序打开该文件,不过比较弱,对含有空格的文件支持不好

编辑

连接两行

J即可连接前后两行,但是这两行之间会多出一个空格,如果不希望连接时含有空格可以用gJ

递增/递减光标下的数字

normal模式下Ctrl + a 递增光标下的整数,Ctrl + x 递减光标下的整数

文本中输入命令行结果

  • :r !pwd 文本中输入当前目录
  • :r !tree 文本输入当前目录tree命令返回的结果

窗口互换

有时比如上下两窗口一个看头文件一个看实现,位置反了很别扭,用Ctrl-W + x

-----EOF-----

Categories: tools Tags: vim tips