zoukankan      html  css  js  c++  java
  • 4. VIM 系列

    1. 缓冲区

    文件和缓冲区的区别

    vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区,
    当使用vim的保存命令时,vim才将缓冲区写回给文件。

    操作缓冲区

    命令 用途
    :bprev 跳转到前一个buffer
    :bnext 跳转到后一个buffer
    :bfirst 跳转到第一个buffer
    :blast 跳转到最后一个buffer
    :w 将当前buffer写入文件
    :e 重新将文件内容加载到缓冲区(回滚buffer修改)
    :qa! 关闭所有buffer,且不保存
    :wa! 保存所有buffer

    2. 窗口

    在Vim 术语中,窗口是缓冲区的显示区域。既可以打开多个窗口,在这些窗口中显示同一个缓冲区,
    也可以在每个窗口里载入不同的缓冲区。Vim 的窗口管理系统很灵活,可以根据工作的需要来调整
    工作区。

    操作窗口

    命令 用途
    s 水平切分当前窗口,新窗口仍显示当前缓冲区
    v 水平切分当前窗口,新窗口仍显示当前缓冲区
    sp 水平切分当前窗口,新窗口仍显示当前缓冲区
    vsp 水平切分当前窗口,新窗口仍显示当前缓冲区
    w 在窗口间循环切换
    h 切换到左边的窗口
    j 切换到下边的窗口
    k 切换到上边的窗口
    l 切换到右边的窗口
    c 关闭活动窗口
    o 只保留活动窗口,关闭其他所有窗口

    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 :tabe
    
    
  • 相关阅读:
    【故障处理】ORA-12162: TNS:net service name is incorrectly specified (转)
    android studio 编程中用到的快捷键
    java时间格式串
    android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
    linux安装vmware
    x1c 2017 安装mint18的坑——grub2
    x1c2017 8G版 win linux的取舍纠结记录
    python的try finally (还真不简单)
    kafka+docker+python
    json文件不能有注释
  • 原文地址:https://www.cnblogs.com/standardzero/p/10720922.html
Copyright © 2011-2022 走看看