1. 缓冲区
文件和缓冲区的区别
vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区,
当使用vim的保存命令时,vim才将缓冲区写回给文件。
操作缓冲区
命令 | 用途 |
---|---|
:bprev | 跳转到前一个buffer |
:bnext | 跳转到后一个buffer |
:bfirst | 跳转到第一个buffer |
:blast | 跳转到最后一个buffer |
:w | 将当前buffer写入文件 |
:e | 重新将文件内容加载到缓冲区(回滚buffer修改) |
:qa! | 关闭所有buffer,且不保存 |
:wa! | 保存所有buffer |
2. 窗口
在Vim 术语中,窗口是缓冲区的显示区域。既可以打开多个窗口,在这些窗口中显示同一个缓冲区,
也可以在每个窗口里载入不同的缓冲区。Vim 的窗口管理系统很灵活,可以根据工作的需要来调整
工作区。
操作窗口
命令 | 用途 |
---|---|
|
水平切分当前窗口,新窗口仍显示当前缓冲区 |
|
水平切分当前窗口,新窗口仍显示当前缓冲区 |
sp | 水平切分当前窗口,新窗口仍显示当前缓冲区 |
vsp | 水平切分当前窗口,新窗口仍显示当前缓冲区 |
|
在窗口间循环切换 |
|
切换到左边的窗口 |
|
切换到下边的窗口 |
|
切换到上边的窗口 |
|
切换到右边的窗口 |
|
关闭活动窗口 |
|
只保留活动窗口,关闭其他所有窗口 |
3. 标签页
Vim 的标签页接口和其他许多文本编辑器不同,在Vim中,可以用标签页把窗口组织到一系列工作区中。
典型文本编辑器的图形界面(GUI)有一个用于编辑文件的主工作区,还有一个显示当前工程目录树的侧边栏。
如果点击侧边栏中的文件,它会在主工作区为所选中的文件打开一个新标签页。每个打开的文件都会创建一个新
标签页。在此模型中,可以说标签页代表了当前打开的文件。
Vim 的标签页与缓冲区并非一一对应的关系,相反,应该把标签页想成容纳一系列窗口的容器。每个标签页都可
包含一个或多个窗口。
操作标签页
命令 | 用途 |
---|---|
:tabe[dit] {filename} | 在新标签页中打开 {filename} |
:tabc[lose] | 关闭当前标签页及其中的所有窗口 |
:tabo[nly] {filename} | 只保留活动标签页,关闭所有其他标签页 |
:tabn[ext] {N} | 切换到编号为 {N} 的标签页 |
:tabn[ext] | 切换到下一标签页 |
:tabp[revIoUs] | 切换到上一标签页 |
4. 设置一下热键
在~/.vimrc
配置一些热键
" 窗口快捷方式 map <s-h> <c-w>h map <s-l> <c-w>l map <s-j> <c-w>j map <s-k> <c-w>k map <s-w> <c-w>w map <s-c> <c-w>c map <s-o> <c-w>o " buffer 快捷方式 nnoremap <leader>bn :bn<CR> nnoremap <leader>bb :bp<CR> nnoremap <leader>bf :bfirst<CR> nnoremap <leader>bl :blast<CR> nnoremap <leader>bc :bwipe<CR> " 标签页快捷方式 nnoremap <leader>tp :tabp<CR> nnoremap <leader>tn :tabn<CR> nnoremap <leader>tc :tabc<CR> nnoremap <leader>to :tabo<CR> nnoremap <leader>tN :tabn nnoremap <leader>te :tabn
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。