vim常用命令
- 切换到插入模式:i I a A o O
- 称动光标:h j k l 0 $ H M L
- 删除:x X d0 d^ dd ndd dG dgg :a,bd
- 撤销与恢复:u U :e! ctrl+R
- 定位:G nG
- 复制粘贴:yy nyy p
- 搜索:/str ?str * # n N
- 替换:%s/a/b/g
- 分屏与退出:sp vsp Ve Ve! He He! Te gt gT :q :qa :on
- 调整窗口大小::res+10 :vertical res-5
- 屏幕滚动:ctrl+u ctrl+d ctrl+f ctrl+b
- 临时标记:m
- 多行移动与复制:x,y m z x,y co z
- 切换大小写:~ g~~
- 常用set选项:nu ai cindent sw ts ic expandtab all
- 16进制编辑::%!xxd %!xxd -r
- 把光标所在行置于屏幕中间:zz
- 编译与排错::make :cw :cn :cp
- 代码搜索::grep xxx ./*.c :cw
- 边界线::set cc=100
VIM中文乱码问题
set fileencodings=utf-8,ucs-bom,gbk,cp936
set termencoding=utf-8
set encoding=utf-8
记录退出时位置
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal g'\"" | endif
endif
复制贴粘
- 整行复制直接用nyy,p贴粘,也可用命令:n1,n2co.
- 跨行选择部分文字建议先按v进入可视模式,再选择文本,按y复制
快速运行
""""""""""""""""""
"Quick Run
""""""""""""""""""
nnoremap <F5> :call CompileRun()<CR>
function CompileRun()
exec "w"
if &filetype == "c"
exec "!gcc % -o %<"
exec "!./%<"
elseif &filetype == "cpp"
exec "!g++ -std=c++11 % -o %<"
exec "!./%<"
elseif &filetype == "sh"
:!bash %
elseif &filetype == "python"
exec "!python %"
elseif &filetype == "go"
exec "!go run %"
endif
endfunction
其他常用
- 忘记用sudo打开导致无法保存
输入:w !sudo tee %
回车即可。
- 隐藏但不删除dos文件的换行符
输入:ed ++ff=dos
回车即可。