set laststatus=2 " 设置状态栏在倒数第2行
set statusline=%<%F%=%y%m%r%h%w%{&ff}\[%{&fenc}]0x%02B@%040h#%n\(%3l/%3L,%3c\|%3v\)%3p%%
set statusline=%1*\%<%.100F\ "显示文件名和文件路径
set statusline+=%=%2*\%y%m%r%h%w\ %* "显示文件类型及文件状态
set statusline+=%3*\%{&ff}\[%{&fenc}]\ %* "显示文件编码类型
set statusline+=%4*\ row:%l/%L,col:%c\ %* "显示光标所在行和列
set statusline+=%5*\%3p%%\%* "显示光标前文本所占总文本的比例
快捷键
%s/string//gn 获取匹配string的数目
vsplit 垂直切分窗口
split 水平切分窗口
ctrl + w + j/k 切换窗口
Ex 开启目录浏览器 bdelete退出Ex但不会退出vim
bn切换文件: b1 b2
grep'string1\|string2' 可以查两个字符串
vim-o file1 file2 多窗口打开文件
gt gT窗口切换
0 移动行首
$移动行尾
zh 向左移动 10zh
zl 向右移动 10zl
Ctrl + shift +v 进入列选模式,按G,选中第一列,用左右键控制
u撤销操作
tabnew <文件名> 在新标签页中编辑新的文件
:tabc 关闭当前标签页。
:tabo 关闭所有的标签页
sp file水平打开文件
vsp file垂直打开文件
Ctrl + w + h/j/k/l 左下上右 或者ctrl + w + w
res+/- 10 调整窗口大小
100,120 w>>filename 复制到另外filename文件中,追加
100,120 w filename 复制到另外filename文件中,新写
100,$d删除100行后面所有内容
(1)删除包含特定字符的行
:g/pattern/d(全局范围内)
:1,20g/pattern/d(删除1~20行内匹配的行)
(2)删除不匹配的行
:v/pattern/d
:g!/pattern/d
书签
m{a-zA-Z} -> 保存书签,小写的是文件书签,可以用(a-z)中的任何字母标记。大写的是全局 书签,用大写的(A-Z)中任意字母标记。(mark position as bookmark. when lower, only stay in file. when upper, stay in global)
‘{a-zA-Z} -> 跳转到某个书签。如果是全局书签,则会开启被书签标记的文件跳转至标记的行 (go to mark. infile{a-z} or global {A-Z}. in global, it will open the file)
’0 -> 跳转入现在编辑的文件中上次退出的位置 (go to last exitinfile)
” -> 跳转如最后一次跳转的位置 (go to last jump -> go back to last jump)
‘” -> 跳转至最后一次编辑的位置 (go to last edit)
g’{mark} -> 跳转到书签 (jump to {mark})
:delm{marks} -> 删除一个书签 (delete a mark) 例如:delma那么就删除了书签a
:delm! -> 删除全部书签 (delete all marks)
:marks -> 显示系统全部书签 (show all bookmarks)