VIM

q1 记录宏1 q停止记录

ctrl+a 对数字进行加一操作。这里它会增加第二行中的数字

ctrl+v 进入可视化块模式,允许用户选择一个文本块24l4jd$p

​ 24l4j 选择向右移动24次数,向下4行 kjhl

​ d:删除(cut)高亮选中的块

​ $:将光标移动到当前行的行尾。

​ p:在光标位置之后粘贴之前删除的文本块

vim .vimrc

setlocal noswapfile “ 不要生成swap文件

set bufhidden=hide “ 当buffer被丢弃的时候隐藏它

colorscheme evening “ 设定配色方案

set number “ 显示行号

set cursorline “ 突出显示当前行

set ruler “ 打开状态栏标尺

set shiftwidth=2 “ 设定 << 和 >> 命令移动时的宽度为 2

set softtabstop=2 “ 使得按退格键时可以一次删掉 2 个空格

set tabstop=2 “ 设定 tab 长度为 2

set nobackup “ 覆盖文件时不备份

set autochdir “ 自动切换当前目录为当前文件所在的目录

set backupcopy=yes “ 设置备份时的行为为覆盖

set hlsearch “ 搜索时高亮显示被找到的文本

set noerrorbells “ 关闭错误信息响铃

set novisualbell “ 关闭使用可视响铃代替呼叫

set t_vb= “ 置空错误铃声的终端代码

set matchtime=2 “ 短暂跳转到匹配括号的时间

set magic “ 设置魔术

set smartindent “ 开启新行时使用智能自动缩进

set backspace=indent,eol,start “ 不设定在插入状态无法用退格键和 Delete 键删除回车符

set cmdheight=1 “ 设定命令行的行数为 1

set laststatus=2 “ 显示状态栏 (默认值为 1, 无法显示状态栏)

set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%) “ 设置在状态行显示的信息

set foldenable “ 开始折叠

set foldmethod=syntax “ 设置语法折叠

set foldcolumn=0 “ 设置折叠区域的宽度

setlocal foldlevel=1 “ 设置折叠层数为 1

nnoremap @=((foldclosed(line(‘.’)) < 0) ? ‘zc’ : ‘zo’) “ 用空格键来开关折叠

~/.vim/autoload/它是一个非常重要的目录,尽管听起来比实际复杂。简而言之,它里面放置的是当你真正需要的时候才被自动加载运行的文件,而不是在vim启动时就加载。

~/.vim/colors/是用来存放vim配色方案的。

~/.vim/plugin/存放的是每次启动vim都会被运行一次的插件,也就是说只要你想在vim启动时就运行的插件就放在这个目录下。我们可以放从vim-plug官方下载下来的插件.vim

~/.vim/syntax/语法描述脚本。我们放有关文本(比如c语言)语法相关的插件

~/.vim/doc/为插件放置文档的地方。例如:help的时候可以用到。

~/.vim/ftdetect/中的文件同样也会在vim启动时就运行。有些时候可能没有这个目录。ftdetect代表的是“filetype detection(文件类型检测)”。此目录中的文件应该用自动命令(autocommands)来检测和设置文件的类型,除此之外并无其他。也就是说,它们只该有一两行而已。

/.vim/ftplugin/此目录中的文件有些不同。当vim给缓冲区的filetype设置一个值时,vim将会在/.vim/ftplugin/ 目录下来查找和filetype相同名字的文件。例如你运行set filetype=derp这条命令后,vim将查找/.vim/ftplugin/derp.vim此文件,如果存在就运行它。不仅如此,它还会运行ftplugin下相同名字的子目录中的所有文件,如/.vim/ftplugin/derp/这个文件夹下的文件都会被运行。每次启用时,应该为不同的文件类型设置局部缓冲选项,如果设置为全局缓冲选项的话,将会覆盖所有打开的缓冲区。

~/.vim/indent/这里面的文件和ftplugin中的很像,它们也是根据它们的名字来加载的。它放置了相关文件类型的缩进。例如python应该怎么缩进,java应该怎么缩进等等。其实放在ftplugin中也可以,但单独列出来只是为了方便文件管理和理解。

~/.vim/compiler/和indent很像,它放的是相应文件类型应该如何编译的选项。

/.vim/after/这里面的文件也会在vim每次启动的时候加载,不过是等待/.vim/plugin/加载完成之后才加载after里的内容,所以叫做after。

~/.vim/spell/拼写检查脚本。