vim的基本使用
vim有三种模式命令模式,插入模式,底线命令模式,不同的模式敲击键盘会有不同的作用
在刚刚进入vim的时候,默认就是进入命令模式,敲击键盘的时候vim会将键盘动作认定为命令
一些基本的命令
hjkl, i, esc, :wq
额外的命令
移动命令:wb,{},$^(行尾和行首),gg,G,#(反向查找),[位置]+gg
进入插入模式:a, shift + a, shift + i, o, O, s, S
替换:r,R
复制:y,yy
粘贴:p,P
删除:d,dd,x
撤销、重做:u,ctrl+r
标记、跳到标记:m+标记,‘+标记
翻页:ctrl+f ctrl+b 向前/后翻一页 ctrl+u ctrl+d 向上/向下翻半页
数字+操作=将操作做数字次
切换主题 :colorscheme 空格+tab
录制宏
在命令模式下输入
qa或者qb...,其中a、b这些是vim的寄存器
输入之后vim就开始录制,录制结束点击q就可以了
@+寄存器名称即可播放宏 ,前面加数字可以播放这个宏数字次
分屏
水平分屏:sp filename
垂直分屏:vsp filename
新建一个分屏: 水平新建 :new 垂直新建 :vnew
关闭分屏:保留当前的分屏关闭其它分屏 :only 关闭当前分屏 :hide
分屏打开多个文件 vim -On file1, file2 (垂直) vim -on file1, file2(水平)
切换分屏 ctrl+w+w
文本搜索以及替换
在命令模式下输入/则进入查找模式,输入要查找的字符按下回车键就会跳转到第一个匹配,n表示查找下一个,N表示查找上一个
查找模式支持正则表达式,例如:xxxx$ 则是查找以xxxx结尾的文本
:{搜索范围}s/{目标}/{替换}/{替换标志}
搜索范围%代表对全部文本进行替换,或者s,t 代表从s行到t行进行替换
替换标志:g全局替换 gc 每次替换前需要确认
.vim文件
syntax on
set nu
set mouse=a // 启用鼠标
set ci // 复制缩排
set si // 智能缩排
set ai // 自动对齐
set ts=4 // 设置tab为四个空格
set noexpandtab // 在插入模式下,按下tab会自动调整空格数量,而不是非常生硬的ts个
imap jj <ESC>
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec '!g++ % -o %<'
exec '!time ./%<'
elseif &filetype == 'cpp'
exec '!g++ % -o %<'
exec '!time ./%<'
elseif &filetype == 'python'
exec '!time python ./%'
elseif &filetype == 'sh'
:!time bash ./%
endif
endfunc